diff options
author | Alan Modra <amodra@gmail.com> | 2020-05-11 09:43:15 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2020-05-11 21:08:37 +0930 |
commit | d7e97a765ef0b9da6cdddd907ebe9f56a71716ba (patch) | |
tree | 909b607dc6bb8174e688613cbec796e4aeca924f | |
parent | fdefed7c26be5016944e59ccb39d4d254bd817f3 (diff) | |
download | gdb-d7e97a765ef0b9da6cdddd907ebe9f56a71716ba.zip gdb-d7e97a765ef0b9da6cdddd907ebe9f56a71716ba.tar.gz gdb-d7e97a765ef0b9da6cdddd907ebe9f56a71716ba.tar.bz2 |
Power10 VSX PCV generate operations
opcodes/
* ppc-opc.c (powerpc_opcodes): Add xxgenpcvbm, xxgenpcvhm,
xxgenpcvwm, xxgenpcvdm.
gas/
* testsuite/gas/ppc/genpcv.d,
* testsuite/gas/ppc/genpcv.s: New test.
* testsuite/gas/ppc/ppc.exp: Run it.
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/genpcv.d | 14 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/genpcv.s | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/ppc.exp | 1 | ||||
-rw-r--r-- | opcodes/ChangeLog | 5 | ||||
-rw-r--r-- | opcodes/ppc-opc.c | 4 |
6 files changed, 36 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index c0a072a..04eede4 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,11 @@ 2020-05-11 Alan Modra <amodra@gmail.com> + * testsuite/gas/ppc/genpcv.d, + * testsuite/gas/ppc/genpcv.s: New test. + * testsuite/gas/ppc/ppc.exp: Run it. + +2020-05-11 Alan Modra <amodra@gmail.com> + * testsuite/gas/ppc/maskmanip.d, * testsuite/gas/ppc/maskmanip.s: New test. * testsuite/gas/ppc/ppc.exp: Run it. diff --git a/gas/testsuite/gas/ppc/genpcv.d b/gas/testsuite/gas/ppc/genpcv.d new file mode 100644 index 0000000..a1982e7 --- /dev/null +++ b/gas/testsuite/gas/ppc/genpcv.d @@ -0,0 +1,14 @@ +#as: -mpower10 +#objdump: -dr -Mpower10 +#name: PCV generate operations + +.* + + +Disassembly of section \.text: + +0+0 <_start>: +.*: (f2 03 7f 29|29 7f 03 f2) xxgenpcvbm vs48,v15,3 +.*: (f0 02 3f 2b|2b 3f 02 f0) xxgenpcvhm vs32,v7,2 +.*: (f2 01 1f 68|68 1f 01 f2) xxgenpcvwm vs16,v3,1 +.*: (f1 00 0f 6a|6a 0f 00 f1) xxgenpcvdm vs8,v1,0 diff --git a/gas/testsuite/gas/ppc/genpcv.s b/gas/testsuite/gas/ppc/genpcv.s new file mode 100644 index 0000000..caada18 --- /dev/null +++ b/gas/testsuite/gas/ppc/genpcv.s @@ -0,0 +1,6 @@ + .text +_start: + xxgenpcvbm 48,15,3 + xxgenpcvhm 32,7,2 + xxgenpcvwm 16,3,1 + xxgenpcvdm 8,1,0 diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp index c250acf..6b4e11a 100644 --- a/gas/testsuite/gas/ppc/ppc.exp +++ b/gas/testsuite/gas/ppc/ppc.exp @@ -139,3 +139,4 @@ run_dump_test "int128" run_dump_test "simd_perm" run_dump_test "outerprod" run_dump_test "maskmanip" +run_dump_test "genpcv" diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 4336066..9db4c82 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,10 @@ 2020-05-11 Alan Modra <amodra@gmail.com> + * ppc-opc.c (powerpc_opcodes): Add xxgenpcvbm, xxgenpcvhm, + xxgenpcvwm, xxgenpcvdm. + +2020-05-11 Alan Modra <amodra@gmail.com> + * ppc-opc.c (MP, VXVAM_MASK): Define. (VXVAPS_MASK): Use VXVA_MASK. (powerpc_opcodes): Add mtvsrbmi, vexpandbm, vexpandhm, vexpandwm, diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index 4e207b4..804d013 100644 --- a/opcodes/ppc-opc.c +++ b/opcodes/ppc-opc.c @@ -8038,11 +8038,15 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"xvnmaddadp", XX3(60,225), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, {"xvcvdpuxds", XX2(60,456), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, {"xvcvspdp", XX2(60,457), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, +{"xxgenpcvbm", X(60,916), XX1_MASK, POWER10, PPCVLE, {XT6, VB, UIMM}}, +{"xxgenpcvhm", X(60,917), XX1_MASK, POWER10, PPCVLE, {XT6, VB, UIMM}}, {"xsiexpdp", X(60,918), XX1_MASK, PPCVSX3, PPCVLE, {XT6, RA, RB}}, {"xvmindp", XX3(60,232), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, {"xvnmaddmdp", XX3(60,233), XX3_MASK, PPCVSX, PPCVLE, {XT6, XA6, XB6}}, {"xvcvdpsxds", XX2(60,472), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, {"xvabsdp", XX2(60,473), XX2_MASK, PPCVSX, PPCVLE, {XT6, XB6}}, +{"xxgenpcvwm", X(60,948), XX1_MASK, POWER10, PPCVLE, {XT6, VB, UIMM}}, +{"xxgenpcvdm", X(60,949), XX1_MASK, POWER10, PPCVLE, {XT6, VB, UIMM}}, {"xvxexpdp", XX2VA(60,475,0),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, {"xvxsigdp", XX2VA(60,475,1),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, {"xxbrh", XX2VA(60,475,7),XX2_MASK, PPCVSX3, PPCVLE, {XT6, XB6}}, |