opcodes/
* ppc-dis.c (powerpc_init_dialect): Set default dialect to power8. * ppc-opc.c (BHRBE, ST, SIX, PS, SXL, VXPS_MASK, XX1RB_MASK, XLS_MASK, PPCVSX2): New defines. (powerpc_opcodes) <bcdadd., bcdsub., bctar, bctar, bctarl, clrbhrb, fmrgew, fmrgow, lqarx, lxsiwax, lxsiwzx, lxsspx, mfbhrbe, mffprd, mffprwz, mfvrd, mfvrwz, mfvsrd, mfvsrwz, msgclrp, msgsndp, mtfprd, mtfprwa, mtfprwz, mtsle, mtvrd, mtvrwa, mtvrwz, mtvsrd, mtvsrwa, mtvsrwz, pbt., rfebb, stqcx., stxsiwx, stxsspx, vaddcuq, vaddecuq, vaddeuqm, vaddudm, vadduqm, vbpermq, vcipher, vcipherlast, vclzb, vclzd, vclzh, vclzw, vcmpequd, vcmpequd., vcmpgtsd, vcmpgtsd., vcmpgtud, vcmpgtud., veqv, vgbbd, vmaxsd, vmaxud, vminsd, vminud, vmrgew, vmrgow, vmulesw, vmuleuw, vmulosw, vmulouw, vmuluwm, vnand, vncipher, vncipherlast, vorc, vpermxor, vpksdss, vpksdus, vpkudum, vpkudus, vpmsumb, vpmsumd, vpmsumh, vpmsumw, vpopcntb, vpopcntd, vpopcnth, vpopcntw, vrld, vsbox, vshasigmad, vshasigmaw, vsld, vsrad, vsrd, vsubcuq, vsubecuq, vsubeuqm, vsubudm, vsubuqm, vupkhsw, vupklsw, waitasec, xsaddsp, xscvdpspn, xscvspdpn, xscvsxdsp, xscvuxdsp, xsdivsp, xsmaddasp, xsmaddmsp, xsmsubasp, xsmsubmsp, xsmulsp, xsnmaddasp, xsnmaddmsp, xsnmsubasp, xsnmsubmsp, xsresp, xsrsp, xsrsqrtesp, xssqrtsp, xssubsp, xxleqv, xxlnand, xxlorc>: New instructions. <lxvx, stxvx>: New extended mnemonics. gas/ * config/tc-ppc.c (ppc_setup_opcodes): Use new_seg to fix error and clean up warning when using PRINT_OPCODE_TABLE. gas/testsuite/ * gas/ppc/altivec2.d <bcdadd., bcdadd., vaddcuq, vaddecuq, vaddeuqm, vaddudm, vadduqm, vbpermq, vcipher, vcipherlast, vclzb, vclzd, vclzh, vclzw, vcmpequd, vcmpequd., vcmpgtsd, vcmpgtsd., vcmpgtud, vcmpgtud., veqv, vgbbd, vmaxsd, vmaxud, vminsd, vminud, vmrgew, vmrgow, vmulesw, vmuleuw, vmulosw, vmulouw, vmuluwm, vnand, vncipher, vncipherlast, vorc, vpermxor, vpksdss, vpksdus, vpkudum, vpkudus, vpmsumb, vpmsumd, vpmsumh, vpmsumw, vpopcntb, vpopcntd, vpopcnth, vpopcntw, vrld, vsbox, vshasigmad, vshasigmaw, vsld, vsrad, vsrd, vsubcuq, vsubecuq, vsubeuqm, vsubudm, vsubuqm, vupkhsw, vupklsw>: Add new tests. * gas/ppc/altivec2.s: Likewise. * gas/ppc/power8.d <bcdadd., bcdsub., bctar, bctarl, clrbhrb, fmrgew, fmrgow, lqarx, lxsiwax, lxsiwzx, lxsspx, mfbhrbe, mfvsrd, mfvsrwz, msgclrp, msgsndp, mtsle, mtvsrd, mtvsrwa, mtvsrwz, pbt., rfebb, stqcx., stxsiwx, stxsspx, vaddcuq, vaddecuq, vaddeuqm, vaddudm, vadduqm, vbpermq, vcipher, vcipherlast, vclzb, vclzd, vclzh, vclzw, vcmpequd, vcmpequd., vcmpgtsd, vcmpgtsd., vcmpgtud, vcmpgtud., veqv, vgbbd, vmaxsd, vmaxud, vminsd, vminud, vmrgow, vmulesw, vmuleuw, vmulosw, vmulouw, vmuluwm, vnand, vncipher, vncipherlast, vorc, vpermxor, vpksdss, vpksdus, vpkudum, vpkudus, vpmsumb, vpmsumd, vpmsumh, vpmsumw, vpopcntb, vpopcntd, vpopcnth, vpopcntw, vrld, vsbox, vshasigmad, vshasigmaw, vsld, vsrad, vsrd, vsubcuq, vsubecuq, vsubeuqm, vsubuqm, vupkhsw, vupklsw, waitasec, xsaddsp, xscvdpspn, xscvspdpn, xscvsxdsp, xscvuxdsp, xsdivsp, xsmaddasp, xsmaddmsp, xsmsubasp, xsmsubmsp, xsmulsp, xsnmaddasp, xsnmaddmsp, xsnmsubasp, xsnmsubmsp, xsresp, xsrsp, xsrsqrtesp, xssqrtsp, xssubsp, xxleqv, xxlnand, xxlorc>: Add new tests. * gas/ppc/power8.s Likewise. * gas/ppc/vsx.d <lxvd2x, stxvd2x>: Add new tests. * gas/ppc/vsx.s Likewise. * gas/ppc/vsx2.d: New test file. * gas/ppc/vsx2.s: Likewise. * gas/ppc/ppc.exp: Run it.
This commit is contained in:
parent
a825696a06
commit
c0637f3af6
@ -1,3 +1,8 @@
|
||||
2013-05-20 Peter Bergner <bergner@vnet.ibm.com>
|
||||
|
||||
* config/tc-ppc.c (ppc_setup_opcodes): Use new_seg to fix error
|
||||
and clean up warning when using PRINT_OPCODE_TABLE.
|
||||
|
||||
2013-05-20 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* config/tc-ppc.c (md_apply_fix): Hoist code common to insn
|
||||
|
@ -1526,10 +1526,10 @@ ppc_setup_opcodes (void)
|
||||
int new_opcode = PPC_OP (op[0].opcode);
|
||||
|
||||
#ifdef PRINT_OPCODE_TABLE
|
||||
printf ("%-14s\t#%04d\tmajor op: 0x%x\top: 0x%x\tmask: 0x%x\tflags: 0x%llx\n",
|
||||
op->name, op - powerpc_opcodes, (unsigned int) new_opcode,
|
||||
(unsigned int) op->opcode, (unsigned int) op->mask,
|
||||
(unsigned long long) op->flags);
|
||||
printf ("%-14s\t#%04u\tmajor op: 0x%x\top: 0x%x\tmask: 0x%x\tflags: 0x%llx\n",
|
||||
op->name, (unsigned int) (op - powerpc_opcodes),
|
||||
(unsigned int) new_opcode, (unsigned int) op->opcode,
|
||||
(unsigned int) op->mask, (unsigned long long) op->flags);
|
||||
#endif
|
||||
|
||||
/* The major opcodes had better be sorted. Code in the
|
||||
@ -1579,10 +1579,10 @@ ppc_setup_opcodes (void)
|
||||
new_seg = VLE_OP_TO_SEG (new_seg);
|
||||
|
||||
#ifdef PRINT_OPCODE_TABLE
|
||||
printf ("%-14s\t#%04d\tmajor op: 0x%x\top: 0x%x\tmask: 0x%x\tflags: 0x%llx\n",
|
||||
op->name, op - powerpc_opcodes, (unsigned int) new_opcode,
|
||||
(unsigned int) op->opcode, (unsigned int) op->mask,
|
||||
(unsigned long long) op->flags);
|
||||
printf ("%-14s\t#%04u\tmajor op: 0x%x\top: 0x%x\tmask: 0x%x\tflags: 0x%llx\n",
|
||||
op->name, (unsigned int) (op - powerpc_opcodes),
|
||||
(unsigned int) new_seg, (unsigned int) op->opcode,
|
||||
(unsigned int) op->mask, (unsigned long long) op->flags);
|
||||
#endif
|
||||
/* The major opcodes had better be sorted. Code in the
|
||||
disassembler assumes the insns are sorted according to
|
||||
|
@ -1,3 +1,38 @@
|
||||
2013-05-20 Peter Bergner <bergner@vnet.ibm.com>
|
||||
|
||||
* gas/ppc/altivec2.d <bcdadd., bcdadd., vaddcuq, vaddecuq, vaddeuqm,
|
||||
vaddudm, vadduqm, vbpermq, vcipher, vcipherlast, vclzb, vclzd, vclzh,
|
||||
vclzw, vcmpequd, vcmpequd., vcmpgtsd, vcmpgtsd., vcmpgtud, vcmpgtud.,
|
||||
veqv, vgbbd, vmaxsd, vmaxud, vminsd, vminud, vmrgew, vmrgow, vmulesw,
|
||||
vmuleuw, vmulosw, vmulouw, vmuluwm, vnand, vncipher, vncipherlast,
|
||||
vorc, vpermxor, vpksdss, vpksdus, vpkudum, vpkudus, vpmsumb, vpmsumd,
|
||||
vpmsumh, vpmsumw, vpopcntb, vpopcntd, vpopcnth, vpopcntw, vrld, vsbox,
|
||||
vshasigmad, vshasigmaw, vsld, vsrad, vsrd, vsubcuq, vsubecuq, vsubeuqm,
|
||||
vsubudm, vsubuqm, vupkhsw, vupklsw>: Add new tests.
|
||||
* gas/ppc/altivec2.s: Likewise.
|
||||
* gas/ppc/power8.d <bcdadd., bcdsub., bctar, bctarl, clrbhrb, fmrgew,
|
||||
fmrgow, lqarx, lxsiwax, lxsiwzx, lxsspx, mfbhrbe, mfvsrd, mfvsrwz,
|
||||
msgclrp, msgsndp, mtsle, mtvsrd, mtvsrwa, mtvsrwz, pbt., rfebb,
|
||||
stqcx., stxsiwx, stxsspx, vaddcuq, vaddecuq, vaddeuqm, vaddudm,
|
||||
vadduqm, vbpermq, vcipher, vcipherlast, vclzb, vclzd, vclzh, vclzw,
|
||||
vcmpequd, vcmpequd., vcmpgtsd, vcmpgtsd., vcmpgtud, vcmpgtud., veqv,
|
||||
vgbbd, vmaxsd, vmaxud, vminsd, vminud, vmrgow, vmulesw, vmuleuw,
|
||||
vmulosw, vmulouw, vmuluwm, vnand, vncipher, vncipherlast, vorc,
|
||||
vpermxor, vpksdss, vpksdus, vpkudum, vpkudus, vpmsumb, vpmsumd,
|
||||
vpmsumh, vpmsumw, vpopcntb, vpopcntd, vpopcnth, vpopcntw, vrld, vsbox,
|
||||
vshasigmad, vshasigmaw, vsld, vsrad, vsrd, vsubcuq, vsubecuq, vsubeuqm,
|
||||
vsubuqm, vupkhsw, vupklsw, waitasec, xsaddsp, xscvdpspn, xscvspdpn,
|
||||
xscvsxdsp, xscvuxdsp, xsdivsp, xsmaddasp, xsmaddmsp, xsmsubasp,
|
||||
xsmsubmsp, xsmulsp, xsnmaddasp, xsnmaddmsp, xsnmsubasp, xsnmsubmsp,
|
||||
xsresp, xsrsp, xsrsqrtesp, xssqrtsp, xssubsp, xxleqv, xxlnand,
|
||||
xxlorc>: Add new tests.
|
||||
* gas/ppc/power8.s Likewise.
|
||||
* gas/ppc/vsx.d <lxvd2x, stxvd2x>: Add new tests.
|
||||
* gas/ppc/vsx.s Likewise.
|
||||
* gas/ppc/vsx2.d: New test file.
|
||||
* gas/ppc/vsx2.s: Likewise.
|
||||
* gas/ppc/ppc.exp: Run it.
|
||||
|
||||
2013-05-16 Tristan Gingold <gingold@adacore.com>
|
||||
|
||||
* gas/ppc/ppc.exp: Do not run simpshft on aix.
|
||||
|
@ -58,4 +58,68 @@ Disassembly of section \.text:
|
||||
c0: (10 d1 84 03|03 84 d1 10) vabsdub v6,v17,v16
|
||||
c4: (12 b2 24 43|43 24 b2 12) vabsduh v21,v18,v4
|
||||
c8: (13 34 4c 83|83 4c 34 13) vabsduw v25,v20,v9
|
||||
cc: (10 d1 a6 ad|ad a6 d1 10) vpermxor v6,v17,v20,v26
|
||||
d0: (13 ba 7f 3c|3c 7f ba 13) vaddeuqm v29,v26,v15,v28
|
||||
d4: (11 e8 3e 3d|3d 3e e8 11) vaddecuq v15,v8,v7,v24
|
||||
d8: (10 46 a8 7e|7e a8 46 10) vsubeuqm v2,v6,v21,v1
|
||||
dc: (13 a6 01 3f|3f 01 a6 13) vsubecuq v29,v6,v0,v4
|
||||
e0: (11 c9 18 88|88 18 c9 11) vmulouw v14,v9,v3
|
||||
e4: (13 10 90 89|89 90 10 13) vmuluwm v24,v16,v18
|
||||
e8: (11 51 88 c0|c0 88 51 11) vaddudm v10,v17,v17
|
||||
ec: (13 d9 20 c2|c2 20 d9 13) vmaxud v30,v25,v4
|
||||
f0: (11 46 e0 c4|c4 e0 46 11) vrld v10,v6,v28
|
||||
f4: (13 67 38 c7|c7 38 67 13) vcmpequd v27,v7,v7
|
||||
f8: (12 d0 c9 00|00 c9 d0 12) vadduqm v22,v16,v25
|
||||
fc: (10 35 e9 40|40 e9 35 10) vaddcuq v1,v21,v29
|
||||
100: (12 8b 99 88|88 99 8b 12) vmulosw v20,v11,v19
|
||||
104: (13 13 09 c2|c2 09 13 13) vmaxsd v24,v19,v1
|
||||
108: (11 bb f2 88|88 f2 bb 11) vmuleuw v13,v27,v30
|
||||
10c: (11 38 8a c2|c2 8a 38 11) vminud v9,v24,v17
|
||||
110: (11 52 e2 c7|c7 e2 52 11) vcmpgtud v10,v18,v28
|
||||
114: (10 1d b3 88|88 b3 1d 10) vmulesw v0,v29,v22
|
||||
118: (11 bc 0b c2|c2 0b bc 11) vminsd v13,v28,v1
|
||||
11c: (11 54 2b c4|c4 2b 54 11) vsrad v10,v20,v5
|
||||
120: (13 75 2b c7|c7 2b 75 13) vcmpgtsd v27,v21,v5
|
||||
124: (10 17 f6 01|01 f6 17 10) bcdadd\. v0,v23,v30,1
|
||||
128: (13 38 d4 08|08 d4 38 13) vpmsumb v25,v24,v26
|
||||
12c: (11 04 26 41|41 26 04 11) bcdsub\. v8,v4,v4,1
|
||||
130: (12 0e d4 48|48 d4 0e 12) vpmsumh v16,v14,v26
|
||||
134: (13 62 d4 4e|4e d4 62 13) vpkudum v27,v2,v26
|
||||
138: (10 d7 8c 88|88 8c d7 10) vpmsumw v6,v23,v17
|
||||
13c: (12 86 cc c8|c8 cc 86 12) vpmsumd v20,v6,v25
|
||||
140: (13 76 84 ce|ce 84 76 13) vpkudus v27,v22,v16
|
||||
144: (12 b4 94 c0|c0 94 b4 12) vsubudm v21,v20,v18
|
||||
148: (12 b4 95 00|00 95 b4 12) vsubuqm v21,v20,v18
|
||||
14c: (13 bd 35 08|08 35 bd 13) vcipher v29,v29,v6
|
||||
150: (10 4d a5 09|09 a5 4d 10) vcipherlast v2,v13,v20
|
||||
154: (12 80 95 0c|0c 95 80 12) vgbbd v20,v18
|
||||
158: (12 68 cd 40|40 cd 68 12) vsubcuq v19,v8,v25
|
||||
15c: (11 3a ed 44|44 ed 3a 11) vorc v9,v26,v29
|
||||
160: (12 94 6d 48|48 6d 94 12) vncipher v20,v20,v13
|
||||
164: (11 e5 dd 49|49 dd e5 11) vncipherlast v15,v5,v27
|
||||
168: (10 73 35 4c|4c 35 73 10) vbpermq v3,v19,v6
|
||||
16c: (13 c4 e5 4e|4e e5 c4 13) vpksdus v30,v4,v28
|
||||
170: (10 04 75 84|84 75 04 10) vnand v0,v4,v14
|
||||
174: (12 28 ed c4|c4 ed 28 12) vsld v17,v8,v29
|
||||
178: (13 b4 05 c8|c8 05 b4 13) vsbox v29,v20
|
||||
17c: (11 67 5d ce|ce 5d 67 11) vpksdss v11,v7,v11
|
||||
180: (10 73 84 c7|c7 84 73 10) vcmpequd\. v3,v19,v16
|
||||
184: (12 40 8e 4e|4e 8e 40 12) vupkhsw v18,v17
|
||||
188: (13 a8 6e 82|82 6e a8 13) vshasigmaw v29,v8,0,13
|
||||
18c: (12 fc d6 84|84 d6 fc 12) veqv v23,v28,v26
|
||||
190: (13 a0 17 8c|8c 17 a0 13) vmrgew v29,v0,v2
|
||||
194: (13 a0 16 8c|8c 16 a0 13) vmrgow v29,v0,v2
|
||||
198: (13 73 06 c2|c2 06 73 13) vshasigmad v27,v19,0,0
|
||||
19c: (12 9c e6 c4|c4 e6 9c 12) vsrd v20,v28,v28
|
||||
1a0: (12 40 ae ce|ce ae 40 12) vupklsw v18,v21
|
||||
1a4: (13 c0 3f 02|02 3f c0 13) vclzb v30,v7
|
||||
1a8: (13 a0 af 03|03 af a0 13) vpopcntb v29,v21
|
||||
1ac: (13 20 af 42|42 af 20 13) vclzh v25,v21
|
||||
1b0: (12 00 f7 43|43 f7 00 12) vpopcnth v16,v30
|
||||
1b4: (13 80 1f 82|82 1f 80 13) vclzw v28,v3
|
||||
1b8: (11 40 4f 83|83 4f 40 11) vpopcntw v10,v9
|
||||
1bc: (12 c0 4f c2|c2 4f c0 12) vclzd v22,v9
|
||||
1c0: (11 e0 f7 c3|c3 f7 e0 11) vpopcntd v15,v30
|
||||
1c4: (10 5f 36 c7|c7 36 5f 10) vcmpgtud\. v2,v31,v6
|
||||
1c8: (12 8f 17 c7|c7 17 8f 12) vcmpgtsd\. v20,v15,v2
|
||||
#pass
|
||||
|
@ -1,3 +1,4 @@
|
||||
.text
|
||||
start:
|
||||
lvepxl 3,0,28
|
||||
lvepxl 19,4,18
|
||||
@ -50,3 +51,67 @@ start:
|
||||
vabsdub 6,17,16
|
||||
vabsduh 21,18,4
|
||||
vabsduw 25,20,9
|
||||
vpermxor 6,17,20,26
|
||||
vaddeuqm 29,26,15,28
|
||||
vaddecuq 15,8,7,24
|
||||
vsubeuqm 2,6,21,1
|
||||
vsubecuq 29,6,0,4
|
||||
vmulouw 14,9,3
|
||||
vmuluwm 24,16,18
|
||||
vaddudm 10,17,17
|
||||
vmaxud 30,25,4
|
||||
vrld 10,6,28
|
||||
vcmpequd 27,7,7
|
||||
vadduqm 22,16,25
|
||||
vaddcuq 1,21,29
|
||||
vmulosw 20,11,19
|
||||
vmaxsd 24,19,1
|
||||
vmuleuw 13,27,30
|
||||
vminud 9,24,17
|
||||
vcmpgtud 10,18,28
|
||||
vmulesw 0,29,22
|
||||
vminsd 13,28,1
|
||||
vsrad 10,20,5
|
||||
vcmpgtsd 27,21,5
|
||||
bcdadd. 0,23,30,1
|
||||
vpmsumb 25,24,26
|
||||
bcdsub. 8,4,4,1
|
||||
vpmsumh 16,14,26
|
||||
vpkudum 27,2,26
|
||||
vpmsumw 6,23,17
|
||||
vpmsumd 20,6,25
|
||||
vpkudus 27,22,16
|
||||
vsubudm 21,20,18
|
||||
vsubuqm 21,20,18
|
||||
vcipher 29,29,6
|
||||
vcipherlast 2,13,20
|
||||
vgbbd 20,18
|
||||
vsubcuq 19,8,25
|
||||
vorc 9,26,29
|
||||
vncipher 20,20,13
|
||||
vncipherlast 15,5,27
|
||||
vbpermq 3,19,6
|
||||
vpksdus 30,4,28
|
||||
vnand 0,4,14
|
||||
vsld 17,8,29
|
||||
vsbox 29,20
|
||||
vpksdss 11,7,11
|
||||
vcmpequd. 3,19,16
|
||||
vupkhsw 18,17
|
||||
vshasigmaw 29,8,0,13
|
||||
veqv 23,28,26
|
||||
vmrgew 29,0,2
|
||||
vmrgow 29,0,2
|
||||
vshasigmad 27,19,0,0
|
||||
vsrd 20,28,28
|
||||
vupklsw 18,21
|
||||
vclzb 30,7
|
||||
vpopcntb 29,21
|
||||
vclzh 25,21
|
||||
vpopcnth 16,30
|
||||
vclzw 28,3
|
||||
vpopcntw 10,9
|
||||
vclzd 22,9
|
||||
vpopcntd 15,30
|
||||
vcmpgtud. 2,31,6
|
||||
vcmpgtsd. 20,15,2
|
||||
|
@ -27,3 +27,127 @@ Disassembly of section \.text:
|
||||
44: (60 42 00 00|00 00 42 60) ori r2,r2,0
|
||||
48: (60 00 00 00|00 00 00 60) nop
|
||||
4c: (60 42 00 00|00 00 42 60) ori r2,r2,0
|
||||
50: (4c 00 01 24|24 01 00 4c) rfebb
|
||||
54: (4c 00 01 24|24 01 00 4c) rfebb
|
||||
58: (4c 00 09 24|24 09 00 4c) rfebb 1
|
||||
5c: (4d 95 04 60|60 04 95 4d) bctar- 12,4\*cr5\+gt
|
||||
60: (4c 87 04 61|61 04 87 4c) bctarl- 4,4\*cr1\+so
|
||||
64: (4d ac 04 60|60 04 ac 4d) bctar\+ 12,4\*cr3\+lt
|
||||
68: (4c a2 04 61|61 04 a2 4c) bctarl\+ 4,eq
|
||||
6c: (4c 88 0c 60|60 0c 88 4c) bctar 4,4\*cr2\+lt,1
|
||||
70: (4c 87 14 61|61 14 87 4c) bctarl 4,4\*cr1\+so,2
|
||||
74: (7c 00 00 3c|3c 00 00 7c) waitasec
|
||||
78: (7c 00 41 1c|1c 41 00 7c) msgsndp r8
|
||||
7c: (7c 20 01 26|26 01 20 7c) mtsle 1
|
||||
80: (7c 00 d9 5c|5c d9 00 7c) msgclrp r27
|
||||
84: (7d 4a 61 6d|6d 61 4a 7d) stqcx\. r10,r10,r12
|
||||
88: (7f 80 39 6d|6d 39 80 7f) stqcx\. r28,0,r7
|
||||
8c: (7f 13 5a 28|28 5a 13 7f) lqarx r24,r19,r11
|
||||
90: (7e c0 5a 28|28 5a c0 7e) lqarx r22,0,r11
|
||||
94: (7e 80 32 5c|5c 32 80 7e) mfbhrbe r20,6
|
||||
98: (7f b1 83 29|29 83 b1 7f) pbt\. r29,r17,r16
|
||||
9c: (7d c0 3b 29|29 3b c0 7d) pbt\. r14,0,r7
|
||||
a0: (7c 00 03 5c|5c 03 00 7c) clrbhrb
|
||||
a4: (11 6a 05 ed|ed 05 6a 11) vpermxor v11,v10,v0,v23
|
||||
a8: (13 02 39 3c|3c 39 02 13) vaddeuqm v24,v2,v7,v4
|
||||
ac: (11 4a 40 bd|bd 40 4a 11) vaddecuq v10,v10,v8,v2
|
||||
b0: (10 af 44 fe|fe 44 af 10) vsubeuqm v5,v15,v8,v19
|
||||
b4: (11 9f 87 7f|7f 87 9f 11) vsubecuq v12,v31,v16,v29
|
||||
b8: (12 9d 68 88|88 68 9d 12) vmulouw v20,v29,v13
|
||||
bc: (13 a0 d0 89|89 d0 a0 13) vmuluwm v29,v0,v26
|
||||
c0: (11 15 e0 c0|c0 e0 15 11) vaddudm v8,v21,v28
|
||||
c4: (10 3a 08 c2|c2 08 3a 10) vmaxud v1,v26,v1
|
||||
c8: (12 83 08 c4|c4 08 83 12) vrld v20,v3,v1
|
||||
cc: (10 93 58 c7|c7 58 93 10) vcmpequd v4,v19,v11
|
||||
d0: (12 ee f1 00|00 f1 ee 12) vadduqm v23,v14,v30
|
||||
d4: (11 08 69 40|40 69 08 11) vaddcuq v8,v8,v13
|
||||
d8: (13 9b 21 88|88 21 9b 13) vmulosw v28,v27,v4
|
||||
dc: (10 64 21 c2|c2 21 64 10) vmaxsd v3,v4,v4
|
||||
e0: (10 13 aa 88|88 aa 13 10) vmuleuw v0,v19,v21
|
||||
e4: (13 14 9a c2|c2 9a 14 13) vminud v24,v20,v19
|
||||
e8: (10 1c 7a c7|c7 7a 1c 10) vcmpgtud v0,v28,v15
|
||||
ec: (12 a0 13 88|88 13 a0 12) vmulesw v21,v0,v2
|
||||
f0: (11 3a 4b c2|c2 4b 3a 11) vminsd v9,v26,v9
|
||||
f4: (13 3d 5b c4|c4 5b 3d 13) vsrad v25,v29,v11
|
||||
f8: (11 7c 5b c7|c7 5b 7c 11) vcmpgtsd v11,v28,v11
|
||||
fc: (10 a8 d6 01|01 d6 a8 10) bcdadd\. v5,v8,v26,1
|
||||
100: (10 83 64 08|08 64 83 10) vpmsumb v4,v3,v12
|
||||
104: (13 5f ae 41|41 ae 5f 13) bcdsub\. v26,v31,v21,1
|
||||
108: (10 b1 84 48|48 84 b1 10) vpmsumh v5,v17,v16
|
||||
10c: (12 f1 a4 4e|4e a4 f1 12) vpkudum v23,v17,v20
|
||||
110: (13 15 ec 88|88 ec 15 13) vpmsumw v24,v21,v29
|
||||
114: (11 36 6c c8|c8 6c 36 11) vpmsumd v9,v22,v13
|
||||
118: (12 53 94 ce|ce 94 53 12) vpkudus v18,v19,v18
|
||||
11c: (13 d0 b5 00|00 b5 d0 13) vsubuqm v30,v16,v22
|
||||
120: (11 cb 3d 08|08 3d cb 11) vcipher v14,v11,v7
|
||||
124: (11 42 b5 09|09 b5 42 11) vcipherlast v10,v2,v22
|
||||
128: (12 e0 6d 0c|0c 6d e0 12) vgbbd v23,v13
|
||||
12c: (12 19 85 40|40 85 19 12) vsubcuq v16,v25,v16
|
||||
130: (13 e1 2d 44|44 2d e1 13) vorc v31,v1,v5
|
||||
134: (10 91 fd 48|48 fd 91 10) vncipher v4,v17,v31
|
||||
138: (13 02 dd 49|49 dd 02 13) vncipherlast v24,v2,v27
|
||||
13c: (12 f5 bd 4c|4c bd f5 12) vbpermq v23,v21,v23
|
||||
140: (13 72 4d 4e|4e 4d 72 13) vpksdus v27,v18,v9
|
||||
144: (13 7d dd 84|84 dd 7d 13) vnand v27,v29,v27
|
||||
148: (12 73 c5 c4|c4 c5 73 12) vsld v19,v19,v24
|
||||
14c: (10 ad 05 c8|c8 05 ad 10) vsbox v5,v13
|
||||
150: (13 23 3d ce|ce 3d 23 13) vpksdss v25,v3,v7
|
||||
154: (13 88 04 c7|c7 04 88 13) vcmpequd\. v28,v8,v0
|
||||
158: (13 40 d6 4e|4e d6 40 13) vupkhsw v26,v26
|
||||
15c: (10 a7 36 82|82 36 a7 10) vshasigmaw v5,v7,0,6
|
||||
160: (13 95 76 84|84 76 95 13) veqv v28,v21,v14
|
||||
164: (10 28 9e 8c|8c 9e 28 10) vmrgow v1,v8,v19
|
||||
168: (10 0a 56 c2|c2 56 0a 10) vshasigmad v0,v10,0,10
|
||||
16c: (10 bb 76 c4|c4 76 bb 10) vsrd v5,v27,v14
|
||||
170: (11 60 6e ce|ce 6e 60 11) vupklsw v11,v13
|
||||
174: (11 c0 87 02|02 87 c0 11) vclzb v14,v16
|
||||
178: (12 80 df 03|03 df 80 12) vpopcntb v20,v27
|
||||
17c: (13 80 5f 42|42 5f 80 13) vclzh v28,v11
|
||||
180: (13 00 4f 43|43 4f 00 13) vpopcnth v24,v9
|
||||
184: (13 60 ff 82|82 ff 60 13) vclzw v27,v31
|
||||
188: (12 20 9f 83|83 9f 20 12) vpopcntw v17,v19
|
||||
18c: (11 80 ef c2|c2 ef 80 11) vclzd v12,v29
|
||||
190: (12 e0 b7 c3|c3 b7 e0 12) vpopcntd v23,v22
|
||||
194: (13 14 ee c7|c7 ee 14 13) vcmpgtud\. v24,v20,v29
|
||||
198: (11 26 df c7|c7 df 26 11) vcmpgtsd\. v9,v6,v27
|
||||
19c: (7f ce d0 19|19 d0 ce 7f) lxsiwzx vs62,r14,r26
|
||||
1a0: (7d 00 c8 19|19 c8 00 7d) lxsiwzx vs40,0,r25
|
||||
1a4: (7f 20 d0 98|98 d0 20 7f) lxsiwax vs25,0,r26
|
||||
1a8: (7c 60 18 98|98 18 60 7c) lxsiwax vs3,0,r3
|
||||
1ac: (7f cc 00 67|67 00 cc 7f) mfvsrd r12,vs62
|
||||
1b0: (7d 94 00 e6|e6 00 94 7d) mffprwz r20,f12
|
||||
1b4: (7d c9 71 18|18 71 c9 7d) stxsiwx vs14,r9,r14
|
||||
1b8: (7e a0 41 18|18 41 a0 7e) stxsiwx vs21,0,r8
|
||||
1bc: (7e 0b 01 67|67 01 0b 7e) mtvsrd vs48,r11
|
||||
1c0: (7f f7 01 a7|a7 01 f7 7f) mtvrwa v31,r23
|
||||
1c4: (7e 1a 01 e6|e6 01 1a 7e) mtfprwz f16,r26
|
||||
1c8: (7d b3 6c 18|18 6c b3 7d) lxsspx vs13,r19,r13
|
||||
1cc: (7e 40 6c 18|18 6c 40 7e) lxsspx vs18,0,r13
|
||||
1d0: (7d 62 25 19|19 25 62 7d) stxsspx vs43,r2,r4
|
||||
1d4: (7e e0 5d 19|19 5d e0 7e) stxsspx vs55,0,r11
|
||||
1d8: (f2 d0 c8 05|05 c8 d0 f2) xsaddsp vs54,vs48,vs25
|
||||
1dc: (f1 d2 08 0c|0c 08 d2 f1) xsmaddasp vs14,vs50,vs1
|
||||
1e0: (f3 56 50 42|42 50 56 f3) xssubsp vs26,vs22,vs42
|
||||
1e4: (f3 75 a0 4e|4e a0 75 f3) xsmaddmsp vs27,vs53,vs52
|
||||
1e8: (f1 00 d8 2a|2a d8 00 f1) xsrsqrtesp vs8,vs59
|
||||
1ec: (f1 80 48 2e|2e 48 80 f1) xssqrtsp vs12,vs41
|
||||
1f0: (f3 2b 00 83|83 00 2b f3) xsmulsp vs57,vs11,vs32
|
||||
1f4: (f0 d4 d0 89|89 d0 d4 f0) xsmsubasp vs38,vs20,vs26
|
||||
1f8: (f3 53 30 c0|c0 30 53 f3) xsdivsp vs26,vs19,vs6
|
||||
1fc: (f0 65 b8 cf|cf b8 65 f0) xsmsubmsp vs35,vs37,vs55
|
||||
200: (f3 60 40 69|69 40 60 f3) xsresp vs59,vs8
|
||||
204: (f1 81 0c 0f|0f 0c 81 f1) xsnmaddasp vs44,vs33,vs33
|
||||
208: (f2 3e f4 4c|4c f4 3e f2) xsnmaddmsp vs17,vs62,vs30
|
||||
20c: (f2 d4 fc 8d|8d fc d4 f2) xsnmsubasp vs54,vs52,vs31
|
||||
210: (f0 a5 d4 cb|cb d4 a5 f0) xsnmsubmsp vs37,vs5,vs58
|
||||
214: (f3 d6 65 56|56 65 d6 f3) xxlorc vs30,vs54,vs44
|
||||
218: (f2 2e ed 91|91 ed 2e f2) xxlnand vs49,vs14,vs29
|
||||
21c: (f3 d6 f5 d1|d1 f5 d6 f3) xxleqv vs62,vs22,vs30
|
||||
220: (f3 80 b4 2f|2f b4 80 f3) xscvdpspn vs60,vs54
|
||||
224: (f2 c0 6c 66|66 6c c0 f2) xsrsp vs22,vs45
|
||||
228: (f3 40 dc a2|a2 dc 40 f3) xscvuxdsp vs26,vs59
|
||||
22c: (f0 c0 8c e3|e3 8c c0 f0) xscvsxdsp vs38,vs49
|
||||
230: (f3 60 d5 2d|2d d5 60 f3) xscvspdpn vs59,vs26
|
||||
234: (ff 0e 16 8c|8c 16 0e ff) fmrgow f24,f14,f2
|
||||
238: (fe c7 2f 8c|8c 2f c7 fe) fmrgew f22,f7,f5
|
||||
#pass
|
||||
|
@ -19,3 +19,126 @@ power8:
|
||||
tresume.
|
||||
ori 2,2,0
|
||||
.p2align 4,,15
|
||||
rfebb 0
|
||||
rfebb
|
||||
rfebb 1
|
||||
bctar- 12,21
|
||||
bctarl- 4,7
|
||||
bctar+ 12,12
|
||||
bctarl+ 4,2
|
||||
bctar 4,8,1
|
||||
bctarl 4,7,2
|
||||
waitasec
|
||||
msgsndp 8
|
||||
mtsle 1
|
||||
msgclrp 27
|
||||
stqcx. 10,10,12
|
||||
stqcx. 28,0,7
|
||||
lqarx 24,19,11,0
|
||||
lqarx 22,0,11,0
|
||||
mfbhrbe 20,6
|
||||
pbt. 29,17,16
|
||||
pbt. 14,0,7
|
||||
clrbhrb
|
||||
vpermxor 11,10,0,23
|
||||
vaddeuqm 24,2,7,4
|
||||
vaddecuq 10,10,8,2
|
||||
vsubeuqm 5,15,8,19
|
||||
vsubecuq 12,31,16,29
|
||||
vmulouw 20,29,13
|
||||
vmuluwm 29,0,26
|
||||
vaddudm 8,21,28
|
||||
vmaxud 1,26,1
|
||||
vrld 20,3,1
|
||||
vcmpequd 4,19,11
|
||||
vadduqm 23,14,30
|
||||
vaddcuq 8,8,13
|
||||
vmulosw 28,27,4
|
||||
vmaxsd 3,4,4
|
||||
vmuleuw 0,19,21
|
||||
vminud 24,20,19
|
||||
vcmpgtud 0,28,15
|
||||
vmulesw 21,0,2
|
||||
vminsd 9,26,9
|
||||
vsrad 25,29,11
|
||||
vcmpgtsd 11,28,11
|
||||
bcdadd. 5,8,26,1
|
||||
vpmsumb 4,3,12
|
||||
bcdsub. 26,31,21,1
|
||||
vpmsumh 5,17,16
|
||||
vpkudum 23,17,20
|
||||
vpmsumw 24,21,29
|
||||
vpmsumd 9,22,13
|
||||
vpkudus 18,19,18
|
||||
vsubuqm 30,16,22
|
||||
vcipher 14,11,7
|
||||
vcipherlast 10,2,22
|
||||
vgbbd 23,13
|
||||
vsubcuq 16,25,16
|
||||
vorc 31,1,5
|
||||
vncipher 4,17,31
|
||||
vncipherlast 24,2,27
|
||||
vbpermq 23,21,23
|
||||
vpksdus 27,18,9
|
||||
vnand 27,29,27
|
||||
vsld 19,19,24
|
||||
vsbox 5,13
|
||||
vpksdss 25,3,7
|
||||
vcmpequd. 28,8,0
|
||||
vupkhsw 26,26
|
||||
vshasigmaw 5,7,0,6
|
||||
veqv 28,21,14
|
||||
vmrgow 1,8,19
|
||||
vshasigmad 0,10,0,10
|
||||
vsrd 5,27,14
|
||||
vupklsw 11,13
|
||||
vclzb 14,16
|
||||
vpopcntb 20,27
|
||||
vclzh 28,11
|
||||
vpopcnth 24,9
|
||||
vclzw 27,31
|
||||
vpopcntw 17,19
|
||||
vclzd 12,29
|
||||
vpopcntd 23,22
|
||||
vcmpgtud. 24,20,29
|
||||
vcmpgtsd. 9,6,27
|
||||
lxsiwzx 62,14,26
|
||||
lxsiwzx 40,0,25
|
||||
lxsiwax 25,0,26
|
||||
lxsiwax 3,0,3
|
||||
mfvsrd 12,62
|
||||
mfvsrwz 20,12
|
||||
stxsiwx 14,9,14
|
||||
stxsiwx 21,0,8
|
||||
mtvsrd 48,11
|
||||
mtvsrwa 63,23
|
||||
mtvsrwz 16,26
|
||||
lxsspx 13,19,13
|
||||
lxsspx 18,0,13
|
||||
stxsspx 43,2,4
|
||||
stxsspx 55,0,11
|
||||
xsaddsp 54,48,25
|
||||
xsmaddasp 14,50,1
|
||||
xssubsp 26,22,42
|
||||
xsmaddmsp 27,53,52
|
||||
xsrsqrtesp 8,59
|
||||
xssqrtsp 12,41
|
||||
xsmulsp 57,11,32
|
||||
xsmsubasp 38,20,26
|
||||
xsdivsp 26,19,6
|
||||
xsmsubmsp 35,37,55
|
||||
xsresp 59,8
|
||||
xsnmaddasp 44,33,33
|
||||
xsnmaddmsp 17,62,30
|
||||
xsnmsubasp 54,52,31
|
||||
xsnmsubmsp 37,5,58
|
||||
xxlorc 30,54,44
|
||||
xxlnand 49,14,29
|
||||
xxleqv 62,22,30
|
||||
xscvdpspn 60,54
|
||||
xsrsp 22,45
|
||||
xscvuxdsp 26,59
|
||||
xscvsxdsp 38,49
|
||||
xscvspdpn 59,26
|
||||
fmrgow 24,14,2
|
||||
fmrgew 22,7,5
|
||||
|
@ -85,6 +85,7 @@ if { [istarget powerpc*-*-*] } then {
|
||||
run_dump_test "power7"
|
||||
run_dump_test "power8"
|
||||
run_dump_test "vsx"
|
||||
run_dump_test "vsx2"
|
||||
run_dump_test "htm"
|
||||
run_dump_test "titan"
|
||||
}
|
||||
|
@ -166,3 +166,8 @@ Disassembly of section \.text:
|
||||
26c: (f1 12 e7 bf|bf e7 12 f1) xxsel vs40,vs50,vs60,vs62
|
||||
270: (f1 12 e2 17|17 e2 12 f1) xxsldwi vs40,vs50,vs60,2
|
||||
274: (f1 02 e2 93|93 e2 02 f1) xxspltw vs40,vs60,2
|
||||
278: (7d 00 a6 99|99 a6 00 7d) lxvd2x vs40,0,r20
|
||||
27c: (7d 0a a6 99|99 a6 0a 7d) lxvd2x vs40,r10,r20
|
||||
280: (7d 00 a7 99|99 a7 00 7d) stxvd2x vs40,0,r20
|
||||
284: (7d 0a a7 99|99 a7 0a 7d) stxvd2x vs40,r10,r20
|
||||
#pass
|
||||
|
@ -158,3 +158,7 @@ start:
|
||||
xxsel 40,50,60,62
|
||||
xxsldwi 40,50,60,2
|
||||
xxspltw 40,60,2
|
||||
lxvx 40,0,20
|
||||
lxvx 40,10,20
|
||||
stxvx 40,0,20
|
||||
stxvx 40,10,20
|
||||
|
64
gas/testsuite/gas/ppc/vsx2.d
Normal file
64
gas/testsuite/gas/ppc/vsx2.d
Normal file
@ -0,0 +1,64 @@
|
||||
#as: -mvsx
|
||||
#objdump: -dr -Mvsx
|
||||
#name: VSX ISA 2.07 instructions
|
||||
|
||||
.*
|
||||
|
||||
Disassembly of section \.text:
|
||||
|
||||
0+00 <vsx2>:
|
||||
0: (7f ce d0 19|19 d0 ce 7f) lxsiwzx vs62,r14,r26
|
||||
4: (7d 00 c8 19|19 c8 00 7d) lxsiwzx vs40,0,r25
|
||||
8: (7f 20 d0 98|98 d0 20 7f) lxsiwax vs25,0,r26
|
||||
c: (7c 60 18 98|98 18 60 7c) lxsiwax vs3,0,r3
|
||||
10: (7f cc 00 66|66 00 cc 7f) mfvsrd r12,vs30
|
||||
14: (7f cc 00 66|66 00 cc 7f) mfvsrd r12,vs30
|
||||
18: (7f cc 00 67|67 00 cc 7f) mfvsrd r12,vs62
|
||||
1c: (7f cc 00 67|67 00 cc 7f) mfvsrd r12,vs62
|
||||
20: (7d 94 00 e6|e6 00 94 7d) mffprwz r20,f12
|
||||
24: (7d 94 00 e6|e6 00 94 7d) mffprwz r20,f12
|
||||
28: (7d 95 00 e7|e7 00 95 7d) mfvrwz r21,v12
|
||||
2c: (7d 95 00 e7|e7 00 95 7d) mfvrwz r21,v12
|
||||
30: (7d c9 71 18|18 71 c9 7d) stxsiwx vs14,r9,r14
|
||||
34: (7e a0 41 18|18 41 a0 7e) stxsiwx vs21,0,r8
|
||||
38: (7d 7c 01 66|66 01 7c 7d) mtvsrd vs11,r28
|
||||
3c: (7d 7c 01 66|66 01 7c 7d) mtvsrd vs11,r28
|
||||
40: (7d 7d 01 67|67 01 7d 7d) mtvsrd vs43,r29
|
||||
44: (7d 7d 01 67|67 01 7d 7d) mtvsrd vs43,r29
|
||||
48: (7f 16 01 a6|a6 01 16 7f) mtfprwa f24,r22
|
||||
4c: (7f 16 01 a6|a6 01 16 7f) mtfprwa f24,r22
|
||||
50: (7f 37 01 a7|a7 01 37 7f) mtvrwa v25,r23
|
||||
54: (7f 37 01 a7|a7 01 37 7f) mtvrwa v25,r23
|
||||
58: (7f 5b 01 e6|e6 01 5b 7f) mtfprwz f26,r27
|
||||
5c: (7f 5b 01 e6|e6 01 5b 7f) mtfprwz f26,r27
|
||||
60: (7f 7c 01 e7|e7 01 7c 7f) mtvrwz v27,r28
|
||||
64: (7f 7c 01 e7|e7 01 7c 7f) mtvrwz v27,r28
|
||||
68: (7d b3 6c 18|18 6c b3 7d) lxsspx vs13,r19,r13
|
||||
6c: (7e 40 6c 18|18 6c 40 7e) lxsspx vs18,0,r13
|
||||
70: (7d 62 25 19|19 25 62 7d) stxsspx vs43,r2,r4
|
||||
74: (7e e0 5d 19|19 5d e0 7e) stxsspx vs55,0,r11
|
||||
78: (f2 d0 c8 05|05 c8 d0 f2) xsaddsp vs54,vs48,vs25
|
||||
7c: (f1 d2 08 0c|0c 08 d2 f1) xsmaddasp vs14,vs50,vs1
|
||||
80: (f3 56 50 42|42 50 56 f3) xssubsp vs26,vs22,vs42
|
||||
84: (f3 75 a0 4e|4e a0 75 f3) xsmaddmsp vs27,vs53,vs52
|
||||
88: (f1 00 d8 2a|2a d8 00 f1) xsrsqrtesp vs8,vs59
|
||||
8c: (f1 80 48 2e|2e 48 80 f1) xssqrtsp vs12,vs41
|
||||
90: (f3 2b 00 83|83 00 2b f3) xsmulsp vs57,vs11,vs32
|
||||
94: (f0 d4 d0 89|89 d0 d4 f0) xsmsubasp vs38,vs20,vs26
|
||||
98: (f3 53 30 c0|c0 30 53 f3) xsdivsp vs26,vs19,vs6
|
||||
9c: (f0 65 b8 cf|cf b8 65 f0) xsmsubmsp vs35,vs37,vs55
|
||||
a0: (f3 60 40 69|69 40 60 f3) xsresp vs59,vs8
|
||||
a4: (f1 81 0c 0f|0f 0c 81 f1) xsnmaddasp vs44,vs33,vs33
|
||||
a8: (f2 3e f4 4c|4c f4 3e f2) xsnmaddmsp vs17,vs62,vs30
|
||||
ac: (f2 d4 fc 8d|8d fc d4 f2) xsnmsubasp vs54,vs52,vs31
|
||||
b0: (f0 a5 d4 cb|cb d4 a5 f0) xsnmsubmsp vs37,vs5,vs58
|
||||
b4: (f3 d6 65 56|56 65 d6 f3) xxlorc vs30,vs54,vs44
|
||||
b8: (f2 2e ed 91|91 ed 2e f2) xxlnand vs49,vs14,vs29
|
||||
bc: (f3 d6 f5 d1|d1 f5 d6 f3) xxleqv vs62,vs22,vs30
|
||||
c0: (f3 80 b4 2f|2f b4 80 f3) xscvdpspn vs60,vs54
|
||||
c4: (f2 c0 6c 66|66 6c c0 f2) xsrsp vs22,vs45
|
||||
c8: (f3 40 dc a2|a2 dc 40 f3) xscvuxdsp vs26,vs59
|
||||
cc: (f0 c0 8c e3|e3 8c c0 f0) xscvsxdsp vs38,vs49
|
||||
d0: (f3 60 d5 2d|2d d5 60 f3) xscvspdpn vs59,vs26
|
||||
d4: (ff 0e 16 8c|8c 16 0e ff) fmrgow f24,f14,f2
|
||||
d8: (fe c7 2f 8c|8c 2f c7 fe) fmrgew f22,f7,f5
|
57
gas/testsuite/gas/ppc/vsx2.s
Normal file
57
gas/testsuite/gas/ppc/vsx2.s
Normal file
@ -0,0 +1,57 @@
|
||||
.text
|
||||
vsx2:
|
||||
lxsiwzx 62,14,26
|
||||
lxsiwzx 40,0,25
|
||||
lxsiwax 25,0,26
|
||||
lxsiwax 3,0,3
|
||||
mfvsrd 12,30
|
||||
mffprd 12,30
|
||||
mfvsrd 12,62
|
||||
mfvrd 12,30
|
||||
mfvsrwz 20,12
|
||||
mffprwz 20,12
|
||||
mfvsrwz 21,44
|
||||
mfvrwz 21,12
|
||||
stxsiwx 14,9,14
|
||||
stxsiwx 21,0,8
|
||||
mtvsrd 11,28
|
||||
mtfprd 11,28
|
||||
mtvsrd 43,29
|
||||
mtvrd 11,29
|
||||
mtvsrwa 24,22
|
||||
mtfprwa 24,22
|
||||
mtvsrwa 57,23
|
||||
mtvrwa 25,23
|
||||
mtvsrwz 26,27
|
||||
mtfprwz 26,27
|
||||
mtvsrwz 59,28
|
||||
mtvrwz 27,28
|
||||
lxsspx 13,19,13
|
||||
lxsspx 18,0,13
|
||||
stxsspx 43,2,4
|
||||
stxsspx 55,0,11
|
||||
xsaddsp 54,48,25
|
||||
xsmaddasp 14,50,1
|
||||
xssubsp 26,22,42
|
||||
xsmaddmsp 27,53,52
|
||||
xsrsqrtesp 8,59
|
||||
xssqrtsp 12,41
|
||||
xsmulsp 57,11,32
|
||||
xsmsubasp 38,20,26
|
||||
xsdivsp 26,19,6
|
||||
xsmsubmsp 35,37,55
|
||||
xsresp 59,8
|
||||
xsnmaddasp 44,33,33
|
||||
xsnmaddmsp 17,62,30
|
||||
xsnmsubasp 54,52,31
|
||||
xsnmsubmsp 37,5,58
|
||||
xxlorc 30,54,44
|
||||
xxlnand 49,14,29
|
||||
xxleqv 62,22,30
|
||||
xscvdpspn 60,54
|
||||
xsrsp 22,45
|
||||
xscvuxdsp 26,59
|
||||
xscvsxdsp 38,49
|
||||
xscvspdpn 59,26
|
||||
fmrgow 24,14,2
|
||||
fmrgew 22,7,5
|
@ -1,3 +1,28 @@
|
||||
2013-05-20 Peter Bergner <bergner@vnet.ibm.com>
|
||||
|
||||
* ppc-dis.c (powerpc_init_dialect): Set default dialect to power8.
|
||||
* ppc-opc.c (BHRBE, ST, SIX, PS, SXL, VXPS_MASK, XX1RB_MASK,
|
||||
XLS_MASK, PPCVSX2): New defines.
|
||||
(powerpc_opcodes) <bcdadd., bcdsub., bctar, bctar, bctarl, clrbhrb,
|
||||
fmrgew, fmrgow, lqarx, lxsiwax, lxsiwzx, lxsspx, mfbhrbe,
|
||||
mffprd, mffprwz, mfvrd, mfvrwz, mfvsrd, mfvsrwz, msgclrp, msgsndp,
|
||||
mtfprd, mtfprwa, mtfprwz, mtsle, mtvrd, mtvrwa, mtvrwz, mtvsrd,
|
||||
mtvsrwa, mtvsrwz, pbt., rfebb, stqcx., stxsiwx, stxsspx,
|
||||
vaddcuq, vaddecuq, vaddeuqm, vaddudm, vadduqm, vbpermq, vcipher,
|
||||
vcipherlast, vclzb, vclzd, vclzh, vclzw, vcmpequd, vcmpequd.,
|
||||
vcmpgtsd, vcmpgtsd., vcmpgtud, vcmpgtud., veqv, vgbbd, vmaxsd,
|
||||
vmaxud, vminsd, vminud, vmrgew, vmrgow, vmulesw, vmuleuw, vmulosw,
|
||||
vmulouw, vmuluwm, vnand, vncipher, vncipherlast, vorc, vpermxor,
|
||||
vpksdss, vpksdus, vpkudum, vpkudus, vpmsumb, vpmsumd, vpmsumh,
|
||||
vpmsumw, vpopcntb, vpopcntd, vpopcnth, vpopcntw, vrld, vsbox,
|
||||
vshasigmad, vshasigmaw, vsld, vsrad, vsrd, vsubcuq, vsubecuq,
|
||||
vsubeuqm, vsubudm, vsubuqm, vupkhsw, vupklsw, waitasec, xsaddsp,
|
||||
xscvdpspn, xscvspdpn, xscvsxdsp, xscvuxdsp, xsdivsp, xsmaddasp,
|
||||
xsmaddmsp, xsmsubasp, xsmsubmsp, xsmulsp, xsnmaddasp, xsnmaddmsp,
|
||||
xsnmsubasp, xsnmsubmsp, xsresp, xsrsp, xsrsqrtesp, xssqrtsp,
|
||||
xssubsp, xxleqv, xxlnand, xxlorc>: New instructions.
|
||||
<lxvx, stxvx>: New extended mnemonics.
|
||||
|
||||
2013-05-17 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* ia64-raw.tbl: Replace non-ASCII char.
|
||||
|
@ -315,10 +315,7 @@ powerpc_init_dialect (struct disassemble_info *info)
|
||||
dialect = (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_VLE);
|
||||
break;
|
||||
default:
|
||||
dialect = (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
|
||||
| PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6
|
||||
| PPC_OPCODE_POWER7 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX
|
||||
| PPC_OPCODE_ANY);
|
||||
dialect = ppc_parse_cpu (dialect, &sticky, "power8") | PPC_OPCODE_ANY;
|
||||
}
|
||||
|
||||
arg = info->disassembler_options;
|
||||
|
@ -315,14 +315,18 @@ const struct powerpc_operand powerpc_operands[] =
|
||||
{ 0xfffc, 0, NULL, NULL,
|
||||
PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED | PPC_OPERAND_DS },
|
||||
|
||||
/* The DUIS field in a XFX form instruction, 10 bits unsigned imediate */
|
||||
/* The DUIS or BHRBE fields in a XFX form instruction, 10 bits
|
||||
unsigned imediate */
|
||||
#define DUIS DS + 1
|
||||
#define BHRBE DUIS
|
||||
{ 0x3ff, 11, NULL, NULL, 0 },
|
||||
|
||||
/* The E field in a wrteei instruction. */
|
||||
/* And the W bit in the pair singles instructions. */
|
||||
/* And the ST field in a VX form instruction. */
|
||||
#define E DUIS + 1
|
||||
#define PSW E
|
||||
#define ST E
|
||||
{ 0x1, 15, NULL, NULL, 0 },
|
||||
|
||||
/* The FL1 field in a POWER SC form instruction. */
|
||||
@ -695,8 +699,16 @@ const struct powerpc_operand powerpc_operands[] =
|
||||
#define UIMM3 UIMM + 1
|
||||
{ 0x7, 16, NULL, NULL, 0 },
|
||||
|
||||
/* The SIX field in a VX form instruction. */
|
||||
#define SIX UIMM3 + 1
|
||||
{ 0xf, 11, NULL, NULL, 0 },
|
||||
|
||||
/* The PS field in a VX form instruction. */
|
||||
#define PS SIX + 1
|
||||
{ 0x1, 9, NULL, NULL, 0 },
|
||||
|
||||
/* The SHB field in a VA form instruction. */
|
||||
#define SHB UIMM3 + 1
|
||||
#define SHB PS + 1
|
||||
{ 0xf, 6, NULL, NULL, 0 },
|
||||
|
||||
/* The other UIMM field in a half word EVX form instruction. */
|
||||
@ -751,8 +763,12 @@ const struct powerpc_operand powerpc_operands[] =
|
||||
#define S SP + 1
|
||||
{ 0x1, 20, NULL, NULL, 0 },
|
||||
|
||||
/* The S field in a XL form instruction. */
|
||||
#define SXL S + 1
|
||||
{ 0x1, 11, NULL, NULL, PPC_OPERAND_OPTIONAL },
|
||||
|
||||
/* SH field starting at bit position 16. */
|
||||
#define SH16 S + 1
|
||||
#define SH16 SXL + 1
|
||||
/* The DCM and DGM fields in a Z form instruction. */
|
||||
#define DCM SH16
|
||||
#define DGM DCM
|
||||
@ -2325,6 +2341,9 @@ extract_vleil (unsigned long insn,
|
||||
/* A VX_MASK with a UIMM2 field. */
|
||||
#define VXUIMM2_MASK (VX_MASK | (0x7 << 18))
|
||||
|
||||
/* A VX_MASK with a PS field. */
|
||||
#define VXPS_MASK (VX_MASK & ~(0x1 << 9))
|
||||
|
||||
/* A VA form instruction. */
|
||||
#define VXA(op, xop) (OP (op) | (((unsigned long)(xop)) & 0x03f))
|
||||
|
||||
@ -2379,6 +2398,9 @@ extract_vleil (unsigned long insn,
|
||||
/* The mask for an XX1 form instruction. */
|
||||
#define XX1_MASK X (0x3f, 0x3ff)
|
||||
|
||||
/* An XX1_MASK with the RB field fixed. */
|
||||
#define XX1RB_MASK (XX1_MASK | RB_MASK)
|
||||
|
||||
/* The mask for an XX2 form instruction. */
|
||||
#define XX2_MASK (XX2 (0x3f, 0x1ff) | (0x1f << 16))
|
||||
|
||||
@ -2516,6 +2538,9 @@ extract_vleil (unsigned long insn,
|
||||
/* The mask for an XL form instruction. */
|
||||
#define XL_MASK XLLK (0x3f, 0x3ff, 1)
|
||||
|
||||
/* An XL_MASK with the RT, RA and RB fields fixed, but S bit clear. */
|
||||
#define XLS_MASK ((XL_MASK | RT_MASK | RA_MASK | RB_MASK) & ~(1 << 11))
|
||||
|
||||
/* An XL form instruction which explicitly sets the BO field. */
|
||||
#define XLO(op, bo, xop, lk) \
|
||||
(XLLK ((op), (xop), (lk)) | ((((unsigned long)(bo)) & 0x1f) << 21))
|
||||
@ -2699,6 +2724,7 @@ extract_vleil (unsigned long insn,
|
||||
#define PPCVEC PPC_OPCODE_ALTIVEC
|
||||
#define PPCVEC2 PPC_OPCODE_ALTIVEC2
|
||||
#define PPCVSX PPC_OPCODE_VSX
|
||||
#define PPCVSX2 PPC_OPCODE_VSX
|
||||
#define POWER PPC_OPCODE_POWER
|
||||
#define POWER2 PPC_OPCODE_POWER | PPC_OPCODE_POWER2
|
||||
#define PWR2COM PPC_OPCODE_POWER | PPC_OPCODE_POWER2 | PPC_OPCODE_COMMON
|
||||
@ -2845,6 +2871,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"vperm", VXA(4, 43), VXA_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB, VC}},
|
||||
{"vsldoi", VXA(4, 44), VXASHB_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB, SHB}},
|
||||
{"ps_sel", A (4, 23,0), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
|
||||
{"vpermxor", VXA(4, 45), VXA_MASK, PPCVEC2, PPCNONE, {VD, VA, VB, VC}},
|
||||
{"vmaddfp", VXA(4, 46), VXA_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VC, VB}},
|
||||
{"ps_sel.", A (4, 23,1), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
|
||||
{"vnmsubfp", VXA(4, 47), VXA_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VC, VB}},
|
||||
@ -2863,6 +2890,10 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"ps_nmadd", A (4, 31,0), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
|
||||
{"ps_nmadd.", A (4, 31,1), A_MASK, PPCPS, PPCNONE, {FRT, FRA, FRC, FRB}},
|
||||
{"ps_cmpo0", X (4, 32), X_MASK|(3<<21), PPCPS, PPCNONE, {BF, FRA, FRB}},
|
||||
{"vaddeuqm", VXA(4, 60), VXA_MASK, PPCVEC2, PPCNONE, {VD, VA, VB, VC}},
|
||||
{"vaddecuq", VXA(4, 61), VXA_MASK, PPCVEC2, PPCNONE, {VD, VA, VB, VC}},
|
||||
{"vsubeuqm", VXA(4, 62), VXA_MASK, PPCVEC2, PPCNONE, {VD, VA, VB, VC}},
|
||||
{"vsubecuq", VXA(4, 63), VXA_MASK, PPCVEC2, PPCNONE, {VD, VA, VB, VC}},
|
||||
{"vadduhm", VX (4, 64), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vmaxuh", VX (4, 66), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vrlh", VX (4, 68), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
@ -2886,6 +2917,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"vmaxuw", VX (4, 130), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vrlw", VX (4, 132), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vcmpequw", VXR(4, 134,0), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vmulouw", VX (4, 136), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vmuluwm", VX (4, 137), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vmrghw", VX (4, 140), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vpkuhus", VX (4, 142), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"ps_mr", XRC(4, 72,0), XRA_MASK, PPCPS, PPCNONE, {FRT, FRB}},
|
||||
@ -2893,12 +2926,17 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"machhwsu", XO (4, 76,0,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"machhwsu.", XO (4, 76,0,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"ps_cmpo1", X (4, 96), X_MASK|(3<<21), PPCPS, PPCNONE, {BF, FRA, FRB}},
|
||||
{"vaddudm", VX (4, 192), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vmaxud", VX (4, 194), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vrld", VX (4, 196), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vcmpeqfp", VXR(4, 198,0), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vcmpequd", VXR(4, 199,0), VXR_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vpkuwus", VX (4, 206), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"machhws", XO (4, 108,0,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"machhws.", XO (4, 108,0,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"nmachhws", XO (4, 110,0,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"nmachhws.", XO (4, 110,0,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"vadduqm", VX (4, 256), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vmaxsb", VX (4, 258), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vslb", VX (4, 260), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vmulosb", VX (4, 264), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
@ -2911,6 +2949,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"mulchwu.", XRC(4, 136,1), X_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"macchwu", XO (4, 140,0,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"macchwu.", XO (4, 140,0,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"vaddcuq", VX (4, 320), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vmaxsh", VX (4, 322), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vslh", VX (4, 324), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vmulosh", VX (4, 328), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
@ -2926,11 +2965,13 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"vaddcuw", VX (4, 384), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vmaxsw", VX (4, 386), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vslw", VX (4, 388), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vmulosw", VX (4, 392), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vexptefp", VX (4, 394), VXVA_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VB}},
|
||||
{"vmrglw", VX (4, 396), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vpkshss", VX (4, 398), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"macchwsu", XO (4, 204,0,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"macchwsu.", XO (4, 204,0,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"vmaxsd", VX (4, 450), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vsl", VX (4, 452), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vcmpgefp", VXR(4, 454,0), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vlogefp", VX (4, 458), VXVA_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VB}},
|
||||
@ -3014,6 +3055,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"evfsnabs", VX (4, 645), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA}},
|
||||
{"evfsneg", VX (4, 646), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA}},
|
||||
{"vcmpgtuw", VXR(4, 646,0), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vmuleuw", VX (4, 648), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"evfsmul", VX (4, 648), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evfsdiv", VX (4, 649), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vrfip", VX (4, 650), VXVA_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VB}},
|
||||
@ -3039,11 +3081,13 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"cput", APU(4, 348,0), APU_RT_MASK, PPC405, PPCNONE, {RA, FSL}},
|
||||
{"efsadd", VX (4, 704), VX_MASK, PPCEFS|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"efssub", VX (4, 705), VX_MASK, PPCEFS|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vminud", VX (4, 706), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"efsabs", VX (4, 708), VX_MASK, PPCEFS|PPCVLE, PPCNONE, {RS, RA}},
|
||||
{"vsr", VX (4, 708), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"efsnabs", VX (4, 709), VX_MASK, PPCEFS|PPCVLE, PPCNONE, {RS, RA}},
|
||||
{"efsneg", VX (4, 710), VX_MASK, PPCEFS|PPCVLE, PPCNONE, {RS, RA}},
|
||||
{"vcmpgtfp", VXR(4, 710,0), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vcmpgtud", VXR(4, 711,0), VXR_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"efsmul", VX (4, 712), VX_MASK, PPCEFS|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"efsdiv", VX (4, 713), VX_MASK, PPCEFS|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vrfim", VX (4, 714), VXVA_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VB}},
|
||||
@ -3163,12 +3207,16 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"vminsw", VX (4, 898), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vsraw", VX (4, 900), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vcmpgtsw", VXR(4, 902,0), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vmulesw", VX (4, 904), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vctuxs", VX (4, 906), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VB, UIMM}},
|
||||
{"vcfpuxws", VX (4, 906), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VB, UIMM}},
|
||||
{"vspltisw", VX (4, 908), VXVB_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, SIMM}},
|
||||
{"maclhwsu", XO (4, 460,0,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"maclhwsu.", XO (4, 460,0,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"vminsd", VX (4, 962), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vsrad", VX (4, 964), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vcmpbfp", VXR(4, 966,0), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vcmpgtsd", VXR(4, 967,0), VXR_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vctsxs", VX (4, 970), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VB, UIMM}},
|
||||
{"vcfpsxws", VX (4, 970), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VB, UIMM}},
|
||||
{"vupklpx", VX (4, 974), VXVA_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VB}},
|
||||
@ -3177,6 +3225,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"nmaclhws", XO (4, 494,0,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"nmaclhws.", XO (4, 494,0,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"vsububm", VX (4,1024), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"bcdadd.", VX (4,1025), VXPS_MASK, PPCVEC2, PPCNONE, {VD, VA, VB, PS}},
|
||||
{"vavgub", VX (4,1026), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vabsdub", VX (4,1027), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"evmhessf", VX (4,1027), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
@ -3185,6 +3234,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"udi0fcm.", APU(4, 515,0), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
|
||||
{"udi0fcm", APU(4, 515,1), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
|
||||
{"evmhossf", VX (4,1031), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vpmsumb", VX (4,1032), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"evmheumi", VX (4,1032), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evmhesmi", VX (4,1033), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vmaxfp", VX (4,1034), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
@ -3206,6 +3256,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"evmhosmia", VX (4,1069), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evmhosmfa", VX (4,1071), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vsubuhm", VX (4,1088), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"bcdsub.", VX (4,1089), VXPS_MASK, PPCVEC2, PPCNONE, {VD, VA, VB, PS}},
|
||||
{"vavguh", VX (4,1090), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vabsduh", VX (4,1091), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vandc", VX (4,1092), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
@ -3213,11 +3264,13 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"udi1fcm.", APU(4, 547,0), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
|
||||
{"udi1fcm", APU(4, 547,1), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
|
||||
{"evmwhssf", VX (4,1095), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vpmsumh", VX (4,1096), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"evmwlumi", VX (4,1096), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vminfp", VX (4,1098), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"evmwhumi", VX (4,1100), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vsro", VX (4,1100), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"evmwhsmi", VX (4,1101), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vpkudum", VX (4,1102), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"evmwhsmf", VX (4,1103), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evmwssf", VX (4,1107), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"machhwo", XO (4, 44,1,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
@ -3243,6 +3296,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"vabsduw", VX (4,1155), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vmr", VX (4,1156), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VBA}},
|
||||
{"vor", VX (4,1156), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vpmsumw", VX (4,1160), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vcmpequw.", VXR(4, 134,1), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"udi2fcm.", APU(4, 579,0), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
|
||||
{"udi2fcm", APU(4, 579,1), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
|
||||
@ -3250,6 +3304,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"machhwsuo.", XO (4, 76,1,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"ps_merge10", XOPS(4,592,0), XOPS_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
|
||||
{"ps_merge10.", XOPS(4,592,1), XOPS_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
|
||||
{"vsubudm", VX (4,1216), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"evaddusiaaw", VX (4,1216), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA}},
|
||||
{"evaddssiaaw", VX (4,1217), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA}},
|
||||
{"evsubfusiaaw",VX (4,1218), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA}},
|
||||
@ -3259,18 +3314,22 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"evdivws", VX (4,1222), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vcmpeqfp.", VXR(4, 198,1), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"udi3fcm.", APU(4, 611,0), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
|
||||
{"vcmpequd.", VXR(4, 199,1), VXR_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"udi3fcm", APU(4, 611,1), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
|
||||
{"evdivwu", VX (4,1223), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vpmsumd", VX (4,1224), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"evaddumiaaw", VX (4,1224), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA}},
|
||||
{"evaddsmiaaw", VX (4,1225), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA}},
|
||||
{"evsubfumiaaw",VX (4,1226), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA}},
|
||||
{"evsubfsmiaaw",VX (4,1227), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA}},
|
||||
{"vpkudus", VX (4,1230), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"machhwso", XO (4, 108,1,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"machhwso.", XO (4, 108,1,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"nmachhwso", XO (4, 110,1,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"nmachhwso.", XO (4, 110,1,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"ps_merge11", XOPS(4,624,0), XOPS_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
|
||||
{"ps_merge11.", XOPS(4,624,1), XOPS_MASK, PPCPS, PPCNONE, {FRT, FRA, FRB}},
|
||||
{"vsubuqm", VX (4,1280), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"evmheusiaaw", VX (4,1280), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evmhessiaaw", VX (4,1281), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vavgsb", VX (4,1282), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
@ -3283,8 +3342,11 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"udi4fcm", APU(4, 643,1), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
|
||||
{"evmhossfaaw", VX (4,1287), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evmheumiaaw", VX (4,1288), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vcipher", VX (4,1288), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vcipherlast", VX (4,1289), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"evmhesmiaaw", VX (4,1289), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evmhesmfaaw", VX (4,1291), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vgbbd", VX (4,1292), VXVA_MASK, PPCVEC2, PPCNONE, {VD, VB}},
|
||||
{"evmhoumiaaw", VX (4,1292), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evmhosmiaaw", VX (4,1293), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evmhosmfaaw", VX (4,1295), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
@ -3296,13 +3358,19 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"evmhogumiaa", VX (4,1324), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evmhogsmiaa", VX (4,1325), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evmhogsmfaa", VX (4,1327), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vsubcuq", VX (4,1344), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"evmwlusiaaw", VX (4,1344), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evmwlssiaaw", VX (4,1345), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vavgsh", VX (4,1346), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vorc", VX (4,1348), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"udi5fcm.", APU(4, 675,0), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
|
||||
{"udi5fcm", APU(4, 675,1), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
|
||||
{"vncipher", VX (4,1352), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"evmwlumiaaw", VX (4,1352), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vncipherlast",VX (4,1353), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"evmwlsmiaaw", VX (4,1353), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vbpermq", VX (4,1356), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vpksdus", VX (4,1358), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"evmwssfaa", VX (4,1363), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"macchwo", XO (4, 172,1,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"evmwumiaa", VX (4,1368), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
@ -3316,6 +3384,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"evmhessianw", VX (4,1409), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vavgsw", VX (4,1410), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"evmhessfanw", VX (4,1411), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vnand", VX (4,1412), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"evmhousianw", VX (4,1412), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evmhossianw", VX (4,1413), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"udi6fcm.", APU(4, 707,0), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
|
||||
@ -3337,11 +3406,14 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"evmhogsmfan", VX (4,1455), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evmwlusianw", VX (4,1472), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evmwlssianw", VX (4,1473), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vsld", VX (4,1476), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vcmpgefp.", VXR(4, 454,1), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"udi7fcm.", APU(4, 739,0), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
|
||||
{"udi7fcm", APU(4, 739,1), APU_MASK, PPC405|PPC440, PPC476, {URT, URA, URB}},
|
||||
{"vsbox", VX (4,1480), VXVB_MASK, PPCVEC2, PPCNONE, {VD, VA}},
|
||||
{"evmwlumianw", VX (4,1480), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"evmwlsmianw", VX (4,1481), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"vpksdss", VX (4,1486), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"evmwssfan", VX (4,1491), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
{"macchwso", XO (4, 236,1,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"evmwumian", VX (4,1496), VX_MASK, PPCSPE|PPCVLE, PPCNONE, {RS, RA, RB}},
|
||||
@ -3362,15 +3434,25 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"vsum4shs", VX (4,1608), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"udi9fcm.", APU(4, 804,0), APU_MASK, PPC440, PPC476, {URT, URA, URB}},
|
||||
{"udi9fcm", APU(4, 804,1), APU_MASK, PPC440, PPC476, {URT, URA, URB}},
|
||||
{"vupkhsw", VX (4,1614), VXVA_MASK, PPCVEC2, PPCNONE, {VD, VB}},
|
||||
{"vsubuws", VX (4,1664), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vshasigmaw", VX (4,1666), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, ST, SIX}},
|
||||
{"veqv", VX (4,1668), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vcmpgtuw.", VXR(4, 646,1), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"udi10fcm.", APU(4, 835,0), APU_MASK, PPC440, PPC476, {URT, URA, URB}},
|
||||
{"udi10fcm", APU(4, 835,1), APU_MASK, PPC440, PPC476, {URT, URA, URB}},
|
||||
{"vsum2sws", VX (4,1672), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vmrgow", VX (4,1676), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vshasigmad", VX (4,1730), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, ST, SIX}},
|
||||
{"vsrd", VX (4,1732), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"vcmpgtfp.", VXR(4, 710,1), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"udi11fcm.", APU(4, 867,0), APU_MASK, PPC440, PPC476, {URT, URA, URB}},
|
||||
{"vcmpgtud.", VXR(4, 711,1), VXR_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"udi11fcm", APU(4, 867,1), APU_MASK, PPC440, PPC476, {URT, URA, URB}},
|
||||
{"vupklsw", VX (4,1742), VXVA_MASK, PPCVEC2, PPCNONE, {VD, VB}},
|
||||
{"vsubsbs", VX (4,1792), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vclzb", VX (4,1794), VXVA_MASK, PPCVEC2, PPCNONE, {VD, VB}},
|
||||
{"vpopcntb", VX (4,1795), VXVA_MASK, PPCVEC2, PPCNONE, {VD, VB}},
|
||||
{"vcmpgtsb.", VXR(4, 774,1), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"udi12fcm.", APU(4, 899,0), APU_MASK, PPC440, PPC476, {URT, URA, URB}},
|
||||
{"udi12fcm", APU(4, 899,1), APU_MASK, PPC440, PPC476, {URT, URA, URB}},
|
||||
@ -3378,6 +3460,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"maclhwuo", XO (4, 396,1,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"maclhwuo.", XO (4, 396,1,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"vsubshs", VX (4,1856), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vclzh", VX (4,1858), VXVA_MASK, PPCVEC2, PPCNONE, {VD, VB}},
|
||||
{"vpopcnth", VX (4,1859), VXVA_MASK, PPCVEC2, PPCNONE, {VD, VB}},
|
||||
{"vcmpgtsh.", VXR(4, 838,1), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"udi13fcm.", APU(4, 931,0), APU_MASK, PPC440, PPC476, {URT, URA, URB}},
|
||||
{"udi13fcm", APU(4, 931,1), APU_MASK, PPC440, PPC476, {URT, URA, URB}},
|
||||
@ -3386,14 +3470,20 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"nmaclhwo", XO (4, 430,1,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"nmaclhwo.", XO (4, 430,1,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"vsubsws", VX (4,1920), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vclzw", VX (4,1922), VXVA_MASK, PPCVEC2, PPCNONE, {VD, VB}},
|
||||
{"vpopcntw", VX (4,1923), VXVA_MASK, PPCVEC2, PPCNONE, {VD, VB}},
|
||||
{"vcmpgtsw.", VXR(4, 902,1), VXR_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"udi14fcm.", APU(4, 963,0), APU_MASK, PPC440, PPC476, {URT, URA, URB}},
|
||||
{"udi14fcm", APU(4, 963,1), APU_MASK, PPC440, PPC476, {URT, URA, URB}},
|
||||
{"vsumsws", VX (4,1928), VX_MASK, PPCVEC|PPCVLE, PPCNONE, {VD, VA, VB}},
|
||||
{"vmrgew", VX (4,1932), VX_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"maclhwsuo", XO (4, 460,1,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"maclhwsuo.", XO (4, 460,1,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"vclzd", VX (4,1986), VXVA_MASK, PPCVEC2, PPCNONE, {VD, VB}},
|
||||
{"vpopcntd", VX (4,1987), VXVA_MASK, PPCVEC2, PPCNONE, {VD, VB}},
|
||||
{"vcmpbfp.", VXR(4, 966,1), VXR_MASK, PPCVEC, PPCNONE, {VD, VA, VB}},
|
||||
{"udi15fcm.", APU(4, 995,0), APU_MASK, PPC440, PPC476, {URT, URA, URB}},
|
||||
{"vcmpgtsd.", VXR(4, 967,1), VXR_MASK, PPCVEC2, PPCNONE, {VD, VA, VB}},
|
||||
{"udi15fcm", APU(4, 995,1), APU_MASK, PPC440, PPC476, {URT, URA, URB}},
|
||||
{"maclhwso", XO (4, 492,1,0),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"maclhwso.", XO (4, 492,1,1),XO_MASK, MULHW|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
@ -3965,6 +4055,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
|
||||
{"crandc", XL(19,129), XL_MASK, COM, PPCNONE, {BT, BA, BB}},
|
||||
|
||||
{"rfebb", XL(19,146), XLS_MASK, POWER8, PPCNONE, {SXL}},
|
||||
|
||||
{"isync", XL(19,150), 0xffffffff, PPCCOM, PPCNONE, {0}},
|
||||
{"ics", XL(19,150), 0xffffffff, PWRCOM, PPCNONE, {0}},
|
||||
|
||||
@ -4148,6 +4240,13 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"bcctrl", XLLK(19,528,1), XLBH_MASK, PPCCOM, PPCNONE, {BO, BI, BH}},
|
||||
{"bccl", XLLK(19,528,1), XLBB_MASK, PWRCOM, PPCNONE, {BO, BI}},
|
||||
|
||||
{"bctar-", XLYLK(19,560,0,0), XLYBB_MASK, POWER8, PPCNONE, {BOE, BI}},
|
||||
{"bctarl-", XLYLK(19,560,0,1), XLYBB_MASK, POWER8, PPCNONE, {BOE, BI}},
|
||||
{"bctar+", XLYLK(19,560,1,0), XLYBB_MASK, POWER8, PPCNONE, {BOE, BI}},
|
||||
{"bctarl+", XLYLK(19,560,1,1), XLYBB_MASK, POWER8, PPCNONE, {BOE, BI}},
|
||||
{"bctar", XLLK(19,560,0), XLBH_MASK, POWER8, PPCNONE, {BO, BI, BH}},
|
||||
{"bctarl", XLLK(19,560,1), XLBH_MASK, POWER8, PPCNONE, {BO, BI, BH}},
|
||||
|
||||
{"rlwimi", M(20,0), M_MASK, PPCCOM, PPCNONE, {RA, RS, SH, MBE, ME}},
|
||||
{"rlimi", M(20,0), M_MASK, PWRCOM, PPCNONE, {RA, RS, SH, MBE, ME}},
|
||||
|
||||
@ -4276,6 +4375,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"mulhwu", XO(31,11,0,0), XO_MASK, PPC|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"mulhwu.", XO(31,11,0,1), XO_MASK, PPC|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
|
||||
{"lxsiwzx", X(31,12), XX1_MASK, PPCVSX2, PPCNONE, {XT6, RA0, RB}},
|
||||
|
||||
{"isellt", X(31,15), X_MASK, PPCISEL, PPCNONE, {RT, RA0, RB}},
|
||||
|
||||
{"tlbilxlpid", XTO(31,18,0), XTO_MASK, E500MC|PPCA2, PPCNONE, {0}},
|
||||
@ -4316,6 +4417,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"maskg.", XRC(31,29,1), X_MASK, M601, PPCA2, {RA, RS, RB}},
|
||||
|
||||
{"ldepx", X(31,29), X_MASK, E500MC|PPCA2|PPCVLE, PPCNONE, {RT, RA0, RB}},
|
||||
|
||||
{"waitasec", X(31,30), XRTRARB_MASK,POWER8, PPCNONE, {0}},
|
||||
|
||||
{"lwepx", X(31,31), X_MASK, E500MC|PPCA2|PPCVLE, PPCNONE, {RT, RA0, RB}},
|
||||
|
||||
{"cmplw", XOPL(31,32,0), XCMPL_MASK, PPCCOM|PPCVLE, PPCNONE, {OBF, RA, RB}},
|
||||
@ -4335,6 +4439,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
|
||||
{"addg6s", XO(31,74,0,0), XO_MASK, POWER6, PPCNONE, {RT, RA, RB}},
|
||||
|
||||
{"lxsiwax", X(31,76), XX1_MASK, PPCVSX2, PPCNONE, {XT6, RA0, RB}},
|
||||
|
||||
{"iseleq", X(31,79), X_MASK, PPCISEL, PPCNONE, {RT, RA0, RB}},
|
||||
|
||||
{"isel", XISEL(31,15), XISEL_MASK, PPCISEL|TITAN|PPCVLE, PPCNONE, {RT, RA0, RB, CRB}},
|
||||
@ -4344,6 +4450,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"subf.", XO(31,40,0,1), XO_MASK, PPC|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"sub.", XO(31,40,0,1), XO_MASK, PPC|PPCVLE, PPCNONE, {RT, RB, RA}},
|
||||
|
||||
{"mfvsrd", X(31,51), XX1RB_MASK, PPCVSX2, PPCNONE, {RA, XS6}},
|
||||
{"mffprd", X(31,51), XX1RB_MASK|1, PPCVSX2, PPCNONE, {RA, FRS}},
|
||||
{"mfvrd", X(31,51)|1, XX1RB_MASK|1, PPCVSX2, PPCNONE, {RA, VS}},
|
||||
{"eratilx", X(31,51), X_MASK, PPCA2, PPCNONE, {ERAT_T, RA, RB}},
|
||||
|
||||
{"lbarx", X(31,52), XEH_MASK, POWER7|PPCVLE, PPCNONE, {RT, RA0, RB, EH}},
|
||||
@ -4421,6 +4530,10 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
|
||||
{"mtsrdin", X(31,114), XRA_MASK, PPC64, PPCNONE, {RS, RB}},
|
||||
|
||||
{"mffprwz", X(31,115), XX1RB_MASK|1, PPCVSX2, PPCNONE, {RA, FRS}},
|
||||
{"mfvrwz", X(31,115)|1, XX1RB_MASK|1, PPCVSX2, PPCNONE, {RA, VS}},
|
||||
{"mfvsrwz", X(31,115), XX1RB_MASK, PPCVSX2, PPCNONE, {RA, XS6}},
|
||||
|
||||
{"lharx", X(31,116), XEH_MASK, POWER7|PPCVLE, PPCNONE, {RT, RA0, RB, EH}},
|
||||
|
||||
{"clf", X(31,118), XTO_MASK, POWER, PPCNONE, {RA, RB}},
|
||||
@ -4453,6 +4566,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"adde.", XO(31,138,0,1), XO_MASK, PPCCOM|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"ae.", XO(31,138,0,1), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
|
||||
|
||||
{"stxsiwx", X(31,140), XX1_MASK, PPCVSX2, PPCNONE, {XS6, RA0, RB}},
|
||||
|
||||
{"msgsndp", XRTRA(31,142,0,0), XRTRA_MASK, POWER8, PPCNONE, {RB}},
|
||||
{"dcbtstlse", X(31,142), X_MASK, PPCCHLK, E500MC, {CT, RA0, RB}},
|
||||
|
||||
{"mtcr", XFXM(31,144,0xff,0), XRARB_MASK, COM, PPCNONE, {RS}},
|
||||
@ -4461,6 +4577,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
|
||||
{"mtmsr", X(31,146), XRLARB_MASK, COM|PPCVLE, PPCNONE, {RS, A_L}},
|
||||
|
||||
{"mtsle", X(31,147), XRTLRARB_MASK, POWER8, PPCNONE, {L}},
|
||||
|
||||
{"eratsx", XRC(31,147,0), X_MASK, PPCA2, PPCNONE, {RT, RA0, RB}},
|
||||
{"eratsx.", XRC(31,147,1), X_MASK, PPCA2, PPCNONE, {RT, RA0, RB}},
|
||||
|
||||
@ -4490,14 +4608,19 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"stvehx", X(31,167), X_MASK, PPCVEC, PPCNONE, {VS, RA0, RB}},
|
||||
{"sthfcmx", APU(31,167,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
|
||||
|
||||
{"msgclrp", XRTRA(31,174,0,0), XRTRA_MASK, POWER8, PPCNONE, {RB}},
|
||||
{"dcbtlse", X(31,174), X_MASK, PPCCHLK, E500MC, {CT, RA0, RB}},
|
||||
|
||||
{"mtmsrd", X(31,178), XRLARB_MASK, PPC64, PPCNONE, {RS, A_L}},
|
||||
|
||||
{"mtvsrd", X(31,179), XX1RB_MASK, PPCVSX2, PPCNONE, {XT6, RA}},
|
||||
{"mtfprd", X(31,179), XX1RB_MASK|1, PPCVSX2, PPCNONE, {FRT, RA}},
|
||||
{"mtvrd", X(31,179)|1, XX1RB_MASK|1, PPCVSX2, PPCNONE, {VD, RA}},
|
||||
{"eratre", X(31,179), X_MASK, PPCA2, PPCNONE, {RT, RA, WS}},
|
||||
|
||||
{"stdux", X(31,181), X_MASK, PPC64|PPCVLE, PPCNONE, {RS, RAS, RB}},
|
||||
|
||||
{"stqcx.", XRC(31,182,1), X_MASK, POWER8, PPCNONE, {RSQ, RA0, RB}},
|
||||
{"wchkall", X(31,182), X_MASK, PPCA2, PPCNONE, {OBF}},
|
||||
|
||||
{"stwux", X(31,183), X_MASK, PPCCOM|PPCVLE, PPCNONE, {RS, RAS, RB}},
|
||||
@ -4527,6 +4650,9 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
|
||||
{"mtsr", X(31,210), XRB_MASK|(1<<20), COM, NON32, {SR, RS}},
|
||||
|
||||
{"mtfprwa", X(31,211), XX1RB_MASK|1, PPCVSX2, PPCNONE, {FRT, RA}},
|
||||
{"mtvrwa", X(31,211)|1, XX1RB_MASK|1, PPCVSX2, PPCNONE, {VD, RA}},
|
||||
{"mtvsrwa", X(31,211), XX1RB_MASK, PPCVSX2, PPCNONE, {XT6, RA}},
|
||||
{"eratwe", X(31,211), X_MASK, PPCA2, PPCNONE, {RS, RA, WS}},
|
||||
|
||||
{"ldawx.", XRC(31,212,1), X_MASK, PPCA2, PPCNONE, {RT, RA0, RB}},
|
||||
@ -4571,6 +4697,10 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"mtsrin", X(31,242), XRA_MASK, PPC, NON32, {RS, RB}},
|
||||
{"mtsri", X(31,242), XRA_MASK, POWER, NON32, {RS, RB}},
|
||||
|
||||
{"mtfprwz", X(31,243), XX1RB_MASK|1, PPCVSX2, PPCNONE, {FRT, RA}},
|
||||
{"mtvrwz", X(31,243)|1, XX1RB_MASK|1, PPCVSX2, PPCNONE, {VD, RA}},
|
||||
{"mtvsrwz", X(31,243), XX1RB_MASK, PPCVSX2, PPCNONE, {XT6, RA}},
|
||||
|
||||
{"dcbtstt", XRT(31,246,0x10), XRT_MASK, POWER7, PPCNONE, {RA0, RB}},
|
||||
{"dcbtst", X(31,246), X_MASK, POWER4, PPCNONE, {RA0, RB, CT}},
|
||||
{"dcbtst", X(31,246), X_MASK, PPC|PPCVLE, POWER4, {CT, RA0, RB}},
|
||||
@ -4608,6 +4738,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
|
||||
{"mfapidi", X(31,275), X_MASK, BOOKE, TITAN, {RT, RA}},
|
||||
|
||||
{"lqarx", X(31,276), XEH_MASK, POWER8, PPCNONE, {RTQ, RAX, RBX, EH}},
|
||||
|
||||
{"lscbx", XRC(31,277,0), X_MASK, M601, PPCNONE, {RT, RA, RB}},
|
||||
{"lscbx.", XRC(31,277,1), X_MASK, M601, PPCNONE, {RT, RA, RB}},
|
||||
|
||||
@ -4629,6 +4761,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"lvexhx", X(31,293), X_MASK, PPCVEC2, PPCNONE, {VD, RA0, RB}},
|
||||
{"lvepx", X(31,295), X_MASK, PPCVEC2|PPCVLE, PPCNONE, {VD, RA0, RB}},
|
||||
|
||||
{"mfbhrbe", X(31,302), X_MASK, POWER8, PPCNONE, {RT, BHRBE}},
|
||||
|
||||
{"tlbie", X(31,306), XRTLRA_MASK, PPC, TITAN, {RB, L}},
|
||||
{"tlbi", X(31,306), XRT_MASK, POWER, PPCNONE, {RA0, RB}},
|
||||
|
||||
@ -4937,6 +5071,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
|
||||
{"slbmte", X(31,402), XRA_MASK, PPC64, PPCNONE, {RS, RB}},
|
||||
|
||||
{"pbt.", XRC(31,404,1), X_MASK, POWER8, PPCNONE, {RS, RA0, RB}},
|
||||
|
||||
{"icswx", XRC(31,406,0), X_MASK, POWER7|PPCA2, PPCNONE, {RS, RA, RB}},
|
||||
{"icswx.", XRC(31,406,1), X_MASK, POWER7|PPCA2, PPCNONE, {RS, RA, RB}},
|
||||
|
||||
@ -4958,6 +5094,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"divwe", XO(31,427,0,0), XO_MASK, POWER7|PPCA2, PPCNONE, {RT, RA, RB}},
|
||||
{"divwe.", XO(31,427,0,1), XO_MASK, POWER7|PPCA2, PPCNONE, {RT, RA, RB}},
|
||||
|
||||
{"clrbhrb", X(31,430), 0xffffffff, POWER8, PPCNONE, {0}},
|
||||
|
||||
{"slbie", X(31,434), XRTRA_MASK, PPC64, PPCNONE, {RB}},
|
||||
|
||||
{"ecowx", X(31,438), X_MASK, PPC, TITAN, {RT, RA0, RB}},
|
||||
@ -5246,6 +5384,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"addco.", XO(31,10,1,1), XO_MASK, PPCCOM|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
{"ao.", XO(31,10,1,1), XO_MASK, PWRCOM, PPCNONE, {RT, RA, RB}},
|
||||
|
||||
{"lxsspx", X(31,524), XX1_MASK, PPCVSX2, PPCNONE, {XT6, RA0, RB}},
|
||||
|
||||
{"clcs", X(31,531), XRB_MASK, M601, PPCNONE, {RT, RA}},
|
||||
|
||||
{"ldbrx", X(31,532), X_MASK, CELL|POWER7|PPCA2, PPCNONE, {RT, RA0, RB}},
|
||||
@ -5340,6 +5480,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"stvlx", X(31,647), X_MASK, CELL, PPCNONE, {VS, RA0, RB}},
|
||||
{"stbfcmux", APU(31,647,0), APU_MASK, PPC405, PPCNONE, {FCRT, RA, RB}},
|
||||
|
||||
{"stxsspx", X(31,652), XX1_MASK, PPCVSX2, PPCNONE, {XS6, RA0, RB}},
|
||||
|
||||
{"tbegin.", XRC(31,654,1), XRTLRARB_MASK,PPCHTM, PPCNONE, {HTM_R}},
|
||||
|
||||
{"subfeo", XO(31,136,1,0), XO_MASK, PPCCOM|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
@ -5525,6 +5667,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"divo.", XO(31,331,1,1), XO_MASK, M601, PPCNONE, {RT, RA, RB}},
|
||||
|
||||
{"lxvd2x", X(31,844), XX1_MASK, PPCVSX, PPCNONE, {XT6, RA0, RB}},
|
||||
{"lxvx", X(31,844), XX1_MASK, PPCVSX, PPCNONE, {XT6, RA0, RB}},
|
||||
|
||||
{"tabortwci.", XRC(31,846,1), X_MASK, PPCHTM, PPCNONE, {TO, RA, HTM_SI}},
|
||||
|
||||
@ -5636,6 +5779,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"divwuo.", XO(31,459,1,1), XO_MASK, PPC|PPCVLE, PPCNONE, {RT, RA, RB}},
|
||||
|
||||
{"stxvd2x", X(31,972), XX1_MASK, PPCVSX, PPCNONE, {XS6, RA0, RB}},
|
||||
{"stxvx", X(31,972), XX1_MASK, PPCVSX, PPCNONE, {XS6, RA0, RB}},
|
||||
|
||||
{"tlbld", X(31,978), XRTRA_MASK, PPC, PPC403|BOOKE|PPCA2|PPC476, {RB}},
|
||||
{"tlbwehi", XTLB(31,978,0), XTLB_MASK, PPC403, PPCNONE, {RT, RA}},
|
||||
@ -5868,14 +6012,25 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"fcfidus", XRC(59,974,0), XRA_MASK, POWER7|PPCA2, PPCNONE, {FRT, FRB}},
|
||||
{"fcfidus.", XRC(59,974,1), XRA_MASK, POWER7|PPCA2, PPCNONE, {FRT, FRB}},
|
||||
|
||||
{"xsaddsp", XX3(60,0), XX3_MASK, PPCVSX2, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xsmaddasp", XX3(60,1), XX3_MASK, PPCVSX2, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xxsldwi", XX3(60,2), XX3SHW_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6, SHW}},
|
||||
{"xxsel", XX4(60,3), XX4_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6, XC6}},
|
||||
{"xssubsp", XX3(60,8), XX3_MASK, PPCVSX2, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xsmaddmsp", XX3(60,9), XX3_MASK, PPCVSX2, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xxspltd", XX3(60,10), XX3DM_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6S, DMEX}},
|
||||
{"xxmrghd", XX3(60,10), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xxswapd", XX3(60,10)|(2<<8), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6S}},
|
||||
{"xxmrgld", XX3(60,10)|(3<<8), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xxpermdi", XX3(60,10), XX3DM_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6, DM}},
|
||||
{"xsrsqrtesp", XX2(60,10), XX2_MASK, PPCVSX2, PPCNONE, {XT6, XB6}},
|
||||
{"xssqrtsp", XX2(60,11), XX2_MASK, PPCVSX2, PPCNONE, {XT6, XB6}},
|
||||
{"xsmulsp", XX3(60,16), XX3_MASK, PPCVSX2, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xsmsubasp", XX3(60,17), XX3_MASK, PPCVSX2, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xxmrghw", XX3(60,18), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xsdivsp", XX3(60,24), XX3_MASK, PPCVSX2, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xsmsubmsp", XX3(60,25), XX3_MASK, PPCVSX2, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xsresp", XX2(60,26), XX2_MASK, PPCVSX2, PPCNONE, {XT6, XB6}},
|
||||
{"xsadddp", XX3(60,32), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xsmaddadp", XX3(60,33), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xscmpudp", XX3(60,35), XX3BF_MASK, PPCVSX, PPCNONE, {BF, XA6, XB6}},
|
||||
@ -5929,14 +6084,18 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"xvmsubmdp", XX3(60,121), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xsrdpim", XX2(60,121), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xvtdivdp", XX3(60,125), XX3BF_MASK, PPCVSX, PPCNONE, {BF, XA6, XB6}},
|
||||
{"xsnmaddasp", XX3(60,129), XX3_MASK, PPCVSX2, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xxland", XX3(60,130), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xvcvspuxws", XX2(60,136), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xsnmaddmsp", XX3(60,137), XX3_MASK, PPCVSX2, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xvrspi", XX2(60,137), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xxlandc", XX3(60,138), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xvrsqrtesp", XX2(60,138), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xvsqrtsp", XX2(60,139), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xsnmsubasp", XX3(60,145), XX3_MASK, PPCVSX2, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xxlor", XX3(60,146), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xvcvspsxws", XX2(60,152), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xsnmsubmsp", XX3(60,153), XX3_MASK, PPCVSX2, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xvrspiz", XX2(60,153), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xxlxor", XX3(60,154), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xvresp", XX2(60,154), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
@ -5949,12 +6108,15 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"xsnmaddmdp", XX3(60,169), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xvrspip", XX2(60,169), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xvtsqrtsp", XX2(60,170), XX2BF_MASK, PPCVSX, PPCNONE, {BF, XB6}},
|
||||
{"xxlorc", XX3(60,170), XX3_MASK, PPCVSX2, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xvrspic", XX2(60,171), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xscpsgndp", XX3(60,176), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xsnmsubadp", XX3(60,177), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xxlnand", XX3(60,178), XX3_MASK, PPCVSX2, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xvcvsxwsp", XX2(60,184), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xsnmsubmdp", XX3(60,185), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xvrspim", XX2(60,185), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xxleqv", XX3(60,186), XX3_MASK, PPCVSX2, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xvmaxsp", XX3(60,192), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xvnmaddasp", XX3(60,193), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xvminsp", XX3(60,200), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
@ -5985,8 +6147,13 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"xvnmsubmdp", XX3(60,249), XX3_MASK, PPCVSX, PPCNONE, {XT6, XA6, XB6}},
|
||||
{"xvrdpim", XX2(60,249), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xscvdpsp", XX2(60,265), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xscvdpspn", XX2(60,267), XX2_MASK, PPCVSX2, PPCNONE, {XT6, XB6}},
|
||||
{"xsrsp", XX2(60,281), XX2_MASK, PPCVSX2, PPCNONE, {XT6, XB6}},
|
||||
{"xscvuxdsp", XX2(60,296), XX2_MASK, PPCVSX2, PPCNONE, {XT6, XB6}},
|
||||
{"xscvsxdsp", XX2(60,312), XX2_MASK, PPCVSX2, PPCNONE, {XT6, XB6}},
|
||||
{"xscvdpuxds", XX2(60,328), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xscvspdp", XX2(60,329), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xscvspdpn", XX2(60,331), XX2_MASK, PPCVSX2, PPCNONE, {XT6, XB6}},
|
||||
{"xscvdpsxds", XX2(60,344), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xsabsdp", XX2(60,345), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
{"xscvuxddp", XX2(60,360), XX2_MASK, PPCVSX, PPCNONE, {XT6, XB6}},
|
||||
@ -6222,6 +6389,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"denbcdq", XRC(63,834,0), X_MASK, POWER6, PPCNONE, {S, FRTp, FRBp}},
|
||||
{"denbcdq.", XRC(63,834,1), X_MASK, POWER6, PPCNONE, {S, FRTp, FRBp}},
|
||||
|
||||
{"fmrgow", X(63,838), X_MASK, PPCVSX2, PPCNONE, {FRT, FRA, FRB}},
|
||||
|
||||
{"fcfid", XRC(63,846,0), XRA_MASK, PPC64, PPCNONE, {FRT, FRB}},
|
||||
{"fcfid", XRC(63,846,0), XRA_MASK, PPC476, PPCNONE, {FRT, FRB}},
|
||||
{"fcfid.", XRC(63,846,1), XRA_MASK, PPC64, PPCNONE, {FRT, FRB}},
|
||||
@ -6236,6 +6405,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
|
||||
{"fctiduz", XRC(63,943,0), XRA_MASK, POWER7|PPCA2, PPCNONE, {FRT, FRB}},
|
||||
{"fctiduz.", XRC(63,943,1), XRA_MASK, POWER7|PPCA2, PPCNONE, {FRT, FRB}},
|
||||
|
||||
{"fmrgew", X(63,966), X_MASK, PPCVSX2, PPCNONE, {FRT, FRA, FRB}},
|
||||
|
||||
{"fcfidu", XRC(63,974,0), XRA_MASK, POWER7|PPCA2, PPCNONE, {FRT, FRB}},
|
||||
{"fcfidu.", XRC(63,974,1), XRA_MASK, POWER7|PPCA2, PPCNONE, {FRT, FRB}},
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user