This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Add an ia64 gas testcase for @nat|@qnan


On Sun, Feb 13, 2005 at 10:42:15AM -0800, H. J. Lu wrote:
> On Sun, Feb 13, 2005 at 09:18:34AM -0800, H. J. Lu wrote:
> > After applied 2 patches enclosed here, I can compile glibc in CVS. But
> > I got so many failures in "make check":
> > 
> > make[4]: ***
> > [/export/build/gnu/glibc-nptl/build-ia64-linux/math/basic-test.out]
> > Error 1
> > make[4]: ***
> > [/export/build/gnu/glibc-nptl/build-ia64-linux/math/test-double.out]
> > Error 1
> > make[4]: ***
> > [/export/build/gnu/glibc-nptl/build-ia64-linux/math/test-float.out]
> > Error 1
> > make[4]: ***
> > [/export/build/gnu/glibc-nptl/build-ia64-linux/math/test-idouble.out]
> > Error 1
> > make[4]: ***
> > [/export/build/gnu/glibc-nptl/build-ia64-linux/math/test-ifloat.out]
> > Error 1
> > make[4]: ***
> > [/export/build/gnu/glibc-nptl/build-ia64-linux/math/test-ldouble.out]
> > Error 1
> > make[4]: ***
> > [/export/build/gnu/glibc-nptl/build-ia64-linux/math/test-ildoubl.out]
> > Error 1
> > make[3]: *** [math/xtests] Error 2
> > make[4]: ***
> > [/export/build/gnu/glibc-nptl/build-ia64-linux/stdio-common/tstscanf.out]
> > Error 1
> > make[4]: ***
> > [/export/build/gnu/glibc-nptl/build-ia64-linux/stdio-common/tstdiomisc.out]
> > Error 1
> > 
> > It looks like the math functions are wrong. Replacing the new assembler
> > with the old one fixes the problem.
> > 
> 
> The problem is caused by
> 
> http://sourceware.org/ml/binutils/2005-02/msg00122.html
> 
> Gas no longer handles
> 
> fclass.m p6, p7 = farg0, @inf|@pos
> 
> correctly. Jan, could you please fix it?
> 

I am going to check in this testcase to catch the error.


H.J.
----
2005-02-13  H.J. Lu  <hongjiu.lu@intel.com>

	* gas/ia64/ia64.exp: Add "operand-or".

	* gas/ia64/operand-or.d: New file.
	* gas/ia64/operand-or.s: Likewise.

--- gas/testsuite/gas/ia64/ia64.exp.or	2005-02-11 13:21:20.000000000 -0800
+++ gas/testsuite/gas/ia64/ia64.exp	2005-02-13 11:18:23.604690961 -0800
@@ -72,4 +72,6 @@ if [istarget "ia64-*"] then {
     run_list_test "unwind-err" "-munwind-check=error"
     run_list_test "hint.b-err" ""
     run_list_test "hint.b-warn" "-mhint.b=warning"
+
+    run_dump_test "operand-or"
 }
--- gas/testsuite/gas/ia64/operand-or.d.or	2005-02-13 11:18:23.604690961 -0800
+++ gas/testsuite/gas/ia64/operand-or.d	2005-02-13 11:18:23.604690961 -0800
@@ -0,0 +1,29 @@
+# objdump: -d --disassemble-zeroes
+# name: ia64 operand-or
+
+.*: +file format .*
+
+Disassembly of section \.text:
+
+0+000 <_start>:
+   0:	1c 00 00 00 01 00 	\[MFB\]       nop\.m 0x0
+   6:	30 20 80 09 28 00 	            fclass\.m p3,p4=f4,0x180
+   c:	00 00 00 20       	            nop\.b 0x0
+  10:	1c 00 00 00 01 00 	\[MFB\]       nop\.m 0x0
+  16:	30 20 c0 09 28 00 	            fclass\.m p3,p4=f4,0x1c0
+  1c:	00 00 00 20       	            nop\.b 0x0
+  20:	1c 00 00 00 01 00 	\[MFB\]       nop\.m 0x0
+  26:	30 20 c0 89 28 00 	            fclass\.m p3,p4=f4,0x1c1
+  2c:	00 00 00 20       	            nop\.b 0x0
+  30:	1c 00 00 00 01 00 	\[MFB\]       nop\.m 0x0
+  36:	30 20 c0 89 29 00 	            fclass\.m p3,p4=f4,0x1c3
+  3c:	00 00 00 20       	            nop\.b 0x0
+  40:	1c 00 00 00 01 00 	\[MFB\]       nop\.m 0x0
+  46:	30 20 c8 89 29 00 	            fclass\.m p3,p4=f4,0x1cb
+  4c:	00 00 00 20       	            nop\.b 0x0
+  50:	1c 00 00 00 01 00 	\[MFB\]       nop\.m 0x0
+  56:	30 20 d8 89 29 00 	            fclass\.m p3,p4=f4,0x1db
+  5c:	00 00 00 20       	            nop\.b 0x0
+  60:	1d 00 00 00 01 00 	\[MFB\]       nop\.m 0x0
+  66:	30 20 f8 89 29 00 	            fclass\.m p3,p4=f4,0x1fb
+  6c:	00 00 00 20       	            nop\.b 0x0;;
--- gas/testsuite/gas/ia64/operand-or.s.or	2005-02-13 11:18:23.605690831 -0800
+++ gas/testsuite/gas/ia64/operand-or.s	2005-02-13 11:18:23.605690831 -0800
@@ -0,0 +1,11 @@
+.text
+	.type _start,@function
+_start:
+
+	fclass.m p3, p4 = f4, @nat|@qnan
+	fclass.m p3, p4 = f4, @nat|@qnan|@snan
+	fclass.m p3, p4 = f4, @nat|@qnan|@snan|@pos
+	fclass.m p3, p4 = f4, @nat|@qnan|@snan|@pos|@neg
+	fclass.m p3, p4 = f4, @nat|@qnan|@snan|@pos|@neg|@unorm
+	fclass.m p3, p4 = f4, @nat|@qnan|@snan|@pos|@neg|@unorm|@norm
+	fclass.m p3, p4 = f4, @nat|@qnan|@snan|@pos|@neg|@unorm|@norm|@inf


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]