diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/int128.d | 42 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/int128.s | 34 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/ppc.exp | 1 |
4 files changed, 83 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 242d342..763e447 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,11 @@ 2020-05-11 Alan Modra <amodra@gmail.com> + * testsuite/gas/ppc/int128.d, + * testsuite/gas/ppc/int128.s: New test. + * testsuite/gas/ppc/ppc.exp: Run it. + +2020-05-11 Alan Modra <amodra@gmail.com> + * testsuite/gas/ppc/vsx_32byte.d, * testsuite/gas/ppc/vsx_32byte.s: New test. * testsuite/gas/ppc/ppc.exp: Run it. diff --git a/gas/testsuite/gas/ppc/int128.d b/gas/testsuite/gas/ppc/int128.d new file mode 100644 index 0000000..c9f14d3 --- /dev/null +++ b/gas/testsuite/gas/ppc/int128.d @@ -0,0 +1,42 @@ +#as: -mpower10 +#objdump: -dr -Mpower10 +#name: 128-bit binary integer ops + +.* + + +Disassembly of section \.text: + +0+0 <_start>: +.*: (10 22 1a c8|c8 1a 22 10) vmuleud v1,v2,v3 +.*: (10 85 30 c8|c8 30 85 10) vmuloud v4,v5,v6 +.*: (10 e8 4b c8|c8 4b e8 10) vmulesd v7,v8,v9 +.*: (11 4b 61 c8|c8 61 4b 11) vmulosd v10,v11,v12 +.*: (11 ae 7c 17|17 7c ae 11) vmsumcud v13,v14,v15,v16 +.*: (12 32 99 0b|0b 99 32 12) vdivsq v17,v18,v19 +.*: (12 95 a8 0b|0b a8 95 12) vdivuq v20,v21,v21 +.*: (12 d7 c3 0b|0b c3 d7 12) vdivesq v22,v23,v24 +.*: (13 3a da 0b|0b da 3a 13) vdiveuq v25,v26,v27 +.*: (13 9d f7 0b|0b f7 9d 13) vmodsq v28,v29,v30 +.*: (13 e0 0e 0b|0b 0e e0 13) vmoduq v31,v0,v1 +.*: (10 5b 1e 02|02 1e 5b 10) vextsd2q v2,v3 +.*: (10 04 29 01|01 29 04 10) vcmpuq v4,v5 +.*: (10 86 39 41|41 39 86 10) vcmpsq cr1,v6,v7 +.*: (11 09 51 c7|c7 51 09 11) vcmpequq v8,v9,v10 +.*: (11 6c 6d c7|c7 6d 6c 11) vcmpequq. v11,v12,v13 +.*: (11 cf 83 87|87 83 cf 11) vcmpgtsq v14,v15,v16 +.*: (12 32 9f 87|87 9f 32 12) vcmpgtsq. v17,v18,v19 +.*: (12 95 b2 87|87 b2 95 12) vcmpgtuq v20,v21,v22 +.*: (12 f8 ce 87|87 ce f8 12) vcmpgtuq. v23,v24,v25 +.*: (13 5b e0 05|05 e0 5b 13) vrlq v26,v27,v28 +.*: (13 be f9 45|45 f9 be 13) vrlqnm v29,v30,v31 +.*: (10 01 10 45|45 10 01 10) vrlqmi v0,v1,v2 +.*: (10 64 29 05|05 29 64 10) vslq v3,v4,v5 +.*: (10 c7 42 05|05 42 c7 10) vsrq v6,v7,v8 +.*: (11 2a 5b 05|05 5b 2a 11) vsraq v9,v10,v11 +.*: (fd 80 6e 88|88 6e 80 fd) xscvqpuqz v12,v13 +.*: (fd c8 7e 88|88 7e c8 fd) xscvqpsqz v14,v15 +.*: (fe 03 8e 88|88 8e 03 fe) xscvuqqp v16,v17 +.*: (fe 4b 9e 88|88 9e 4b fe) xscvsqqp v18,v19 +.*: (fe 80 af c4|c4 af 80 fe) dcffixqq f20,v21 +.*: (fe e1 b7 c4|c4 b7 e1 fe) dctfixqq v23,f22 diff --git a/gas/testsuite/gas/ppc/int128.s b/gas/testsuite/gas/ppc/int128.s new file mode 100644 index 0000000..4dce648 --- /dev/null +++ b/gas/testsuite/gas/ppc/int128.s @@ -0,0 +1,34 @@ + .text +_start: + vmuleud 1,2,3 + vmuloud 4,5,6 + vmulesd 7,8,9 + vmulosd 10,11,12 + vmsumcud 13,14,15,16 + vdivsq 17,18,19 + vdivuq 20,21,21 + vdivesq 22,23,24 + vdiveuq 25,26,27 + vmodsq 28,29,30 + vmoduq 31,0,1 + vextsd2q 2,3 + vcmpuq 4,5 + vcmpsq 1,6,7 + vcmpequq 8,9,10 + vcmpequq. 11,12,13 + vcmpgtsq 14,15,16 + vcmpgtsq. 17,18,19 + vcmpgtuq 20,21,22 + vcmpgtuq. 23,24,25 + vrlq 26,27,28 + vrlqnm 29,30,31 + vrlqmi 0,1,2 + vslq 3,4,5 + vsrq 6,7,8 + vsraq 9,10,11 + xscvqpuqz 12,13 + xscvqpsqz 14,15 + xscvuqqp 16,17 + xscvsqqp 18,19 + dcffixqq 20,21 + dctfixqq 23,22 diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp index aad7b02..6732b90 100644 --- a/gas/testsuite/gas/ppc/ppc.exp +++ b/gas/testsuite/gas/ppc/ppc.exp @@ -134,3 +134,4 @@ if { [supports_ppc64] } then { run_dump_test "byte_rev" run_dump_test "vec_mul" run_dump_test "vsx_32byte" +run_dump_test "int128" |