diff options
Diffstat (limited to 'test/MC/PowerPC')
-rw-r--r-- | test/MC/PowerPC/ppc-reloc.s | 2 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-encoding-ext.s | 33 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-encoding-fp.s | 39 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-encoding-vmx.s | 43 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-encoding.s | 10 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-localentry.s | 19 | ||||
-rw-r--r-- | test/MC/PowerPC/qpx.s | 251 | ||||
-rw-r--r-- | test/MC/PowerPC/vsx.s | 9 |
8 files changed, 396 insertions, 10 deletions
diff --git a/test/MC/PowerPC/ppc-reloc.s b/test/MC/PowerPC/ppc-reloc.s index 19dd2a3..e7dd1e2 100644 --- a/test/MC/PowerPC/ppc-reloc.s +++ b/test/MC/PowerPC/ppc-reloc.s @@ -7,11 +7,13 @@ .align 2 foo: bl printf@plt + bl _GLOBAL_OFFSET_TABLE_@local-4 .LC1: .size foo, . - foo # CHECK: Relocations [ # CHECK-NEXT: Section (2) .rela.text { # CHECK-NEXT: 0x0 R_PPC_PLTREL24 printf 0x0 +# CHECK-NEXT: 0x4 R_PPC_LOCAL24PC _GLOBAL_OFFSET_TABLE_ 0xFFFFFFFC # CHECK-NEXT: } # CHECK-NEXT: ] diff --git a/test/MC/PowerPC/ppc64-encoding-ext.s b/test/MC/PowerPC/ppc64-encoding-ext.s index 0ffe0bf..dca8a65 100644 --- a/test/MC/PowerPC/ppc64-encoding-ext.s +++ b/test/MC/PowerPC/ppc64-encoding-ext.s @@ -3633,3 +3633,36 @@ # CHECK-BE: mtspr 280, 2 # encoding: [0x7c,0x58,0x43,0xa6] # CHECK-LE: mtspr 280, 2 # encoding: [0xa6,0x43,0x58,0x7c] mtasr 2 + +# Load and Store Caching Inhibited Instructions +# CHECK-BE: lbzcix 21, 5, 7 # encoding: [0x7e,0xa5,0x3e,0xaa] +# CHECK-LE: lbzcix 21, 5, 7 # encoding: [0xaa,0x3e,0xa5,0x7e] + lbzcix 21, 5, 7 +# CHECK-BE: lhzcix 21, 5, 7 # encoding: [0x7e,0xa5,0x3e,0x6a] +# CHECK-LE: lhzcix 21, 5, 7 # encoding: [0x6a,0x3e,0xa5,0x7e] + lhzcix 21, 5, 7 +# CHECK-BE: lwzcix 21, 5, 7 # encoding: [0x7e,0xa5,0x3e,0x2a] +# CHECK-LE: lwzcix 21, 5, 7 # encoding: [0x2a,0x3e,0xa5,0x7e] + lwzcix 21, 5, 7 +# CHECK-BE: ldcix 21, 5, 7 # encoding: [0x7e,0xa5,0x3e,0xea] +# CHECK-LE: ldcix 21, 5, 7 # encoding: [0xea,0x3e,0xa5,0x7e] + ldcix 21, 5, 7 + +# CHECK-BE: stbcix 21, 5, 7 # encoding: [0x7e,0xa5,0x3f,0xaa] +# CHECK-LE: stbcix 21, 5, 7 # encoding: [0xaa,0x3f,0xa5,0x7e] + stbcix 21, 5, 7 +# CHECK-BE: sthcix 21, 5, 7 # encoding: [0x7e,0xa5,0x3f,0x6a] +# CHECK-LE: sthcix 21, 5, 7 # encoding: [0x6a,0x3f,0xa5,0x7e] + sthcix 21, 5, 7 +# CHECK-BE: stwcix 21, 5, 7 # encoding: [0x7e,0xa5,0x3f,0x2a] +# CHECK-LE: stwcix 21, 5, 7 # encoding: [0x2a,0x3f,0xa5,0x7e] + stwcix 21, 5, 7 +# CHECK-BE: stdcix 21, 5, 7 # encoding: [0x7e,0xa5,0x3f,0xea] +# CHECK-LE: stdcix 21, 5, 7 # encoding: [0xea,0x3f,0xa5,0x7e] + stdcix 21, 5, 7 + +# Processor-Specific Instructions +# CHECK-BE: attn # encoding: [0x00,0x00,0x02,0x00] +# CHECK-LE: attn # encoding: [0x00,0x02,0x00,0x00] + attn + diff --git a/test/MC/PowerPC/ppc64-encoding-fp.s b/test/MC/PowerPC/ppc64-encoding-fp.s index c19f9b3..2f4f828 100644 --- a/test/MC/PowerPC/ppc64-encoding-fp.s +++ b/test/MC/PowerPC/ppc64-encoding-fp.s @@ -359,15 +359,36 @@ # CHECK-BE: mffs 2 # encoding: [0xfc,0x40,0x04,0x8e] # CHECK-LE: mffs 2 # encoding: [0x8e,0x04,0x40,0xfc] mffs 2 -# FIXME: mffs. 2 - -# FIXME: mcrfs 2, 3 - -# FIXME: mtfsfi 2, 3, 1 -# FIXME: mtfsfi. 2, 3, 1 -# FIXME: mtfsf 2, 3, 1, 1 -# FIXME: mtfsf. 2, 3, 1, 1 - +# CHECK-BE: mffs. 7 # encoding: [0xfc,0xe0,0x04,0x8f] +# CHECK-LE: mffs. 7 # encoding: [0x8f,0x04,0xe0,0xfc] + mffs. 7 +# CHECK-BE: mcrfs 4, 5 # encoding: [0xfe,0x14,0x00,0x80] +# CHECK-LE: mcrfs 4, 5 # encoding: [0x80,0x00,0x14,0xfe] + mcrfs 4, 5 +# CHECK-BE: mtfsfi 5, 2, 1 # encoding: [0xfe,0x81,0x21,0x0c] +# CHECK-LE: mtfsfi 5, 2, 1 # encoding: [0x0c,0x21,0x81,0xfe] + mtfsfi 5, 2, 1 +# CHECK-BE: mtfsfi. 5, 2, 1 # encoding: [0xfe,0x81,0x21,0x0d] +# CHECK-LE: mtfsfi. 5, 2, 1 # encoding: [0x0d,0x21,0x81,0xfe] + mtfsfi. 5, 2, 1 +# CHECK-BE: mtfsfi 6, 2, 0 # encoding: [0xff,0x00,0x21,0x0c] +# CHECK-LE: mtfsfi 6, 2, 0 # encoding: [0x0c,0x21,0x00,0xff] + mtfsfi 6, 2 +# CHECK-BE: mtfsfi. 6, 2, 0 # encoding: [0xff,0x00,0x21,0x0d] +# CHECK-LE: mtfsfi. 6, 2, 0 # encoding: [0x0d,0x21,0x00,0xff] + mtfsfi. 6, 2 +# CHECK-BE: mtfsf 127, 8, 1, 1 # encoding: [0xfe,0xff,0x45,0x8e] +# CHECK-LE: mtfsf 127, 8, 1, 1 # encoding: [0x8e,0x45,0xff,0xfe] + mtfsf 127, 8, 1, 1 +# CHECK-BE: mtfsf. 125, 8, 1, 1 # encoding: [0xfe,0xfb,0x45,0x8f] +# CHECK-LE: mtfsf. 125, 8, 1, 1 # encoding: [0x8f,0x45,0xfb,0xfe] + mtfsf. 125, 8, 1, 1 +# CHECK-BE: mtfsf 127, 6, 0, 0 # encoding: [0xfc,0xfe,0x35,0x8e] +# CHECK-LE: mtfsf 127, 6, 0, 0 # encoding: [0x8e,0x35,0xfe,0xfc] + mtfsf 127, 6 +# CHECK-BE: mtfsf. 125, 6, 0, 0 # encoding: [0xfc,0xfa,0x35,0x8f] +# CHECK-LE: mtfsf. 125, 6, 0, 0 # encoding: [0x8f,0x35,0xfa,0xfc] + mtfsf. 125, 6 # CHECK-BE: mtfsb0 31 # encoding: [0xff,0xe0,0x00,0x8c] # CHECK-LE: mtfsb0 31 # encoding: [0x8c,0x00,0xe0,0xff] mtfsb0 31 diff --git a/test/MC/PowerPC/ppc64-encoding-vmx.s b/test/MC/PowerPC/ppc64-encoding-vmx.s index 3d2df84..7641d1d 100644 --- a/test/MC/PowerPC/ppc64-encoding-vmx.s +++ b/test/MC/PowerPC/ppc64-encoding-vmx.s @@ -408,6 +408,15 @@ # CHECK-BE: vandc 2, 3, 4 # encoding: [0x10,0x43,0x24,0x44] # CHECK-LE: vandc 2, 3, 4 # encoding: [0x44,0x24,0x43,0x10] vandc 2, 3, 4 +# CHECK-BE: veqv 2, 3, 4 # encoding: [0x10,0x43,0x26,0x84] +# CHECK-LE: veqv 2, 3, 4 # encoding: [0x84,0x26,0x43,0x10] + veqv 2, 3, 4 +# CHECK-BE: vnand 2, 3, 4 # encoding: [0x10,0x43,0x25,0x84] +# CHECK-LE: vnand 2, 3, 4 # encoding: [0x84,0x25,0x43,0x10] + vnand 2, 3, 4 +# CHECK-BE: vorc 2, 3, 4 # encoding: [0x10,0x43,0x25,0x44] +# CHECK-LE: vorc 2, 3, 4 # encoding: [0x44,0x25,0x43,0x10] + vorc 2, 3, 4 # CHECK-BE: vnor 2, 3, 4 # encoding: [0x10,0x43,0x25,0x04] # CHECK-LE: vnor 2, 3, 4 # encoding: [0x04,0x25,0x43,0x10] vnor 2, 3, 4 @@ -543,6 +552,40 @@ # CHECK-LE: vrsqrtefp 2, 3 # encoding: [0x4a,0x19,0x40,0x10] vrsqrtefp 2, 3 +# Vector count leading zero instructions +# CHECK-BE: vclzb 2, 3 # encoding: [0x10,0x40,0x1f,0x02] +# CHECK-LE: vclzb 2, 3 # encoding: [0x02,0x1f,0x40,0x10] + vclzb 2, 3 + +# CHECK-BE: vclzh 2, 3 # encoding: [0x10,0x40,0x1f,0x42] +# CHECK-LE: vclzh 2, 3 # encoding: [0x42,0x1f,0x40,0x10] + vclzh 2, 3 + +# CHECK-BE: vclzw 2, 3 # encoding: [0x10,0x40,0x1f,0x82] +# CHECK-LE: vclzw 2, 3 # encoding: [0x82,0x1f,0x40,0x10] + vclzw 2, 3 + +# CHECK-BE: vclzd 2, 3 # encoding: [0x10,0x40,0x1f,0xc2] +# CHECK-LE: vclzd 2, 3 # encoding: [0xc2,0x1f,0x40,0x10] + vclzd 2, 3 + +# Vector population count instructions +# CHECK-BE: vpopcntb 2, 3 # encoding: [0x10,0x40,0x1f,0x03] +# CHECK-LE: vpopcntb 2, 3 # encoding: [0x03,0x1f,0x40,0x10] + vpopcntb 2, 3 + +# CHECK-BE: vpopcnth 2, 3 # encoding: [0x10,0x40,0x1f,0x43] +# CHECK-LE: vpopcnth 2, 3 # encoding: [0x43,0x1f,0x40,0x10] + vpopcnth 2, 3 + +# CHECK-BE: vpopcntw 2, 3 # encoding: [0x10,0x40,0x1f,0x83] +# CHECK-LE: vpopcntw 2, 3 # encoding: [0x83,0x1f,0x40,0x10] + vpopcntw 2, 3 + +# BCHECK-BE: vpopcntd 2, 3 # encoding: [0x10,0x40,0x1f,0xC3] +# BCHECK-LE: vpopcntd 2, 3 # encoding: [0xC3,0x1f,0x40,0x10] +# vpopcntd 2, 3 + # Vector status and control register instructions # CHECK-BE: mtvscr 2 # encoding: [0x10,0x00,0x16,0x44] diff --git a/test/MC/PowerPC/ppc64-encoding.s b/test/MC/PowerPC/ppc64-encoding.s index d483f9d..d2ac669 100644 --- a/test/MC/PowerPC/ppc64-encoding.s +++ b/test/MC/PowerPC/ppc64-encoding.s @@ -612,7 +612,15 @@ # CHECK-BE: cntlzw. 2, 3 # encoding: [0x7c,0x62,0x00,0x35] # CHECK-LE: cntlzw. 2, 3 # encoding: [0x35,0x00,0x62,0x7c] cntlzw. 2, 3 -# FIXME: cmpb 2, 3, 4 +# CHECK-BE: cntlzw 2, 3 # encoding: [0x7c,0x62,0x00,0x34] +# CHECK-LE: cntlzw 2, 3 # encoding: [0x34,0x00,0x62,0x7c] + cntlz 2, 3 +# CHECK-BE: cntlzw. 2, 3 # encoding: [0x7c,0x62,0x00,0x35] +# CHECK-LE: cntlzw. 2, 3 # encoding: [0x35,0x00,0x62,0x7c] + cntlz. 2, 3 + cmpb 7, 21, 4 +# CHECK-BE: cmpb 7, 21, 4 # encoding: [0x7e,0xa7,0x23,0xf8] +# CHECK-LE: cmpb 7, 21, 4 # encoding: [0xf8,0x23,0xa7,0x7e] # FIXME: popcntb 2, 3 # CHECK-BE: popcntw 2, 3 # encoding: [0x7c,0x62,0x02,0xf4] # CHECK-LE: popcntw 2, 3 # encoding: [0xf4,0x02,0x62,0x7c] diff --git a/test/MC/PowerPC/ppc64-localentry.s b/test/MC/PowerPC/ppc64-localentry.s index 6d2c120..03f760e 100644 --- a/test/MC/PowerPC/ppc64-localentry.s +++ b/test/MC/PowerPC/ppc64-localentry.s @@ -35,6 +35,9 @@ caller_other: nop .size caller_other, .-caller_other +copy1 = callee1 +copy2 = callee2 + # Verify that use of .localentry implies ABI version 2 # CHECK: ElfHeader { # CHECK: Flags [ (0x2) @@ -68,3 +71,19 @@ caller_other: # CHECK-NEXT: Other: 0 # CHECK-NEXT: Section: .text +# Verify that symbol assignment copies the Other bits. +# CHECK: Name: copy1 +# CHECK-NEXT: Value: +# CHECK-NEXT: Size: 16 +# CHECK-NEXT: Binding: Local +# CHECK-NEXT: Type: Function +# CHECK-NEXT: Other: 96 +# CHECK-NEXT: Section: .text +# CHECK: Name: copy2 +# CHECK-NEXT: Value: +# CHECK-NEXT: Size: 8 +# CHECK-NEXT: Binding: Local +# CHECK-NEXT: Type: Function +# CHECK-NEXT: Other: 0 +# CHECK-NEXT: Section: .text + diff --git a/test/MC/PowerPC/qpx.s b/test/MC/PowerPC/qpx.s new file mode 100644 index 0000000..6c92d71 --- /dev/null +++ b/test/MC/PowerPC/qpx.s @@ -0,0 +1,251 @@ +# RUN: llvm-mc -triple powerpc64-bgq-linux --show-encoding %s | FileCheck %s + +# FIXME: print qvflogical aliases. + +# CHECK: qvfabs 3, 5 # encoding: [0x10,0x60,0x2a,0x10] + qvfabs 3, 5 +# CHECK: qvfadd 3, 4, 5 # encoding: [0x10,0x64,0x28,0x2a] + qvfadd 3, 4, 5 +# CHECK: qvfadds 3, 4, 5 # encoding: [0x00,0x64,0x28,0x2a] + qvfadds 3, 4, 5 +# CHECK: qvflogical 3, 4, 5, 4 # encoding: [0x10,0x64,0x2a,0x08] + qvfandc 3, 4, 5 +# CHECK: qvflogical 3, 4, 5, 1 # encoding: [0x10,0x64,0x28,0x88] + qvfand 3, 4, 5 +# CHECK: qvfcfid 3, 5 # encoding: [0x10,0x60,0x2e,0x9c] + qvfcfid 3, 5 +# CHECK: qvfcfids 3, 5 # encoding: [0x00,0x60,0x2e,0x9c] + qvfcfids 3, 5 +# CHECK: qvfcfidu 3, 5 # encoding: [0x10,0x60,0x2f,0x9c] + qvfcfidu 3, 5 +# CHECK: qvfcfidus 3, 5 # encoding: [0x00,0x60,0x2f,0x9c] + qvfcfidus 3, 5 +# CHECK: qvflogical 3, 3, 3, 0 # encoding: [0x10,0x63,0x18,0x08] + qvfclr 3 +# CHECK: qvfcpsgn 3, 4, 5 # encoding: [0x10,0x64,0x28,0x10] + qvfcpsgn 3, 4, 5 +# CHECK: qvflogical 3, 4, 4, 5 # encoding: [0x10,0x64,0x22,0x88] + qvfctfb 3, 4 +# CHECK: qvfctid 3, 5 # encoding: [0x10,0x60,0x2e,0x5c] + qvfctid 3, 5 +# CHECK: qvfctidu 3, 5 # encoding: [0x10,0x60,0x2f,0x5c] + qvfctidu 3, 5 +# CHECK: qvfctiduz 3, 5 # encoding: [0x10,0x60,0x2f,0x5e] + qvfctiduz 3, 5 +# CHECK: qvfctidz 3, 5 # encoding: [0x10,0x60,0x2e,0x5e] + qvfctidz 3, 5 +# CHECK: qvfctiw 3, 5 # encoding: [0x10,0x60,0x28,0x1c] + qvfctiw 3, 5 +# CHECK: qvfctiwu 3, 5 # encoding: [0x10,0x60,0x29,0x1c] + qvfctiwu 3, 5 +# CHECK: qvfctiwuz 3, 5 # encoding: [0x10,0x60,0x29,0x1e] + qvfctiwuz 3, 5 +# CHECK: qvfctiwz 3, 5 # encoding: [0x10,0x60,0x28,0x1e] + qvfctiwz 3, 5 +# CHECK: qvflogical 3, 4, 5, 9 # encoding: [0x10,0x64,0x2c,0x88] + qvfequ 3, 4, 5 +# CHECK: qvflogical 3, 4, 5, 12 # encoding: [0x10,0x64,0x2e,0x08] + qvflogical 3, 4, 5, 12 +# CHECK: qvfmadd 3, 4, 6, 5 # encoding: [0x10,0x64,0x29,0xba] + qvfmadd 3, 4, 6, 5 +# CHECK: qvfmadds 3, 4, 6, 5 # encoding: [0x00,0x64,0x29,0xba] + qvfmadds 3, 4, 6, 5 +# CHECK: qvfmr 3, 5 # encoding: [0x10,0x60,0x28,0x90] + qvfmr 3, 5 +# CHECK: qvfmsub 3, 4, 6, 5 # encoding: [0x10,0x64,0x29,0xb8] + qvfmsub 3, 4, 6, 5 +# CHECK: qvfmsubs 3, 4, 6, 5 # encoding: [0x00,0x64,0x29,0xb8] + qvfmsubs 3, 4, 6, 5 +# CHECK: qvfmul 3, 4, 6 # encoding: [0x10,0x64,0x01,0xb2] + qvfmul 3, 4, 6 +# CHECK: qvfmuls 3, 4, 6 # encoding: [0x00,0x64,0x01,0xb2] + qvfmuls 3, 4, 6 +# CHECK: qvfnabs 3, 5 # encoding: [0x10,0x60,0x29,0x10] + qvfnabs 3, 5 +# CHECK: qvflogical 3, 4, 5, 14 # encoding: [0x10,0x64,0x2f,0x08] + qvfnand 3, 4, 5 +# CHECK: qvfneg 3, 5 # encoding: [0x10,0x60,0x28,0x50] + qvfneg 3, 5 +# CHECK: qvfnmadd 3, 4, 6, 5 # encoding: [0x10,0x64,0x29,0xbe] + qvfnmadd 3, 4, 6, 5 +# CHECK: qvfnmadds 3, 4, 6, 5 # encoding: [0x00,0x64,0x29,0xbe] + qvfnmadds 3, 4, 6, 5 +# CHECK: qvfnmsub 3, 4, 6, 5 # encoding: [0x10,0x64,0x29,0xbc] + qvfnmsub 3, 4, 6, 5 +# CHECK: qvfnmsubs 3, 4, 6, 5 # encoding: [0x00,0x64,0x29,0xbc] + qvfnmsubs 3, 4, 6, 5 +# CHECK: qvflogical 3, 4, 5, 8 # encoding: [0x10,0x64,0x2c,0x08] + qvfnor 3, 4, 5 +# CHECK: qvflogical 3, 4, 4, 10 # encoding: [0x10,0x64,0x25,0x08] + qvfnot 3, 4 +# CHECK: qvflogical 3, 4, 5, 13 # encoding: [0x10,0x64,0x2e,0x88] + qvforc 3, 4, 5 +# CHECK: qvflogical 3, 4, 5, 7 # encoding: [0x10,0x64,0x2b,0x88] + qvfor 3, 4, 5 +# CHECK: qvfperm 3, 4, 5, 6 # encoding: [0x10,0x64,0x29,0x8c] + qvfperm 3, 4, 5, 6 +# CHECK: qvfre 3, 5 # encoding: [0x10,0x60,0x28,0x30] + qvfre 3, 5 +# CHECK: qvfres 3, 5 # encoding: [0x00,0x60,0x28,0x30] + qvfres 3, 5 +# CHECK: qvfrim 3, 5 # encoding: [0x10,0x60,0x2b,0xd0] + qvfrim 3, 5 +# CHECK: qvfrin 3, 5 # encoding: [0x10,0x60,0x2b,0x10] + qvfrin 3, 5 +# CHECK: qvfrip 3, 5 # encoding: [0x10,0x60,0x2b,0x90] + qvfrip 3, 5 +# CHECK: qvfriz 3, 5 # encoding: [0x10,0x60,0x2b,0x50] + qvfriz 3, 5 +# CHECK: qvfrsp 3, 5 # encoding: [0x10,0x60,0x28,0x18] + qvfrsp 3, 5 +# CHECK: qvfrsqrte 3, 5 # encoding: [0x10,0x60,0x28,0x34] + qvfrsqrte 3, 5 +# CHECK: qvfrsqrtes 3, 5 # encoding: [0x00,0x60,0x28,0x34] + qvfrsqrtes 3, 5 +# CHECK: qvfsel 3, 4, 6, 5 # encoding: [0x10,0x64,0x29,0xae] + qvfsel 3, 4, 6, 5 +# CHECK: qvflogical 3, 3, 3, 15 # encoding: [0x10,0x63,0x1f,0x88] + qvfset 3 +# CHECK: qvfsub 3, 4, 5 # encoding: [0x10,0x64,0x28,0x28] + qvfsub 3, 4, 5 +# CHECK: qvfsubs 3, 4, 5 # encoding: [0x00,0x64,0x28,0x28] + qvfsubs 3, 4, 5 +# CHECK: qvfxmadd 3, 4, 6, 5 # encoding: [0x10,0x64,0x29,0x92] + qvfxmadd 3, 4, 6, 5 +# CHECK: qvfxmadds 3, 4, 6, 5 # encoding: [0x00,0x64,0x29,0x92] + qvfxmadds 3, 4, 6, 5 +# CHECK: qvfxmul 3, 4, 6 # encoding: [0x10,0x64,0x01,0xa2] + qvfxmul 3, 4, 6 +# CHECK: qvfxmuls 3, 4, 6 # encoding: [0x00,0x64,0x01,0xa2] + qvfxmuls 3, 4, 6 +# CHECK: qvflogical 3, 4, 5, 6 # encoding: [0x10,0x64,0x2b,0x08] + qvfxor 3, 4, 5 +# CHECK: qvfxxcpnmadd 3, 4, 6, 5 # encoding: [0x10,0x64,0x29,0x86] + qvfxxcpnmadd 3, 4, 6, 5 +# CHECK: qvfxxcpnmadds 3, 4, 6, 5 # encoding: [0x00,0x64,0x29,0x86] + qvfxxcpnmadds 3, 4, 6, 5 +# CHECK: qvfxxmadd 3, 4, 6, 5 # encoding: [0x10,0x64,0x29,0x82] + qvfxxmadd 3, 4, 6, 5 +# CHECK: qvfxxmadds 3, 4, 6, 5 # encoding: [0x00,0x64,0x29,0x82] + qvfxxmadds 3, 4, 6, 5 +# CHECK: qvfxxnpmadd 3, 4, 6, 5 # encoding: [0x10,0x64,0x29,0x96] + qvfxxnpmadd 3, 4, 6, 5 +# CHECK: qvfxxnpmadds 3, 4, 6, 5 # encoding: [0x00,0x64,0x29,0x96] + qvfxxnpmadds 3, 4, 6, 5 +# CHECK: qvlfcduxa 3, 9, 11 # encoding: [0x7c,0x69,0x58,0xcf] + qvlfcduxa 3, 9, 11 +# CHECK: qvlfcdux 3, 9, 11 # encoding: [0x7c,0x69,0x58,0xce] + qvlfcdux 3, 9, 11 +# CHECK: qvlfcdxa 3, 10, 11 # encoding: [0x7c,0x6a,0x58,0x8f] + qvlfcdxa 3, 10, 11 +# CHECK: qvlfcdx 3, 10, 11 # encoding: [0x7c,0x6a,0x58,0x8e] + qvlfcdx 3, 10, 11 +# CHECK: qvlfcsuxa 3, 9, 11 # encoding: [0x7c,0x69,0x58,0x4f] + qvlfcsuxa 3, 9, 11 +# CHECK: qvlfcsux 3, 9, 11 # encoding: [0x7c,0x69,0x58,0x4e] + qvlfcsux 3, 9, 11 +# CHECK: qvlfcsxa 3, 10, 11 # encoding: [0x7c,0x6a,0x58,0x0f] + qvlfcsxa 3, 10, 11 +# CHECK: qvlfcsx 3, 10, 11 # encoding: [0x7c,0x6a,0x58,0x0e] + qvlfcsx 3, 10, 11 +# CHECK: qvlfduxa 3, 9, 11 # encoding: [0x7c,0x69,0x5c,0xcf] + qvlfduxa 3, 9, 11 +# CHECK: qvlfdux 3, 9, 11 # encoding: [0x7c,0x69,0x5c,0xce] + qvlfdux 3, 9, 11 +# CHECK: qvlfdxa 3, 10, 11 # encoding: [0x7c,0x6a,0x5c,0x8f] + qvlfdxa 3, 10, 11 +# CHECK: qvlfdx 3, 10, 11 # encoding: [0x7c,0x6a,0x5c,0x8e] + qvlfdx 3, 10, 11 +# CHECK: qvlfiwaxa 3, 10, 11 # encoding: [0x7c,0x6a,0x5e,0xcf] + qvlfiwaxa 3, 10, 11 +# CHECK: qvlfiwax 3, 10, 11 # encoding: [0x7c,0x6a,0x5e,0xce] + qvlfiwax 3, 10, 11 +# CHECK: qvlfiwzxa 3, 10, 11 # encoding: [0x7c,0x6a,0x5e,0x8f] + qvlfiwzxa 3, 10, 11 +# CHECK: qvlfiwzx 3, 10, 11 # encoding: [0x7c,0x6a,0x5e,0x8e] + qvlfiwzx 3, 10, 11 +# CHECK: qvlfsuxa 3, 9, 11 # encoding: [0x7c,0x69,0x5c,0x4f] + qvlfsuxa 3, 9, 11 +# CHECK: qvlfsux 3, 9, 11 # encoding: [0x7c,0x69,0x5c,0x4e] + qvlfsux 3, 9, 11 +# CHECK: qvlfsxa 3, 10, 11 # encoding: [0x7c,0x6a,0x5c,0x0f] + qvlfsxa 3, 10, 11 +# CHECK: qvlfsx 3, 10, 11 # encoding: [0x7c,0x6a,0x5c,0x0e] + qvlfsx 3, 10, 11 +# CHECK: qvlpcldx 3, 10, 11 # encoding: [0x7c,0x6a,0x5c,0x8c] + qvlpcldx 3, 10, 11 +# CHECK: qvlpclsx 3, 10, 11 # encoding: [0x7c,0x6a,0x5c,0x0c] + qvlpclsx 3, 10, 11 +# CHECK: qvlpcrdx 3, 10, 11 # encoding: [0x7c,0x6a,0x58,0x8c] + qvlpcrdx 3, 10, 11 +# CHECK: qvlpcrsx 3, 10, 11 # encoding: [0x7c,0x6a,0x58,0x0c] + qvlpcrsx 3, 10, 11 +# CHECK: qvstfcduxa 2, 9, 11 # encoding: [0x7c,0x49,0x59,0xcf] + qvstfcduxa 2, 9, 11 +# CHECK: qvstfcduxia 2, 9, 11 # encoding: [0x7c,0x49,0x59,0xcb] + qvstfcduxia 2, 9, 11 +# CHECK: qvstfcduxi 2, 9, 11 # encoding: [0x7c,0x49,0x59,0xca] + qvstfcduxi 2, 9, 11 +# CHECK: qvstfcdux 2, 9, 11 # encoding: [0x7c,0x49,0x59,0xce] + qvstfcdux 2, 9, 11 +# CHECK: qvstfcdxa 2, 10, 11 # encoding: [0x7c,0x4a,0x59,0x8f] + qvstfcdxa 2, 10, 11 +# CHECK: qvstfcdxia 2, 10, 11 # encoding: [0x7c,0x4a,0x59,0x8b] + qvstfcdxia 2, 10, 11 +# CHECK: qvstfcdxi 2, 10, 11 # encoding: [0x7c,0x4a,0x59,0x8a] + qvstfcdxi 2, 10, 11 +# CHECK: qvstfcdx 2, 10, 11 # encoding: [0x7c,0x4a,0x59,0x8e] + qvstfcdx 2, 10, 11 +# CHECK: qvstfcsuxa 2, 9, 11 # encoding: [0x7c,0x49,0x59,0x4f] + qvstfcsuxa 2, 9, 11 +# CHECK: qvstfcsuxia 2, 9, 11 # encoding: [0x7c,0x49,0x59,0x4b] + qvstfcsuxia 2, 9, 11 +# CHECK: qvstfcsuxi 2, 9, 11 # encoding: [0x7c,0x49,0x59,0x4a] + qvstfcsuxi 2, 9, 11 +# CHECK: qvstfcsux 2, 9, 11 # encoding: [0x7c,0x49,0x59,0x4e] + qvstfcsux 2, 9, 11 +# CHECK: qvstfcsxa 2, 10, 11 # encoding: [0x7c,0x4a,0x59,0x0f] + qvstfcsxa 2, 10, 11 +# CHECK: qvstfcsxia 2, 10, 11 # encoding: [0x7c,0x4a,0x59,0x0b] + qvstfcsxia 2, 10, 11 +# CHECK: qvstfcsxi 2, 10, 11 # encoding: [0x7c,0x4a,0x59,0x0a] + qvstfcsxi 2, 10, 11 +# CHECK: qvstfcsx 2, 10, 11 # encoding: [0x7c,0x4a,0x59,0x0e] + qvstfcsx 2, 10, 11 +# CHECK: qvstfduxa 2, 9, 11 # encoding: [0x7c,0x49,0x5d,0xcf] + qvstfduxa 2, 9, 11 +# CHECK: qvstfduxia 2, 9, 11 # encoding: [0x7c,0x49,0x5d,0xcb] + qvstfduxia 2, 9, 11 +# CHECK: qvstfduxi 2, 9, 11 # encoding: [0x7c,0x49,0x5d,0xca] + qvstfduxi 2, 9, 11 +# CHECK: qvstfdux 2, 9, 11 # encoding: [0x7c,0x49,0x5d,0xce] + qvstfdux 2, 9, 11 +# CHECK: qvstfdxa 2, 10, 11 # encoding: [0x7c,0x4a,0x5d,0x8f] + qvstfdxa 2, 10, 11 +# CHECK: qvstfdxia 2, 10, 11 # encoding: [0x7c,0x4a,0x5d,0x8b] + qvstfdxia 2, 10, 11 +# CHECK: qvstfdxi 2, 10, 11 # encoding: [0x7c,0x4a,0x5d,0x8a] + qvstfdxi 2, 10, 11 +# CHECK: qvstfdx 2, 10, 11 # encoding: [0x7c,0x4a,0x5d,0x8e] + qvstfdx 2, 10, 11 +# CHECK: qvstfiwxa 2, 10, 11 # encoding: [0x7c,0x4a,0x5f,0x8f] + qvstfiwxa 2, 10, 11 +# CHECK: qvstfiwx 2, 10, 11 # encoding: [0x7c,0x4a,0x5f,0x8e] + qvstfiwx 2, 10, 11 +# CHECK: qvstfsuxa 2, 9, 11 # encoding: [0x7c,0x49,0x5d,0x4f] + qvstfsuxa 2, 9, 11 +# CHECK: qvstfsuxia 2, 9, 11 # encoding: [0x7c,0x49,0x5d,0x4b] + qvstfsuxia 2, 9, 11 +# CHECK: qvstfsuxi 2, 9, 11 # encoding: [0x7c,0x49,0x5d,0x4a] + qvstfsuxi 2, 9, 11 +# CHECK: qvstfsux 2, 9, 11 # encoding: [0x7c,0x49,0x5d,0x4e] + qvstfsux 2, 9, 11 +# CHECK: qvstfsxa 2, 10, 11 # encoding: [0x7c,0x4a,0x5d,0x0f] + qvstfsxa 2, 10, 11 +# CHECK: qvstfsxia 2, 10, 11 # encoding: [0x7c,0x4a,0x5d,0x0b] + qvstfsxia 2, 10, 11 +# CHECK: qvstfsxi 2, 10, 11 # encoding: [0x7c,0x4a,0x5d,0x0a] + qvstfsxi 2, 10, 11 +# CHECK: qvstfsx 2, 10, 11 # encoding: [0x7c,0x4a,0x5d,0x0e] + qvstfsx 2, 10, 11 + diff --git a/test/MC/PowerPC/vsx.s b/test/MC/PowerPC/vsx.s index b355ba3..4a0053d 100644 --- a/test/MC/PowerPC/vsx.s +++ b/test/MC/PowerPC/vsx.s @@ -403,6 +403,15 @@ # CHECK-BE: xxland 7, 63, 27 # encoding: [0xf0,0xff,0xdc,0x14] # CHECK-LE: xxland 7, 63, 27 # encoding: [0x14,0xdc,0xff,0xf0] xxland 7, 63, 27 +# CHECK-BE: xxleqv 7, 63, 27 # encoding: [0xf0,0xff,0xdd,0xd4] +# CHECK-LE: xxleqv 7, 63, 27 # encoding: [0xd4,0xdd,0xff,0xf0] + xxleqv 7, 63, 27 +# CHECK-BE: xxlnand 7, 63, 27 # encoding: [0xf0,0xff,0xdd,0x94] +# CHECK-LE: xxlnand 7, 63, 27 # encoding: [0x94,0xdd,0xff,0xf0] + xxlnand 7, 63, 27 +# CHECK-BE: xxlorc 7, 63, 27 # encoding: [0xf0,0xff,0xdd,0x54] +# CHECK-LE: xxlorc 7, 63, 27 # encoding: [0x54,0xdd,0xff,0xf0] + xxlorc 7, 63, 27 # CHECK-BE: xxlandc 7, 63, 27 # encoding: [0xf0,0xff,0xdc,0x54] # CHECK-LE: xxlandc 7, 63, 27 # encoding: [0x54,0xdc,0xff,0xf0] xxlandc 7, 63, 27 |