diff options
Diffstat (limited to 'gas/testsuite')
-rw-r--r-- | gas/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips.exp | 1 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips64-mips3d.d | 138 | ||||
-rw-r--r-- | gas/testsuite/gas/mips/mips64-mips3d.s | 151 |
4 files changed, 296 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index e496fd6..332d820 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,5 +1,11 @@ 2002-03-15 Chris G. Demetriou <cgd@broadcom.com> + * gas/mips/mips64-mips3d.s: New file. + * gas/mips/mips64-mips3d.d: Likewise. + * gas/mips/mips.exp: Run new "mips64-mips3d" test. + +2002-03-15 Chris G. Demetriou <cgd@broadcom.com> + * gas/mips/mips.exp: Use elf-rel2 and elfel-rel2 for mipsisa32*-*-* targets, rather than e32-rel2 and e32el-rel2. diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 8ffc370..c57341f 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -142,6 +142,7 @@ if { [istarget mips*-*-*] } then { run_dump_test "sync" run_dump_test "mips32" run_dump_test "mips64" + run_dump_test "mips64-mips3d" run_dump_test "sb1-ext-ps" # It will always fail until someone fixes it. diff --git a/gas/testsuite/gas/mips/mips64-mips3d.d b/gas/testsuite/gas/mips/mips64-mips3d.d new file mode 100644 index 0000000..7b8f06a --- /dev/null +++ b/gas/testsuite/gas/mips/mips64-mips3d.d @@ -0,0 +1,138 @@ +#objdump: -dr --prefix-addresses --show-raw-insn -mmips:isa64 +#name: MIPS MIPS64 MIPS-3D ASE instructions +#as: -mips64 -mips3d + +# Check MIPS64 MIPS-3D ASE instruction assembly and disassembly + +.*: +file format .*mips.* + +Disassembly of section .text: +0+0000 <[^>]*> 46d34118 addr\.ps \$f4,\$f8,\$f19 +0+0004 <[^>]*> 4520fffe bc1any2f \$fcc0,0+0000 <text_label> +0+0008 <[^>]*> 00000000 nop +0+000c <[^>]*> 4528fffc bc1any2f \$fcc2,0+0000 <text_label> +0+0010 <[^>]*> 00000000 nop +0+0014 <[^>]*> 4521fffa bc1any2t \$fcc0,0+0000 <text_label> +0+0018 <[^>]*> 00000000 nop +0+001c <[^>]*> 4531fff8 bc1any2t \$fcc4,0+0000 <text_label> +0+0020 <[^>]*> 00000000 nop +0+0024 <[^>]*> 4540fff6 bc1any4f \$fcc0,0+0000 <text_label> +0+0028 <[^>]*> 00000000 nop +0+002c <[^>]*> 4550fff4 bc1any4f \$fcc4,0+0000 <text_label> +0+0030 <[^>]*> 00000000 nop +0+0034 <[^>]*> 4541fff2 bc1any4t \$fcc0,0+0000 <text_label> +0+0038 <[^>]*> 00000000 nop +0+003c <[^>]*> 4551fff0 bc1any4t \$fcc4,0+0000 <text_label> +0+0040 <[^>]*> 00000000 nop +0+0044 <[^>]*> 46334070 cabs\.f\.d \$fcc0,\$f8,\$f19 +0+0048 <[^>]*> 46334270 cabs\.f\.d \$fcc2,\$f8,\$f19 +0+004c <[^>]*> 46134070 cabs\.f\.s \$fcc0,\$f8,\$f19 +0+0050 <[^>]*> 46134270 cabs\.f\.s \$fcc2,\$f8,\$f19 +0+0054 <[^>]*> 46d34070 cabs\.f\.ps \$fcc0,\$f8,\$f19 +0+0058 <[^>]*> 46d34270 cabs\.f\.ps \$fcc2,\$f8,\$f19 +0+005c <[^>]*> 46334071 cabs\.un\.d \$fcc0,\$f8,\$f19 +0+0060 <[^>]*> 46334271 cabs\.un\.d \$fcc2,\$f8,\$f19 +0+0064 <[^>]*> 46134071 cabs\.un\.s \$fcc0,\$f8,\$f19 +0+0068 <[^>]*> 46134271 cabs\.un\.s \$fcc2,\$f8,\$f19 +0+006c <[^>]*> 46d34071 cabs\.un\.ps \$fcc0,\$f8,\$f19 +0+0070 <[^>]*> 46d34271 cabs\.un\.ps \$fcc2,\$f8,\$f19 +0+0074 <[^>]*> 46334072 cabs\.eq\.d \$fcc0,\$f8,\$f19 +0+0078 <[^>]*> 46334272 cabs\.eq\.d \$fcc2,\$f8,\$f19 +0+007c <[^>]*> 46134072 cabs\.eq\.s \$fcc0,\$f8,\$f19 +0+0080 <[^>]*> 46134272 cabs\.eq\.s \$fcc2,\$f8,\$f19 +0+0084 <[^>]*> 46d34072 cabs\.eq\.ps \$fcc0,\$f8,\$f19 +0+0088 <[^>]*> 46d34272 cabs\.eq\.ps \$fcc2,\$f8,\$f19 +0+008c <[^>]*> 46334073 cabs\.ueq\.d \$fcc0,\$f8,\$f19 +0+0090 <[^>]*> 46334273 cabs\.ueq\.d \$fcc2,\$f8,\$f19 +0+0094 <[^>]*> 46134073 cabs\.ueq\.s \$fcc0,\$f8,\$f19 +0+0098 <[^>]*> 46134273 cabs\.ueq\.s \$fcc2,\$f8,\$f19 +0+009c <[^>]*> 46d34073 cabs\.ueq\.ps \$fcc0,\$f8,\$f19 +0+00a0 <[^>]*> 46d34273 cabs\.ueq\.ps \$fcc2,\$f8,\$f19 +0+00a4 <[^>]*> 46334074 cabs\.olt\.d \$fcc0,\$f8,\$f19 +0+00a8 <[^>]*> 46334274 cabs\.olt\.d \$fcc2,\$f8,\$f19 +0+00ac <[^>]*> 46134074 cabs\.olt\.s \$fcc0,\$f8,\$f19 +0+00b0 <[^>]*> 46134274 cabs\.olt\.s \$fcc2,\$f8,\$f19 +0+00b4 <[^>]*> 46d34074 cabs\.olt\.ps \$fcc0,\$f8,\$f19 +0+00b8 <[^>]*> 46d34274 cabs\.olt\.ps \$fcc2,\$f8,\$f19 +0+00bc <[^>]*> 46334075 cabs\.ult\.d \$fcc0,\$f8,\$f19 +0+00c0 <[^>]*> 46334275 cabs\.ult\.d \$fcc2,\$f8,\$f19 +0+00c4 <[^>]*> 46134075 cabs\.ult\.s \$fcc0,\$f8,\$f19 +0+00c8 <[^>]*> 46134275 cabs\.ult\.s \$fcc2,\$f8,\$f19 +0+00cc <[^>]*> 46d34075 cabs\.ult\.ps \$fcc0,\$f8,\$f19 +0+00d0 <[^>]*> 46d34275 cabs\.ult\.ps \$fcc2,\$f8,\$f19 +0+00d4 <[^>]*> 46334076 cabs\.ole\.d \$fcc0,\$f8,\$f19 +0+00d8 <[^>]*> 46334276 cabs\.ole\.d \$fcc2,\$f8,\$f19 +0+00dc <[^>]*> 46134076 cabs\.ole\.s \$fcc0,\$f8,\$f19 +0+00e0 <[^>]*> 46134276 cabs\.ole\.s \$fcc2,\$f8,\$f19 +0+00e4 <[^>]*> 46d34076 cabs\.ole\.ps \$fcc0,\$f8,\$f19 +0+00e8 <[^>]*> 46d34276 cabs\.ole\.ps \$fcc2,\$f8,\$f19 +0+00ec <[^>]*> 46334077 cabs\.ule\.d \$fcc0,\$f8,\$f19 +0+00f0 <[^>]*> 46334277 cabs\.ule\.d \$fcc2,\$f8,\$f19 +0+00f4 <[^>]*> 46134077 cabs\.ule\.s \$fcc0,\$f8,\$f19 +0+00f8 <[^>]*> 46134277 cabs\.ule\.s \$fcc2,\$f8,\$f19 +0+00fc <[^>]*> 46d34077 cabs\.ule\.ps \$fcc0,\$f8,\$f19 +0+0100 <[^>]*> 46d34277 cabs\.ule\.ps \$fcc2,\$f8,\$f19 +0+0104 <[^>]*> 46334078 cabs\.sf\.d \$fcc0,\$f8,\$f19 +0+0108 <[^>]*> 46334278 cabs\.sf\.d \$fcc2,\$f8,\$f19 +0+010c <[^>]*> 46134078 cabs\.sf\.s \$fcc0,\$f8,\$f19 +0+0110 <[^>]*> 46134278 cabs\.sf\.s \$fcc2,\$f8,\$f19 +0+0114 <[^>]*> 46d34078 cabs\.sf\.ps \$fcc0,\$f8,\$f19 +0+0118 <[^>]*> 46d34278 cabs\.sf\.ps \$fcc2,\$f8,\$f19 +0+011c <[^>]*> 46334079 cabs\.ngle\.d \$fcc0,\$f8,\$f19 +0+0120 <[^>]*> 46334279 cabs\.ngle\.d \$fcc2,\$f8,\$f19 +0+0124 <[^>]*> 46134079 cabs\.ngle\.s \$fcc0,\$f8,\$f19 +0+0128 <[^>]*> 46134279 cabs\.ngle\.s \$fcc2,\$f8,\$f19 +0+012c <[^>]*> 46d34079 cabs\.ngle\.ps \$fcc0,\$f8,\$f19 +0+0130 <[^>]*> 46d34279 cabs\.ngle\.ps \$fcc2,\$f8,\$f19 +0+0134 <[^>]*> 4633407a cabs\.seq\.d \$fcc0,\$f8,\$f19 +0+0138 <[^>]*> 4633427a cabs\.seq\.d \$fcc2,\$f8,\$f19 +0+013c <[^>]*> 4613407a cabs\.seq\.s \$fcc0,\$f8,\$f19 +0+0140 <[^>]*> 4613427a cabs\.seq\.s \$fcc2,\$f8,\$f19 +0+0144 <[^>]*> 46d3407a cabs\.seq\.ps \$fcc0,\$f8,\$f19 +0+0148 <[^>]*> 46d3427a cabs\.seq\.ps \$fcc2,\$f8,\$f19 +0+014c <[^>]*> 4633407b cabs\.ngl\.d \$fcc0,\$f8,\$f19 +0+0150 <[^>]*> 4633427b cabs\.ngl\.d \$fcc2,\$f8,\$f19 +0+0154 <[^>]*> 4613407b cabs\.ngl\.s \$fcc0,\$f8,\$f19 +0+0158 <[^>]*> 4613427b cabs\.ngl\.s \$fcc2,\$f8,\$f19 +0+015c <[^>]*> 46d3407b cabs\.ngl\.ps \$fcc0,\$f8,\$f19 +0+0160 <[^>]*> 46d3427b cabs\.ngl\.ps \$fcc2,\$f8,\$f19 +0+0164 <[^>]*> 4633407c cabs\.lt\.d \$fcc0,\$f8,\$f19 +0+0168 <[^>]*> 4633427c cabs\.lt\.d \$fcc2,\$f8,\$f19 +0+016c <[^>]*> 4613407c cabs\.lt\.s \$fcc0,\$f8,\$f19 +0+0170 <[^>]*> 4613427c cabs\.lt\.s \$fcc2,\$f8,\$f19 +0+0174 <[^>]*> 46d3407c cabs\.lt\.ps \$fcc0,\$f8,\$f19 +0+0178 <[^>]*> 46d3427c cabs\.lt\.ps \$fcc2,\$f8,\$f19 +0+017c <[^>]*> 4633407d cabs\.nge\.d \$fcc0,\$f8,\$f19 +0+0180 <[^>]*> 4633427d cabs\.nge\.d \$fcc2,\$f8,\$f19 +0+0184 <[^>]*> 4613407d cabs\.nge\.s \$fcc0,\$f8,\$f19 +0+0188 <[^>]*> 4613427d cabs\.nge\.s \$fcc2,\$f8,\$f19 +0+018c <[^>]*> 46d3407d cabs\.nge\.ps \$fcc0,\$f8,\$f19 +0+0190 <[^>]*> 46d3427d cabs\.nge\.ps \$fcc2,\$f8,\$f19 +0+0194 <[^>]*> 4633407e cabs\.le\.d \$fcc0,\$f8,\$f19 +0+0198 <[^>]*> 4633427e cabs\.le\.d \$fcc2,\$f8,\$f19 +0+019c <[^>]*> 4613407e cabs\.le\.s \$fcc0,\$f8,\$f19 +0+01a0 <[^>]*> 4613427e cabs\.le\.s \$fcc2,\$f8,\$f19 +0+01a4 <[^>]*> 46d3407e cabs\.le\.ps \$fcc0,\$f8,\$f19 +0+01a8 <[^>]*> 46d3427e cabs\.le\.ps \$fcc2,\$f8,\$f19 +0+01ac <[^>]*> 4633407f cabs\.ngt\.d \$fcc0,\$f8,\$f19 +0+01b0 <[^>]*> 4633427f cabs\.ngt\.d \$fcc2,\$f8,\$f19 +0+01b4 <[^>]*> 4613407f cabs\.ngt\.s \$fcc0,\$f8,\$f19 +0+01b8 <[^>]*> 4613427f cabs\.ngt\.s \$fcc2,\$f8,\$f19 +0+01bc <[^>]*> 46d3407f cabs\.ngt\.ps \$fcc0,\$f8,\$f19 +0+01c0 <[^>]*> 46d3427f cabs\.ngt\.ps \$fcc2,\$f8,\$f19 +0+01c4 <[^>]*> 46c09924 cvt\.pw\.ps \$f4,\$f19 +0+01c8 <[^>]*> 46809926 cvt\.ps\.pw \$f4,\$f19 +0+01cc <[^>]*> 46d3411a mulr\.ps \$f4,\$f8,\$f19 +0+01d0 <[^>]*> 46209a1d recip1\.d \$f8,\$f19 +0+01d4 <[^>]*> 46009a1d recip1\.s \$f8,\$f19 +0+01d8 <[^>]*> 46c09a1d recip1\.ps \$f8,\$f19 +0+01dc <[^>]*> 4633411c recip2\.d \$f4,\$f8,\$f19 +0+01e0 <[^>]*> 4613411c recip2\.s \$f4,\$f8,\$f19 +0+01e4 <[^>]*> 46d3411c recip2\.ps \$f4,\$f8,\$f19 +0+01e8 <[^>]*> 46209a1e rsqrt1\.d \$f8,\$f19 +0+01ec <[^>]*> 46009a1e rsqrt1\.s \$f8,\$f19 +0+01f0 <[^>]*> 46c09a1e rsqrt1\.ps \$f8,\$f19 +0+01f4 <[^>]*> 4633411f rsqrt2\.d \$f4,\$f8,\$f19 +0+01f8 <[^>]*> 4613411f rsqrt2\.s \$f4,\$f8,\$f19 +0+01fc <[^>]*> 46d3411f rsqrt2\.ps \$f4,\$f8,\$f19 + \.\.\. diff --git a/gas/testsuite/gas/mips/mips64-mips3d.s b/gas/testsuite/gas/mips/mips64-mips3d.s new file mode 100644 index 0000000..5c5e8a8 --- /dev/null +++ b/gas/testsuite/gas/mips/mips64-mips3d.s @@ -0,0 +1,151 @@ +# source file to test assembly of mips64 MIPS-3D ASE instructions + + .set noreorder + .set noat + + .globl text_label .text +text_label: + + addr.ps $f4, $f8, $f19 + + bc1any2f $fcc0, text_label + nop + bc1any2f $fcc2, text_label + nop + + bc1any2t $fcc0, text_label + nop + bc1any2t $fcc4, text_label + nop + + bc1any4f $fcc0, text_label + nop + bc1any4f $fcc4, text_label + nop + + bc1any4t $fcc0, text_label + nop + bc1any4t $fcc4, text_label + nop + + cabs.f.d $fcc0, $f8, $f19 + cabs.f.d $fcc2, $f8, $f19 + cabs.f.s $fcc0, $f8, $f19 + cabs.f.s $fcc2, $f8, $f19 + cabs.f.ps $fcc0, $f8, $f19 + cabs.f.ps $fcc2, $f8, $f19 + cabs.un.d $fcc0, $f8, $f19 + cabs.un.d $fcc2, $f8, $f19 + cabs.un.s $fcc0, $f8, $f19 + cabs.un.s $fcc2, $f8, $f19 + cabs.un.ps $fcc0, $f8, $f19 + cabs.un.ps $fcc2, $f8, $f19 + cabs.eq.d $fcc0, $f8, $f19 + cabs.eq.d $fcc2, $f8, $f19 + cabs.eq.s $fcc0, $f8, $f19 + cabs.eq.s $fcc2, $f8, $f19 + cabs.eq.ps $fcc0, $f8, $f19 + cabs.eq.ps $fcc2, $f8, $f19 + cabs.ueq.d $fcc0, $f8, $f19 + cabs.ueq.d $fcc2, $f8, $f19 + cabs.ueq.s $fcc0, $f8, $f19 + cabs.ueq.s $fcc2, $f8, $f19 + cabs.ueq.ps $fcc0, $f8, $f19 + cabs.ueq.ps $fcc2, $f8, $f19 + cabs.olt.d $fcc0, $f8, $f19 + cabs.olt.d $fcc2, $f8, $f19 + cabs.olt.s $fcc0, $f8, $f19 + cabs.olt.s $fcc2, $f8, $f19 + cabs.olt.ps $fcc0, $f8, $f19 + cabs.olt.ps $fcc2, $f8, $f19 + cabs.ult.d $fcc0, $f8, $f19 + cabs.ult.d $fcc2, $f8, $f19 + cabs.ult.s $fcc0, $f8, $f19 + cabs.ult.s $fcc2, $f8, $f19 + cabs.ult.ps $fcc0, $f8, $f19 + cabs.ult.ps $fcc2, $f8, $f19 + cabs.ole.d $fcc0, $f8, $f19 + cabs.ole.d $fcc2, $f8, $f19 + cabs.ole.s $fcc0, $f8, $f19 + cabs.ole.s $fcc2, $f8, $f19 + cabs.ole.ps $fcc0, $f8, $f19 + cabs.ole.ps $fcc2, $f8, $f19 + cabs.ule.d $fcc0, $f8, $f19 + cabs.ule.d $fcc2, $f8, $f19 + cabs.ule.s $fcc0, $f8, $f19 + cabs.ule.s $fcc2, $f8, $f19 + cabs.ule.ps $fcc0, $f8, $f19 + cabs.ule.ps $fcc2, $f8, $f19 + cabs.sf.d $fcc0, $f8, $f19 + cabs.sf.d $fcc2, $f8, $f19 + cabs.sf.s $fcc0, $f8, $f19 + cabs.sf.s $fcc2, $f8, $f19 + cabs.sf.ps $fcc0, $f8, $f19 + cabs.sf.ps $fcc2, $f8, $f19 + cabs.ngle.d $fcc0, $f8, $f19 + cabs.ngle.d $fcc2, $f8, $f19 + cabs.ngle.s $fcc0, $f8, $f19 + cabs.ngle.s $fcc2, $f8, $f19 + cabs.ngle.ps $fcc0, $f8, $f19 + cabs.ngle.ps $fcc2, $f8, $f19 + cabs.seq.d $fcc0, $f8, $f19 + cabs.seq.d $fcc2, $f8, $f19 + cabs.seq.s $fcc0, $f8, $f19 + cabs.seq.s $fcc2, $f8, $f19 + cabs.seq.ps $fcc0, $f8, $f19 + cabs.seq.ps $fcc2, $f8, $f19 + cabs.ngl.d $fcc0, $f8, $f19 + cabs.ngl.d $fcc2, $f8, $f19 + cabs.ngl.s $fcc0, $f8, $f19 + cabs.ngl.s $fcc2, $f8, $f19 + cabs.ngl.ps $fcc0, $f8, $f19 + cabs.ngl.ps $fcc2, $f8, $f19 + cabs.lt.d $fcc0, $f8, $f19 + cabs.lt.d $fcc2, $f8, $f19 + cabs.lt.s $fcc0, $f8, $f19 + cabs.lt.s $fcc2, $f8, $f19 + cabs.lt.ps $fcc0, $f8, $f19 + cabs.lt.ps $fcc2, $f8, $f19 + cabs.nge.d $fcc0, $f8, $f19 + cabs.nge.d $fcc2, $f8, $f19 + cabs.nge.s $fcc0, $f8, $f19 + cabs.nge.s $fcc2, $f8, $f19 + cabs.nge.ps $fcc0, $f8, $f19 + cabs.nge.ps $fcc2, $f8, $f19 + cabs.le.d $fcc0, $f8, $f19 + cabs.le.d $fcc2, $f8, $f19 + cabs.le.s $fcc0, $f8, $f19 + cabs.le.s $fcc2, $f8, $f19 + cabs.le.ps $fcc0, $f8, $f19 + cabs.le.ps $fcc2, $f8, $f19 + cabs.ngt.d $fcc0, $f8, $f19 + cabs.ngt.d $fcc2, $f8, $f19 + cabs.ngt.s $fcc0, $f8, $f19 + cabs.ngt.s $fcc2, $f8, $f19 + cabs.ngt.ps $fcc0, $f8, $f19 + cabs.ngt.ps $fcc2, $f8, $f19 + + cvt.pw.ps $f4, $f19 + + cvt.ps.pw $f4, $f19 + + mulr.ps $f4, $f8, $f19 + + recip1.d $f8, $f19 + recip1.s $f8, $f19 + recip1.ps $f8, $f19 + + recip2.d $f4, $f8, $f19 + recip2.s $f4, $f8, $f19 + recip2.ps $f4, $f8, $f19 + + rsqrt1.d $f8, $f19 + rsqrt1.s $f8, $f19 + rsqrt1.ps $f8, $f19 + + rsqrt2.d $f4, $f8, $f19 + rsqrt2.s $f4, $f8, $f19 + rsqrt2.ps $f4, $f8, $f19 + +# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... + .space 8 |