diff options
Diffstat (limited to 'test/MC/PowerPC')
-rw-r--r-- | test/MC/PowerPC/lcomm.s | 21 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc-reloc.s | 17 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc32-ba.s | 6 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-abiversion.s | 9 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-encoding-4xx.s | 167 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-encoding-6xx.s | 109 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-encoding-bookII.s | 18 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-encoding-bookIII.s | 138 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-encoding-e500.s | 11 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-encoding-ext.s | 168 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-encoding-spe.s | 622 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-encoding.s | 14 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-fixup-apply.s | 20 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-fixups.s | 12 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-localentry-error1.s | 11 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-localentry-error2.s | 12 | ||||
-rw-r--r-- | test/MC/PowerPC/ppc64-localentry.s | 70 | ||||
-rw-r--r-- | test/MC/PowerPC/vsx.s | 42 |
18 files changed, 1391 insertions, 76 deletions
diff --git a/test/MC/PowerPC/lcomm.s b/test/MC/PowerPC/lcomm.s new file mode 100644 index 0000000000..a84f138479 --- /dev/null +++ b/test/MC/PowerPC/lcomm.s @@ -0,0 +1,21 @@ +# RUN: llvm-mc -triple powerpc-unknown-unknown -filetype=obj %s | \ +# RUN: llvm-readobj -s -sd | FileCheck %s +# RUN: llvm-mc -triple powerpc64-unknown-unknown -filetype=obj %s | \ +# RUN: llvm-readobj -s -sd | FileCheck %s + +.lcomm foo, 16, 16 + +// CHECK: Section { +// CHECK: Name: .bss +// CHECK-NEXT: Type: SHT_NOBITS +// CHECK-NEXT: Flags [ +// CHECK-NEXT: SHF_ALLOC +// CHECK-NEXT: SHF_WRITE +// CHECK-NEXT: ] +// CHECK-NEXT: Address: 0x0 +// CHECK-NEXT: Offset: 0x40 +// CHECK-NEXT: Size: 16 +// CHECK-NEXT: Link: 0 +// CHECK-NEXT: Info: 0 +// CHECK-NEXT: AddressAlignment: 16 +// CHECK-NEXT: EntrySize: 0 diff --git a/test/MC/PowerPC/ppc-reloc.s b/test/MC/PowerPC/ppc-reloc.s new file mode 100644 index 0000000000..19dd2a3cf4 --- /dev/null +++ b/test/MC/PowerPC/ppc-reloc.s @@ -0,0 +1,17 @@ +# RUN: llvm-mc -triple=powerpc-unknown-linux-gnu -filetype=obj %s | \ +# RUN: llvm-readobj -r | FileCheck %s + .section .text + + .globl foo + .type foo,@function + .align 2 +foo: + bl printf@plt +.LC1: + .size foo, . - foo + +# CHECK: Relocations [ +# CHECK-NEXT: Section (2) .rela.text { +# CHECK-NEXT: 0x0 R_PPC_PLTREL24 printf 0x0 +# CHECK-NEXT: } +# CHECK-NEXT: ] diff --git a/test/MC/PowerPC/ppc32-ba.s b/test/MC/PowerPC/ppc32-ba.s new file mode 100644 index 0000000000..133423b4e8 --- /dev/null +++ b/test/MC/PowerPC/ppc32-ba.s @@ -0,0 +1,6 @@ +# RUN: llvm-mc -triple powerpc-unknown-unknown --show-encoding %s | FileCheck %s + +# Check that large immediates in 32bit mode are accepted. + +# CHECK: ba -33554432 # encoding: [0x4a,0x00,0x00,0x02] + ba 0xfe000000 diff --git a/test/MC/PowerPC/ppc64-abiversion.s b/test/MC/PowerPC/ppc64-abiversion.s new file mode 100644 index 0000000000..d2970f8c90 --- /dev/null +++ b/test/MC/PowerPC/ppc64-abiversion.s @@ -0,0 +1,9 @@ + +# RUN: llvm-mc -triple powerpc64-unknown-unknown -filetype=obj %s | \ +# RUN: llvm-readobj -h | FileCheck %s +# RUN: llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj %s | \ +# RUN: llvm-readobj -h | FileCheck %s + + .abiversion 2 +# CHECK: Flags [ (0x2) + diff --git a/test/MC/PowerPC/ppc64-encoding-4xx.s b/test/MC/PowerPC/ppc64-encoding-4xx.s new file mode 100644 index 0000000000..5414e1a49b --- /dev/null +++ b/test/MC/PowerPC/ppc64-encoding-4xx.s @@ -0,0 +1,167 @@ +# RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-BE %s +# RUN: llvm-mc -triple powerpc64le-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-LE %s + +# Instructions specific to the PowerPC 4xx embedded controllers: + +# CHECK-BE: mfdcr 3, 178 # encoding: [0x7c,0x72,0x2a,0x86] +# CHECK-LE: mfdcr 3, 178 # encoding: [0x86,0x2a,0x72,0x7c] + mfdcr 3,178 +# CHECK-BE: mtdcr 178, 3 # encoding: [0x7c,0x72,0x2b,0x86] +# CHECK-LE: mtdcr 178, 3 # encoding: [0x86,0x2b,0x72,0x7c] + mtdcr 178,3 + +# CHECK-BE: tlbre 2, 3, 0 # encoding: [0x7c,0x43,0x07,0x64] +# CHECK-LE: tlbre 2, 3, 0 # encoding: [0x64,0x07,0x43,0x7c] + tlbre %r2, %r3, 0 +# CHECK-BE: tlbre 2, 3, 1 # encoding: [0x7c,0x43,0x0f,0x64] +# CHECK-LE: tlbre 2, 3, 1 # encoding: [0x64,0x0f,0x43,0x7c] + tlbre %r2, %r3, 1 +# CHECK-BE: tlbre 2, 3, 0 # encoding: [0x7c,0x43,0x07,0x64] +# CHECK-LE: tlbre 2, 3, 0 # encoding: [0x64,0x07,0x43,0x7c] + tlbrehi %r2, %r3 +# CHECK-BE: tlbre 2, 3, 1 # encoding: [0x7c,0x43,0x0f,0x64] +# CHECK-LE: tlbre 2, 3, 1 # encoding: [0x64,0x0f,0x43,0x7c] + tlbrelo %r2, %r3 + +# CHECK-BE: tlbwe 2, 3, 0 # encoding: [0x7c,0x43,0x07,0xa4] +# CHECK-LE: tlbwe 2, 3, 0 # encoding: [0xa4,0x07,0x43,0x7c] + tlbwe %r2, %r3, 0 +# CHECK-BE: tlbwe 2, 3, 1 # encoding: [0x7c,0x43,0x0f,0xa4] +# CHECK-LE: tlbwe 2, 3, 1 # encoding: [0xa4,0x0f,0x43,0x7c] + tlbwe %r2, %r3, 1 +# CHECK-BE: tlbwe 2, 3, 0 # encoding: [0x7c,0x43,0x07,0xa4] +# CHECK-LE: tlbwe 2, 3, 0 # encoding: [0xa4,0x07,0x43,0x7c] + tlbwehi %r2, %r3 +# CHECK-BE: tlbwe 2, 3, 1 # encoding: [0x7c,0x43,0x0f,0xa4] +# CHECK-LE: tlbwe 2, 3, 1 # encoding: [0xa4,0x0f,0x43,0x7c] + tlbwelo %r2, %r3 + +# CHECK-BE: tlbsx 2, 3, 1 # encoding: [0x7c,0x43,0x0f,0x24] +# CHECK-LE: tlbsx 2, 3, 1 # encoding: [0x24,0x0f,0x43,0x7c] + tlbsx %r2, %r3, %r1 +# CHECK-BE: tlbsx. 2, 3, 1 # encoding: [0x7c,0x43,0x0f,0x25] +# CHECK-LE: tlbsx. 2, 3, 1 # encoding: [0x25,0x0f,0x43,0x7c] + tlbsx. %r2, %r3, %r1 + +# CHECK-BE: mfspr 2, 1018 # encoding: [0x7c,0x5a,0xfa,0xa6] +# CHECK-LE: mfspr 2, 1018 # encoding: [0xa6,0xfa,0x5a,0x7c] + mfdccr %r2 +# CHECK-BE: mtspr 1018, 2 # encoding: [0x7c,0x5a,0xfb,0xa6] +# CHECK-LE: mtspr 1018, 2 # encoding: [0xa6,0xfb,0x5a,0x7c] + mtdccr %r2 + +# CHECK-BE: mfspr 2, 1019 # encoding: [0x7c,0x5b,0xfa,0xa6] +# CHECK-LE: mfspr 2, 1019 # encoding: [0xa6,0xfa,0x5b,0x7c] + mficcr %r2 +# CHECK-BE: mtspr 1019, 2 # encoding: [0x7c,0x5b,0xfb,0xa6] +# CHECK-LE: mtspr 1019, 2 # encoding: [0xa6,0xfb,0x5b,0x7c] + mticcr %r2 + +# CHECK-BE: mfspr 2, 981 # encoding: [0x7c,0x55,0xf2,0xa6] +# CHECK-LE: mfspr 2, 981 # encoding: [0xa6,0xf2,0x55,0x7c] + mfdear %r2 +# CHECK-BE: mtspr 981, 2 # encoding: [0x7c,0x55,0xf3,0xa6] +# CHECK-LE: mtspr 981, 2 # encoding: [0xa6,0xf3,0x55,0x7c] + mtdear %r2 + +# CHECK-BE: mfspr 2, 980 # encoding: [0x7c,0x54,0xf2,0xa6] +# CHECK-LE: mfspr 2, 980 # encoding: [0xa6,0xf2,0x54,0x7c] + mfesr %r2 +# CHECK-BE: mtspr 980, 2 # encoding: [0x7c,0x54,0xf3,0xa6] +# CHECK-LE: mtspr 980, 2 # encoding: [0xa6,0xf3,0x54,0x7c] + mtesr %r2 + +# CHECK-BE: mfspr 2, 986 # encoding: [0x7c,0x5a,0xf2,0xa6] +# CHECK-LE: mfspr 2, 986 # encoding: [0xa6,0xf2,0x5a,0x7c] + mftcr %r2 +# CHECK-BE: mtspr 986, 2 # encoding: [0x7c,0x5a,0xf3,0xa6] +# CHECK-LE: mtspr 986, 2 # encoding: [0xa6,0xf3,0x5a,0x7c] + mttcr %r2 + +# CHECK-BE: mfspr 2, 989 # encoding: [0x7c,0x5d,0xf2,0xa6] +# CHECK-LE: mfspr 2, 989 # encoding: [0xa6,0xf2,0x5d,0x7c] + mftblo %r2 +# CHECK-BE: mtspr 989, 2 # encoding: [0x7c,0x5d,0xf3,0xa6] +# CHECK-LE: mtspr 989, 2 # encoding: [0xa6,0xf3,0x5d,0x7c] + mttblo %r2 +# CHECK-BE: mfspr 2, 988 # encoding: [0x7c,0x5c,0xf2,0xa6] +# CHECK-LE: mfspr 2, 988 # encoding: [0xa6,0xf2,0x5c,0x7c] + mftbhi %r2 +# CHECK-BE: mtspr 988, 2 # encoding: [0x7c,0x5c,0xf3,0xa6] +# CHECK-LE: mtspr 988, 2 # encoding: [0xa6,0xf3,0x5c,0x7c] + mttbhi %r2 + +# CHECK-BE: dccci 5, 6 # encoding: [0x7c,0x05,0x33,0x8c] +# CHECK-LE: dccci 5, 6 # encoding: [0x8c,0x33,0x05,0x7c] + dccci %r5,%r6 +# CHECK-BE: iccci 5, 6 # encoding: [0x7c,0x05,0x37,0x8c] +# CHECK-LE: iccci 5, 6 # encoding: [0x8c,0x37,0x05,0x7c] + iccci %r5,%r6 +# CHECK-BE: dccci 0, 0 # encoding: [0x7c,0x00,0x03,0x8c] +# CHECK-LE: dccci 0, 0 # encoding: [0x8c,0x03,0x00,0x7c] + dci %r0 +# CHECK-BE: iccci 0, 0 # encoding: [0x7c,0x00,0x07,0x8c] +# CHECK-LE: iccci 0, 0 # encoding: [0x8c,0x07,0x00,0x7c] + ici 0 + +# CHECK-BE: mfspr 2, 990 # encoding: [0x7c,0x5e,0xf2,0xa6] +# CHECK-LE: mfspr 2, 990 # encoding: [0xa6,0xf2,0x5e,0x7c] + mfsrr2 2 +# CHECK-BE: mtspr 990, 2 # encoding: [0x7c,0x5e,0xf3,0xa6] +# CHECK-LE: mtspr 990, 2 # encoding: [0xa6,0xf3,0x5e,0x7c] + mtsrr2 2 +# CHECK-BE: mfspr 2, 991 # encoding: [0x7c,0x5f,0xf2,0xa6] +# CHECK-LE: mfspr 2, 991 # encoding: [0xa6,0xf2,0x5f,0x7c] + mfsrr3 2 +# CHECK-BE: mtspr 991, 2 # encoding: [0x7c,0x5f,0xf3,0xa6] +# CHECK-LE: mtspr 991, 2 # encoding: [0xa6,0xf3,0x5f,0x7c] + mtsrr3 2 + +# CHECK-BE: mfdcr 5, 128 # encoding: [0x7c,0xa0,0x22,0x86] +# CHECK-LE: mfdcr 5, 128 # encoding: [0x86,0x22,0xa0,0x7c] + mfbr0 %r5 +# CHECK-BE: mtdcr 128, 5 # encoding: [0x7c,0xa0,0x23,0x86] +# CHECK-LE: mtdcr 128, 5 # encoding: [0x86,0x23,0xa0,0x7c] + mtbr0 %r5 +# CHECK-BE: mfdcr 5, 129 # encoding: [0x7c,0xa1,0x22,0x86] +# CHECK-LE: mfdcr 5, 129 # encoding: [0x86,0x22,0xa1,0x7c] + mfbr1 %r5 +# CHECK-BE: mtdcr 129, 5 # encoding: [0x7c,0xa1,0x23,0x86] +# CHECK-LE: mtdcr 129, 5 # encoding: [0x86,0x23,0xa1,0x7c] + mtbr1 %r5 +# CHECK-BE: mfdcr 5, 130 # encoding: [0x7c,0xa2,0x22,0x86] +# CHECK-LE: mfdcr 5, 130 # encoding: [0x86,0x22,0xa2,0x7c] + mfbr2 %r5 +# CHECK-BE: mtdcr 130, 5 # encoding: [0x7c,0xa2,0x23,0x86] +# CHECK-LE: mtdcr 130, 5 # encoding: [0x86,0x23,0xa2,0x7c] + mtbr2 %r5 +# CHECK-BE: mfdcr 5, 131 # encoding: [0x7c,0xa3,0x22,0x86] +# CHECK-LE: mfdcr 5, 131 # encoding: [0x86,0x22,0xa3,0x7c] + mfbr3 %r5 +# CHECK-BE: mtdcr 131, 5 # encoding: [0x7c,0xa3,0x23,0x86] +# CHECK-LE: mtdcr 131, 5 # encoding: [0x86,0x23,0xa3,0x7c] + mtbr3 %r5 +# CHECK-BE: mfdcr 5, 132 # encoding: [0x7c,0xa4,0x22,0x86] +# CHECK-LE: mfdcr 5, 132 # encoding: [0x86,0x22,0xa4,0x7c] + mfbr4 %r5 +# CHECK-BE: mtdcr 132, 5 # encoding: [0x7c,0xa4,0x23,0x86] +# CHECK-LE: mtdcr 132, 5 # encoding: [0x86,0x23,0xa4,0x7c] + mtbr4 %r5 +# CHECK-BE: mfdcr 5, 133 # encoding: [0x7c,0xa5,0x22,0x86] +# CHECK-LE: mfdcr 5, 133 # encoding: [0x86,0x22,0xa5,0x7c] + mfbr5 %r5 +# CHECK-BE: mtdcr 133, 5 # encoding: [0x7c,0xa5,0x23,0x86] +# CHECK-LE: mtdcr 133, 5 # encoding: [0x86,0x23,0xa5,0x7c] + mtbr5 %r5 +# CHECK-BE: mfdcr 5, 134 # encoding: [0x7c,0xa6,0x22,0x86] +# CHECK-LE: mfdcr 5, 134 # encoding: [0x86,0x22,0xa6,0x7c] + mfbr6 %r5 +# CHECK-BE: mtdcr 134, 5 # encoding: [0x7c,0xa6,0x23,0x86] +# CHECK-LE: mtdcr 134, 5 # encoding: [0x86,0x23,0xa6,0x7c] + mtbr6 %r5 +# CHECK-BE: mfdcr 5, 135 # encoding: [0x7c,0xa7,0x22,0x86] +# CHECK-LE: mfdcr 5, 135 # encoding: [0x86,0x22,0xa7,0x7c] + mfbr7 %r5 +# CHECK-BE: mtdcr 135, 5 # encoding: [0x7c,0xa7,0x23,0x86] +# CHECK-LE: mtdcr 135, 5 # encoding: [0x86,0x23,0xa7,0x7c] + mtbr7 %r5 diff --git a/test/MC/PowerPC/ppc64-encoding-6xx.s b/test/MC/PowerPC/ppc64-encoding-6xx.s new file mode 100644 index 0000000000..3a5e7a126b --- /dev/null +++ b/test/MC/PowerPC/ppc64-encoding-6xx.s @@ -0,0 +1,109 @@ +# RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-BE %s +# RUN: llvm-mc -triple powerpc64le-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-LE %s + +# Instructions specific to the PowerPC 6xx family: + +# CHECK-BE: mfspr 12, 528 # encoding: [0x7d,0x90,0x82,0xa6] +# CHECK-LE: mfspr 12, 528 # encoding: [0xa6,0x82,0x90,0x7d] +mfibatu %r12, 0 +# CHECK-BE: mfspr 12, 529 # encoding: [0x7d,0x91,0x82,0xa6] +# CHECK-LE: mfspr 12, 529 # encoding: [0xa6,0x82,0x91,0x7d] +mfibatl %r12, 0 +# CHECK-BE: mfspr 12, 530 # encoding: [0x7d,0x92,0x82,0xa6] +# CHECK-LE: mfspr 12, 530 # encoding: [0xa6,0x82,0x92,0x7d] +mfibatu %r12, 1 +# CHECK-BE: mfspr 12, 531 # encoding: [0x7d,0x93,0x82,0xa6] +# CHECK-LE: mfspr 12, 531 # encoding: [0xa6,0x82,0x93,0x7d] +mfibatl %r12, 1 +# CHECK-BE: mfspr 12, 532 # encoding: [0x7d,0x94,0x82,0xa6] +# CHECK-LE: mfspr 12, 532 # encoding: [0xa6,0x82,0x94,0x7d] +mfibatu %r12, 2 +# CHECK-BE: mfspr 12, 533 # encoding: [0x7d,0x95,0x82,0xa6] +# CHECK-LE: mfspr 12, 533 # encoding: [0xa6,0x82,0x95,0x7d] +mfibatl %r12, 2 +# CHECK-BE: mfspr 12, 534 # encoding: [0x7d,0x96,0x82,0xa6] +# CHECK-LE: mfspr 12, 534 # encoding: [0xa6,0x82,0x96,0x7d] +mfibatu %r12, 3 +# CHECK-BE: mfspr 12, 535 # encoding: [0x7d,0x97,0x82,0xa6] +# CHECK-LE: mfspr 12, 535 # encoding: [0xa6,0x82,0x97,0x7d] +mfibatl %r12, 3 +# CHECK-BE: mtspr 528, 12 # encoding: [0x7d,0x90,0x83,0xa6] +# CHECK-LE: mtspr 528, 12 # encoding: [0xa6,0x83,0x90,0x7d] +mtibatu 0, %r12 +# CHECK-BE: mtspr 529, 12 # encoding: [0x7d,0x91,0x83,0xa6] +# CHECK-LE: mtspr 529, 12 # encoding: [0xa6,0x83,0x91,0x7d] +mtibatl 0, %r12 +# CHECK-BE: mtspr 530, 12 # encoding: [0x7d,0x92,0x83,0xa6] +# CHECK-LE: mtspr 530, 12 # encoding: [0xa6,0x83,0x92,0x7d] +mtibatu 1, %r12 +# CHECK-BE: mtspr 531, 12 # encoding: [0x7d,0x93,0x83,0xa6] +# CHECK-LE: mtspr 531, 12 # encoding: [0xa6,0x83,0x93,0x7d] +mtibatl 1, %r12 +# CHECK-BE: mtspr 532, 12 # encoding: [0x7d,0x94,0x83,0xa6] +# CHECK-LE: mtspr 532, 12 # encoding: [0xa6,0x83,0x94,0x7d] +mtibatu 2, %r12 +# CHECK-BE: mtspr 533, 12 # encoding: [0x7d,0x95,0x83,0xa6] +# CHECK-LE: mtspr 533, 12 # encoding: [0xa6,0x83,0x95,0x7d] +mtibatl 2, %r12 +# CHECK-BE: mtspr 534, 12 # encoding: [0x7d,0x96,0x83,0xa6] +# CHECK-LE: mtspr 534, 12 # encoding: [0xa6,0x83,0x96,0x7d] +mtibatu 3, %r12 +# CHECK-BE: mtspr 535, 12 # encoding: [0x7d,0x97,0x83,0xa6] +# CHECK-LE: mtspr 535, 12 # encoding: [0xa6,0x83,0x97,0x7d] +mtibatl 3, %r12 + +# CHECK-BE: mfspr 12, 536 # encoding: [0x7d,0x98,0x82,0xa6] +# CHECK-LE: mfspr 12, 536 # encoding: [0xa6,0x82,0x98,0x7d] +mfdbatu %r12, 0 +# CHECK-BE: mfspr 12, 537 # encoding: [0x7d,0x99,0x82,0xa6] +# CHECK-LE: mfspr 12, 537 # encoding: [0xa6,0x82,0x99,0x7d] +mfdbatl %r12, 0 +# CHECK-BE: mfspr 12, 538 # encoding: [0x7d,0x9a,0x82,0xa6] +# CHECK-LE: mfspr 12, 538 # encoding: [0xa6,0x82,0x9a,0x7d] +mfdbatu %r12, 1 +# CHECK-BE: mfspr 12, 539 # encoding: [0x7d,0x9b,0x82,0xa6] +# CHECK-LE: mfspr 12, 539 # encoding: [0xa6,0x82,0x9b,0x7d] +mfdbatl %r12, 1 +# CHECK-BE: mfspr 12, 540 # encoding: [0x7d,0x9c,0x82,0xa6] +# CHECK-LE: mfspr 12, 540 # encoding: [0xa6,0x82,0x9c,0x7d] +mfdbatu %r12, 2 +# CHECK-BE: mfspr 12, 541 # encoding: [0x7d,0x9d,0x82,0xa6] +# CHECK-LE: mfspr 12, 541 # encoding: [0xa6,0x82,0x9d,0x7d] +mfdbatl %r12, 2 +# CHECK-BE: mfspr 12, 542 # encoding: [0x7d,0x9e,0x82,0xa6] +# CHECK-LE: mfspr 12, 542 # encoding: [0xa6,0x82,0x9e,0x7d] +mfdbatu %r12, 3 +# CHECK-BE: mfspr 12, 543 # encoding: [0x7d,0x9f,0x82,0xa6] +# CHECK-LE: mfspr 12, 543 # encoding: [0xa6,0x82,0x9f,0x7d] +mfdbatl %r12, 3 +# CHECK-BE: mtspr 536, 12 # encoding: [0x7d,0x98,0x83,0xa6] +# CHECK-LE: mtspr 536, 12 # encoding: [0xa6,0x83,0x98,0x7d] +mtdbatu 0, %r12 +# CHECK-BE: mtspr 537, 12 # encoding: [0x7d,0x99,0x83,0xa6] +# CHECK-LE: mtspr 537, 12 # encoding: [0xa6,0x83,0x99,0x7d] +mtdbatl 0, %r12 +# CHECK-BE: mtspr 538, 12 # encoding: [0x7d,0x9a,0x83,0xa6] +# CHECK-LE: mtspr 538, 12 # encoding: [0xa6,0x83,0x9a,0x7d] +mtdbatu 1, %r12 +# CHECK-BE: mtspr 539, 12 # encoding: [0x7d,0x9b,0x83,0xa6] +# CHECK-LE: mtspr 539, 12 # encoding: [0xa6,0x83,0x9b,0x7d] +mtdbatl 1, %r12 +# CHECK-BE: mtspr 540, 12 # encoding: [0x7d,0x9c,0x83,0xa6] +# CHECK-LE: mtspr 540, 12 # encoding: [0xa6,0x83,0x9c,0x7d] +mtdbatu 2, %r12 +# CHECK-BE: mtspr 541, 12 # encoding: [0x7d,0x9d,0x83,0xa6] +# CHECK-LE: mtspr 541, 12 # encoding: [0xa6,0x83,0x9d,0x7d] +mtdbatl 2, %r12 +# CHECK-BE: mtspr 542, 12 # encoding: [0x7d,0x9e,0x83,0xa6] +# CHECK-LE: mtspr 542, 12 # encoding: [0xa6,0x83,0x9e,0x7d] +mtdbatu 3, %r12 +# CHECK-BE: mtspr 543, 12 # encoding: [0x7d,0x9f,0x83,0xa6] +# CHECK-LE: mtspr 543, 12 # encoding: [0xa6,0x83,0x9f,0x7d] +mtdbatl 3, %r12 + +# CHECK-BE: tlbld 4 # encoding: [0x7c,0x00,0x27,0xa4] +# CHECK-LE: tlbld 4 # encoding: [0xa4,0x27,0x00,0x7c] +tlbld %r4 +# CHECK-BE: tlbli 4 # encoding: [0x7c,0x00,0x27,0xe4] +# CHECK-LE: tlbli 4 # encoding: [0xe4,0x27,0x00,0x7c] +tlbli %r4 diff --git a/test/MC/PowerPC/ppc64-encoding-bookII.s b/test/MC/PowerPC/ppc64-encoding-bookII.s index 99796ca610..20eba7083f 100644 --- a/test/MC/PowerPC/ppc64-encoding-bookII.s +++ b/test/MC/PowerPC/ppc64-encoding-bookII.s @@ -8,6 +8,10 @@ # CHECK-LE: icbi 2, 3 # encoding: [0xac,0x1f,0x02,0x7c] icbi 2, 3 +# CHECK-BE: icbt 0, 5, 31 # encoding: [0x7c,0x05,0xf8,0x2c] +# CHECK-LE: icbt 0, 5, 31 # encoding: [0x2c,0xf8,0x05,0x7c] + icbt 0, 5, 31 + # FIXME: dcbt 2, 3, 10 # CHECK-BE: dcbt 2, 3 # encoding: [0x7c,0x02,0x1a,0x2c] # CHECK-LE: dcbt 2, 3 # encoding: [0x2c,0x1a,0x02,0x7c] @@ -53,6 +57,11 @@ # CHECK-BE: wait 2 # encoding: [0x7c,0x40,0x00,0x7c] # CHECK-LE: wait 2 # encoding: [0x7c,0x00,0x40,0x7c] wait 2 +# CHECK-BE: mbar 1 # encoding: [0x7c,0x20,0x06,0xac] +# CHECK-LE: mbar 1 # encoding: [0xac,0x06,0x20,0x7c] + mbar 1 +# CHECK-BE: mbar 0 + mbar # Extended mnemonics @@ -101,7 +110,16 @@ # CHECK-BE: mftb 2, 268 # encoding: [0x7c,0x4c,0x42,0xe6] # CHECK-LE: mftb 2, 268 # encoding: [0xe6,0x42,0x4c,0x7c] mftb 2 +# CHECK-BE: mftb 2, 268 # encoding: [0x7c,0x4c,0x42,0xe6] +# CHECK-LE: mftb 2, 268 # encoding: [0xe6,0x42,0x4c,0x7c] + mftbl 2 # CHECK-BE: mftb 2, 269 # encoding: [0x7c,0x4d,0x42,0xe6] # CHECK-LE: mftb 2, 269 # encoding: [0xe6,0x42,0x4d,0x7c] mftbu 2 +# CHECK-BE: mtspr 284, 3 # encoding: [0x7c,0x7c,0x43,0xa6] +# CHECK-LE: mtspr 284, 3 # encoding: [0xa6,0x43,0x7c,0x7c] + mttbl 3 +# CHECK-BE: mtspr 285, 3 # encoding: [0x7c,0x7d,0x43,0xa6] +# CHECK-LE: mtspr 285, 3 # encoding: [0xa6,0x43,0x7d,0x7c] + mttbu 3 diff --git a/test/MC/PowerPC/ppc64-encoding-bookIII.s b/test/MC/PowerPC/ppc64-encoding-bookIII.s index dfce39536e..9e784dbb5e 100644 --- a/test/MC/PowerPC/ppc64-encoding-bookIII.s +++ b/test/MC/PowerPC/ppc64-encoding-bookIII.s @@ -21,53 +21,66 @@ # CHECK-LE: mtmsrd 4, 1 # encoding: [0x64,0x01,0x81,0x7c] mtmsrd %r4, 1 -# CHECK-BE: mfspr 4, 272 # encoding: [0x7c,0x90,0x42,0xa6] -# CHECK-LE: mfspr 4, 272 # encoding: [0xa6,0x42,0x90,0x7c] - mfsprg %r4, 0 - -# CHECK-BE: mfspr 4, 273 # encoding: [0x7c,0x91,0x42,0xa6] -# CHECK-LE: mfspr 4, 273 # encoding: [0xa6,0x42,0x91,0x7c] - mfsprg %r4, 1 - -# CHECK-BE: mfspr 4, 274 # encoding: [0x7c,0x92,0x42,0xa6] -# CHECK-LE: mfspr 4, 274 # encoding: [0xa6,0x42,0x92,0x7c] - mfsprg %r4, 2 - -# CHECK-BE: mfspr 4, 275 # encoding: [0x7c,0x93,0x42,0xa6] -# CHECK-LE: mfspr 4, 275 # encoding: [0xa6,0x42,0x93,0x7c] - mfsprg %r4, 3 - -# CHECK-BE: mtspr 272, 4 # encoding: [0x7c,0x90,0x43,0xa6] -# CHECK-LE: mtspr 272, 4 # encoding: [0xa6,0x43,0x90,0x7c] - mtsprg 0, %r4 - -# CHECK-BE: mtspr 273, 4 # encoding: [0x7c,0x91,0x43,0xa6] -# CHECK-LE: mtspr 273, 4 # encoding: [0xa6,0x43,0x91,0x7c] - mtsprg 1, %r4 - -# CHECK-BE: mtspr 274, 4 # encoding: [0x7c,0x92,0x43,0xa6] -# CHECK-LE: mtspr 274, 4 # encoding: [0xa6,0x43,0x92,0x7c] - mtsprg 2, %r4 - -# CHECK-BE: mtspr 275, 4 # encoding: [0x7c,0x93,0x43,0xa6] -# CHECK-LE: mtspr 275, 4 # encoding: [0xa6,0x43,0x93,0x7c] - mtsprg 3, %r4 - -# CHECK-BE: mtspr 272, 4 # encoding: [0x7c,0x90,0x43,0xa6] -# CHECK-LE: mtspr 272, 4 # encoding: [0xa6,0x43,0x90,0x7c] - mtsprg0 %r4 - -# CHECK-BE: mtspr 273, 4 # encoding: [0x7c,0x91,0x43,0xa6] -# CHECK-LE: mtspr 273, 4 # encoding: [0xa6,0x43,0x91,0x7c] - mtsprg1 %r4 - -# CHECK-BE: mtspr 274, 4 # encoding: [0x7c,0x92,0x43,0xa6] -# CHECK-LE: mtspr 274, 4 # encoding: [0xa6,0x43,0x92,0x7c] - mtsprg2 %r4 - -# CHECK-BE: mtspr 275, 4 # encoding: [0x7c,0x93,0x43,0xa6] -# CHECK-LE: mtspr 275, 4 # encoding: [0xa6,0x43,0x93,0x7c] - mtsprg3 %r4 +# CHECK-BE: mfspr 4, 260 # encoding: [0x7c,0x84,0x42,0xa6] +# CHECK-LE: mfspr 4, 260 # encoding: [0xa6,0x42,0x84,0x7c] + mfsprg %r4, 4 + +# CHECK-BE: mfspr 4, 261 # encoding: [0x7c,0x85,0x42,0xa6] +# CHECK-LE: mfspr 4, 261 # encoding: [0xa6,0x42,0x85,0x7c] + mfsprg %r4, 5 + +# CHECK-BE: mfspr 4, 262 # encoding: [0x7c,0x86,0x42,0xa6] +# CHECK-LE: mfspr 4, 262 # encoding: [0xa6,0x42,0x86,0x7c] + mfsprg %r4, 6 + +# CHECK-BE: mfspr 4, 263 # encoding: [0x7c,0x87,0x42,0xa6] +# CHECK-LE: mfspr 4, 263 # encoding: [0xa6,0x42,0x87,0x7c] + mfsprg %r4, 7 + +# CHECK-BE: mfspr 2, 260 # encoding: [0x7c,0x44,0x42,0xa6] +# CHECK-LE: mfspr 2, 260 # encoding: [0xa6,0x42,0x44,0x7c] + mfsprg4 %r2 +# CHECK-BE: mfspr 2, 261 # encoding: [0x7c,0x45,0x42,0xa6] +# CHECK-LE: mfspr 2, 261 # encoding: [0xa6,0x42,0x45,0x7c] + mfsprg5 %r2 +# CHECK-BE: mfspr 2, 262 # encoding: [0x7c,0x46,0x42,0xa6] +# CHECK-LE: mfspr 2, 262 # encoding: [0xa6,0x42,0x46,0x7c] + mfsprg6 %r2 +# CHECK-BE: mfspr 2, 263 # encoding: [0x7c,0x47,0x42,0xa6] +# CHECK-LE: mfspr 2, 263 # encoding: [0xa6,0x42,0x47,0x7c] + mfsprg7 %r2 + +# NOT-CHECK-BE: mtspr 260, 4 # encoding: [0x7c,0x90,0x43,0xa6] +# NOT-CHECK-LE: mtspr 260, 4 # encoding: [0xa6,0x43,0x90,0x7c] + mtsprg 4, %r4 + +# NOT-CHECK-BE: mtspr 261, 4 # encoding: [0x7c,0x91,0x43,0xa6] +# NOT-CHECK-LE: mtspr 261, 4 # encoding: [0xa6,0x43,0x91,0x7c] + mtsprg 5, %r4 + +# NOT-CHECK-BE: mtspr 262, 4 # encoding: [0x7c,0x92,0x43,0xa6] +# NOT-CHECK-LE: mtspr 262, 4 # encoding: [0xa6,0x43,0x92,0x7c] + mtsprg 6, %r4 + +# NOT-CHECK-BE: mtspr 263, 4 # encoding: [0x7c,0x93,0x43,0xa6] +# NOT-CHECK-LE: mtspr 263, 4 # encoding: [0xa6,0x43,0x93,0x7c] + mtsprg 7, %r4 + +# CHECK-BE: mtspr 260, 4 # encoding: [0x7c,0x84,0x43,0xa6] +# CHECK-LE: mtspr 260, 4 # encoding: [0xa6,0x43,0x84,0x7c] + mtsprg4 %r4 + +# CHECK-BE: mtspr 261, 4 # encoding: [0x7c,0x85,0x43,0xa6] +# CHECK-LE: mtspr 261, 4 # encoding: [0xa6,0x43,0x85,0x7c] + mtsprg5 %r4 + +# CHECK-BE: mtspr 262, 4 # encoding: [0x7c,0x86,0x43,0xa6] +# CHECK-LE: mtspr 262, 4 # encoding: [0xa6,0x43,0x86,0x7c] + mtsprg6 %r4 + +# CHECK-BE: mtspr 263, 4 # encoding: [0x7c,0x87,0x43,0xa6] +# CHECK-LE: mtspr 263, 4 # encoding: [0xa6,0x43,0x87,0x7c] + mtsprg7 %r4 # CHECK-BE: mtspr 280, 4 # encoding: [0x7c,0x98,0x43,0xa6] # CHECK-LE: mtspr 280, 4 # encoding: [0xa6,0x43,0x98,0x7c] @@ -141,3 +154,34 @@ # CHECK-LE: tlbie 4,0 # encoding: [0x64,0x22,0x00,0x7c] tlbie %r4 +# CHECK-BE: rfi # encoding: [0x4c,0x00,0x00,0x64] +# CHECK-LE: rfi # encoding: [0x64,0x00,0x00,0x4c] + rfi +# CHECK-BE: rfci # encoding: [0x4c,0x00,0x00,0x66] +# CHECK-LE: rfci # encoding: [0x66,0x00,0x00,0x4c] + rfci + +# CHECK-BE: wrtee 12 # encoding: [0x7d,0x80,0x01,0x06] +# CHECK-LE: wrtee 12 # encoding: [0x06,0x01,0x80,0x7d] + wrtee %r12 + +# CHECK-BE: wrteei 0 # encoding: [0x7c,0x00,0x01,0x46] +# CHECK-LE: wrteei 0 # encoding: [0x46,0x01,0x00,0x7c] + wrteei 0 + +# CHECK-BE: wrteei 1 # encoding: [0x7c,0x00,0x81,0x46] +# CHECK-LE: wrteei 1 # encoding: [0x46,0x81,0x00,0x7c] + wrteei 1 + +# CHECK-BE: tlbre # encoding: [0x7c,0x00,0x07,0x64] +# CHECK-LE: tlbre # encoding: [0x64,0x07,0x00,0x7c] + tlbre +# CHECK-BE: tlbwe # encoding: [0x7c,0x00,0x07,0xa4] +# CHECK-LE: tlbwe # encoding: [0xa4,0x07,0x00,0x7c] + tlbwe +# CHECK-BE: tlbivax 11, 12 # encoding: [0x7c,0x0b,0x66,0x24] +# CHECK-LE: tlbivax 11, 12 # encoding: [0x24,0x66,0x0b,0x7c] + tlbivax %r11, %r12 +# CHECK-BE: tlbsx 11, 12 # encoding: [0x7c,0x0b,0x67,0x24] +# CHECK-LE: tlbsx 11, 12 # encoding: [0x24,0x67,0x0b,0x7c] + tlbsx %r11, %r12 diff --git a/test/MC/PowerPC/ppc64-encoding-e500.s b/test/MC/PowerPC/ppc64-encoding-e500.s new file mode 100644 index 0000000000..fee91ee83e --- /dev/null +++ b/test/MC/PowerPC/ppc64-encoding-e500.s @@ -0,0 +1,11 @@ +# RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-BE %s +# RUN: llvm-mc -triple powerpc64le-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-LE %s + +# Instructions specific to the e500 / e500mc cores: + +# CHECK-BE: rfdi # encoding: [0x4c,0x00,0x00,0x4e] +# CHECK-LE: rfdi # encoding: [0x4e,0x00,0x00,0x4c] + rfdi +# CHECK-BE: rfmci # encoding: [0x4c,0x00,0x00,0x4c] +# CHECK-LE: rfmci # encoding: [0x4c,0x00,0x00,0x4c] + rfmci diff --git a/test/MC/PowerPC/ppc64-encoding-ext.s b/test/MC/PowerPC/ppc64-encoding-ext.s index 2374675fae..0ffe0bf6b7 100644 --- a/test/MC/PowerPC/ppc64-encoding-ext.s +++ b/test/MC/PowerPC/ppc64-encoding-ext.s @@ -3419,6 +3419,72 @@ # CHECK-BE: mfspr 2, 1 # encoding: [0x7c,0x41,0x02,0xa6] # CHECK-LE: mfspr 2, 1 # encoding: [0xa6,0x02,0x41,0x7c] mfxer 2 +# CHECK-BE: mfspr 2, 4 # encoding: [0x7c,0x44,0x02,0xa6] +# CHECK-LE: mfspr 2, 4 # encoding: [0xa6,0x02,0x44,0x7c] + mfrtcu 2 +# CHECK-BE: mfspr 2, 5 # encoding: [0x7c,0x45,0x02,0xa6] +# CHECK-LE: mfspr 2, 5 # encoding: [0xa6,0x02,0x45,0x7c] + mfrtcl 2 +# CHECK-BE: mtspr 17, 2 # encoding: [0x7c,0x51,0x03,0xa6] +# CHECK-LE: mtspr 17, 2 # encoding: [0xa6,0x03,0x51,0x7c] + mtdscr 2 +# CHECK-BE: mfspr 2, 17 # encoding: [0x7c,0x51,0x02,0xa6] +# CHECK-LE: mfspr 2, 17 # encoding: [0xa6,0x02,0x51,0x7c] + mfdscr 2 +# CHECK-BE: mtspr 18, 2 # encoding: [0x7c,0x52,0x03,0xa6] +# CHECK-LE: mtspr 18, 2 # encoding: [0xa6,0x03,0x52,0x7c] + mtdsisr 2 +# CHECK-BE: mfspr 2, 18 # encoding: [0x7c,0x52,0x02,0xa6] +# CHECK-LE: mfspr 2, 18 # encoding: [0xa6,0x02,0x52,0x7c] + mfdsisr 2 +# CHECK-BE: mtspr 19, 2 # encoding: [0x7c,0x53,0x03,0xa6] +# CHECK-LE: mtspr 19, 2 # encoding: [0xa6,0x03,0x53,0x7c] + mtdar 2 +# CHECK-BE: mfspr 2, 19 # encoding: [0x7c,0x53,0x02,0xa6] +# CHECK-LE: mfspr 2, 19 # encoding: [0xa6,0x02,0x53,0x7c] + mfdar 2 +# CHECK-BE: mtspr 22, 2 # encoding: [0x7c,0x56,0x03,0xa6] +# CHECK-LE: mtspr 22, 2 # encoding: [0xa6,0x03,0x56,0x7c] + mtdec 2 +# CHECK-BE: mfspr 2, 22 # encoding: [0x7c,0x56,0x02,0xa6] +# CHECK-LE: mfspr 2, 22 # encoding: [0xa6,0x02,0x56,0x7c] + mfdec 2 +# CHECK-BE: mtspr 25, 2 # encoding: [0x7c,0x59,0x03,0xa6] +# CHECK-LE: mtspr 25, 2 # encoding: [0xa6,0x03,0x59,0x7c] + mtsdr1 2 +# CHECK-BE: mfspr 2, 25 # encoding: [0x7c,0x59,0x02,0xa6] +# CHECK-LE: mfspr 2, 25 # encoding: [0xa6,0x02,0x59,0x7c] + mfsdr1 2 +# CHECK-BE: mtspr 26, 2 # encoding: [0x7c,0x5a,0x03,0xa6] +# CHECK-LE: mtspr 26, 2 # encoding: [0xa6,0x03,0x5a,0x7c] + mtsrr0 2 +# CHECK-BE: mfspr 2, 26 # encoding: [0x7c,0x5a,0x02,0xa6] +# CHECK-LE: mfspr 2, 26 # encoding: [0xa6,0x02,0x5a,0x7c] + mfsrr0 2 +# CHECK-BE: mtspr 27, 2 # encoding: [0x7c,0x5b,0x03,0xa6] +# CHECK-LE: mtspr 27, 2 # encoding: [0xa6,0x03,0x5b,0x7c] + mtsrr1 2 +# CHECK-BE: mfspr 2, 27 # encoding: [0x7c,0x5b,0x02,0xa6] +# CHECK-LE: mfspr 2, 27 # encoding: [0xa6,0x02,0x5b,0x7c] + mfsrr1 2 +# CHECK-BE: mtspr 28, 2 # encoding: [0x7c,0x5c,0x03,0xa6] +# CHECK-LE: mtspr 28, 2 # encoding: [0xa6,0x03,0x5c,0x7c] + mtcfar 2 +# CHECK-BE: mfspr 2, 28 # encoding: [0x7c,0x5c,0x02,0xa6] +# CHECK-LE: mfspr 2, 28 # encoding: [0xa6,0x02,0x5c,0x7c] + mfcfar 2 +# CHECK-BE: mtspr 29, 2 # encoding: [0x7c,0x5d,0x03,0xa6] +# CHECK-LE: mtspr 29, 2 # encoding: [0xa6,0x03,0x5d,0x7c] + mtamr 2 +# CHECK-BE: mfspr 2, 29 # encoding: [0x7c,0x5d,0x02,0xa6] +# CHECK-LE: mfspr 2, 29 # encoding: [0xa6,0x02,0x5d,0x7c] + mfamr 2 +# CHECK-BE: mtspr 48, 2 # encoding: [0x7c,0x50,0x0b,0xa6] +# CHECK-LE: mtspr 48, 2 # encoding: [0xa6,0x0b,0x50,0x7c] + mtpid 2 +# CHECK-BE: mfspr 2, 48 # encoding: [0x7c,0x50,0x0a,0xa6] +# CHECK-LE: mfspr 2, 48 # encoding: [0xa6,0x0a,0x50,0x7c] + mfpid 2 # CHECK-BE: mtlr 2 # encoding: [0x7c,0x48,0x03,0xa6] # CHECK-LE: mtlr 2 # encoding: [0xa6,0x03,0x48,0x7c] mtlr 2 @@ -3465,3 +3531,105 @@ # CHECK-LE: mtcrf 255, 2 # encoding: [0x20,0xf1,0x4f,0x7c] mtcr 2 +# CHECK-BE: mfspr 4, 272 # encoding: [0x7c,0x90,0x42,0xa6] +# CHECK-LE: mfspr 4, 272 # encoding: [0xa6,0x42,0x90,0x7c] + mfsprg %r4, 0 + +# CHECK-BE: mfspr 4, 273 # encoding: [0x7c,0x91,0x42,0xa6] +# CHECK-LE: mfspr 4, 273 # encoding: [0xa6,0x42,0x91,0x7c] + mfsprg %r4, 1 + +# CHECK-BE: mfspr 4, 274 # encoding: [0x7c,0x92,0x42,0xa6] +# CHECK-LE: mfspr 4, 274 # encoding: [0xa6,0x42,0x92,0x7c] + mfsprg %r4, 2 + +# CHECK-BE: mfspr 4, 275 # encoding: [0x7c,0x93,0x42,0xa6] +# CHECK-LE: mfspr 4, 275 # encoding: [0xa6,0x42,0x93,0x7c] + mfsprg %r4, 3 + +# CHECK-BE: mfspr 2, 272 # encoding: [0x7c,0x50,0x42,0xa6] +# CHECK-LE: mfspr 2, 272 # encoding: [0xa6,0x42,0x50,0x7c] + mfsprg0 %r2 +# CHECK-BE: mfspr 2, 273 # encoding: [0x7c,0x51,0x42,0xa6] +# CHECK-LE: mfspr 2, 273 # encoding: [0xa6,0x42,0x51,0x7c] + mfsprg1 %r2 +# CHECK-BE: mfspr 2, 274 # encoding: [0x7c,0x52,0x42,0xa6] +# CHECK-LE: mfspr 2, 274 # encoding: [0xa6,0x42,0x52,0x7c] + mfsprg2 %r2 +# CHECK-BE: mfspr 2, 275 # encoding: [0x7c,0x53,0x42,0xa6] +# CHECK-LE: mfspr 2, 275 # encoding: [0xa6,0x42,0x53,0x7c] + mfsprg3 %r2 + +# CHECK-BE: mtspr 272, 4 # encoding: [0x7c,0x90,0x43,0xa6] +# CHECK-LE: mtspr 272, 4 # encoding: [0xa6,0x43,0x90,0x7c] + mtsprg 0, %r4 + +# CHECK-BE: mtspr 273, 4 # encoding: [0x7c,0x91,0x43,0xa6] +# CHECK-LE: mtspr 273, 4 # encoding: [0xa6,0x43,0x91,0x7c] + mtsprg 1, %r4 + +# CHECK-BE: mtspr 274, 4 # encoding: [0x7c,0x92,0x43,0xa6] +# CHECK-LE: mtspr 274, 4 # encoding: [0xa6,0x43,0x92,0x7c] + mtsprg 2, %r4 + +# CHECK-BE: mtspr 275, 4 # encoding: [0x7c,0x93,0x43,0xa6] +# CHECK-LE: mtspr 275, 4 # encoding: [0xa6,0x43,0x93,0x7c] + mtsprg 3, %r4 + +# CHECK-BE: mtspr 272, 4 # encoding: [0x7c,0x90,0x43,0xa6] +# CHECK-LE: mtspr 272, 4 # encoding: [0xa6,0x43,0x90,0x7c] + mtsprg0 %r4 + +# CHECK-BE: mtspr 273, 4 # encoding: [0x7c,0x91,0x43,0xa6] +# CHECK-LE: mtspr 273, 4 # encoding: [0xa6,0x43,0x91,0x7c] + mtsprg1 %r4 + +# CHECK-BE: mtspr 274, 4 # encoding: [0x7c,0x92,0x43,0xa6] +# CHECK-LE: mtspr 274, 4 # encoding: [0xa6,0x43,0x92,0x7c] + mtsprg2 %r4 + +# CHECK-BE: mtspr 275, 4 # encoding: [0x7c,0x93,0x43,0xa6] +# CHECK-LE: mtspr 275, 4 # encoding: [0xa6,0x43,0x93,0x7c] + mtsprg3 %r4 + +# Altivec Data Stream instruction: +# CHECK-BE: dss 3 # encoding: [0x7c,0x60,0x06,0x6c] +# CHECK-LE: dss 3 # encoding: [0x6c,0x06,0x60,0x7c] + dss 3 +# CHECK-BE: dssall # encoding: [0x7e,0x00,0x06,0x6c] +# CHECK-LE: dssall # encoding: [0x6c,0x06,0x00,0x7e] + dssall +# CHECK-BE: dst 12, 11, 3 # encoding: [0x7c,0x6c,0x5a,0xac] +# CHECK-LE: dst 12, 11, 3 # encoding: [0xac,0x5a,0x6c,0x7c] + dst %r12, %r11, 3 +# CHECK-BE: dstt 12, 11, 3 # encoding: [0x7e,0x6c,0x5a,0xac] +# CHECK-LE: dstt 12, 11, 3 # encoding: [0xac,0x5a,0x6c,0x7e] + dstt %r12, %r11, 3 +# CHECK-BE: dstst 12, 11, 3 # encoding: [0x7c,0x6c,0x5a,0xec] +# CHECK-LE: dstst 12, 11, 3 # encoding: [0xec,0x5a,0x6c,0x7c] + dstst %r12, %r11, 3 +# CHECK-BE: dststt 12, 11, 3 # encoding: [0x7e,0x6c,0x5a,0xec] +# CHECK-LE: dststt 12, 11, 3 # encoding: [0xec,0x5a,0x6c,0x7e] + dststt %r12, %r11, 3 + +# CHECK-BE: tlbia # encoding: [0x7c,0x00,0x02,0xe4] +# CHECK-LE: tlbia # encoding: [0xe4,0x02,0x00,0x7c] + tlbia + +# CHECK-BE: lswi 8, 6, 7 # encoding: [0x7d,0x06,0x3c,0xaa] +# CHECK-LE: lswi 8, 6, 7 # encoding: [0xaa,0x3c,0x06,0x7d] + lswi %r8, %r6, 7 +# CHECK-BE: stswi 8, 6, 7 # encoding: [0x7d,0x06,0x3d,0xaa] +# CHECK-LE: stswi 8, 6, 7 # encoding: [0xaa,0x3d,0x06,0x7d] + stswi %r8, %r6, 7 + +# CHECK-BE: rfid # encoding: [0x4c,0x00,0x00,0x24] +# CHECK-LE: rfid # encoding: [0x24,0x00,0x00,0x4c] + rfid + +# CHECK-BE: mfspr 2, 280 # encoding: [0x7c,0x58,0x42,0xa6] +# CHECK-LE: mfspr 2, 280 # encoding: [0xa6,0x42,0x58,0x7c] + mfasr 2 +# CHECK-BE: mtspr 280, 2 # encoding: [0x7c,0x58,0x43,0xa6] +# CHECK-LE: mtspr 280, 2 # encoding: [0xa6,0x43,0x58,0x7c] + mtasr 2 diff --git a/test/MC/PowerPC/ppc64-encoding-spe.s b/test/MC/PowerPC/ppc64-encoding-spe.s new file mode 100644 index 0000000000..d90eb30f7a --- /dev/null +++ b/test/MC/PowerPC/ppc64-encoding-spe.s @@ -0,0 +1,622 @@ +# RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-BE %s +# RUN: llvm-mc -triple powerpc64le-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-LE %s + +# Instructions from the Signal Processing Engine extension: + +# CHECK-BE: evlddx 14, 21, 28 # encoding: [0x11,0xd5,0xe3,0x00] +# CHECK-LE: evlddx 14, 21, 28 # encoding: [0x00,0xe3,0xd5,0x11] + evlddx %r14, %r21, %r28 +# CHECK-BE: evldwx 14, 21, 28 # encoding: [0x11,0xd5,0xe3,0x02] +# CHECK-LE: evldwx 14, 21, 28 # encoding: [0x02,0xe3,0xd5,0x11] + evldwx %r14, %r21, %r28 +# CHECK-BE: evldhx 14, 21, 28 # encoding: [0x11,0xd5,0xe3,0x04] +# CHECK-LE: evldhx 14, 21, 28 # encoding: [0x04,0xe3,0xd5,0x11] + evldhx %r14, %r21, %r28 +# CHECK-BE: evlhhesplatx 14, 21, 28 # encoding: [0x11,0xd5,0xe3,0x08] +# CHECK-LE: evlhhesplatx 14, 21, 28 # encoding: [0x08,0xe3,0xd5,0x11] + evlhhesplatx %r14, %r21, %r28 +# CHECK-BE: evlhhousplatx 14, 21, 28 # encoding: [0x11,0xd5,0xe3,0x0c] +# CHECK-LE: evlhhousplatx 14, 21, 28 # encoding: [0x0c,0xe3,0xd5,0x11] + evlhhousplatx %r14, %r21, %r28 +# CHECK-BE: evlhhossplatx 14, 21, 28 # encoding: [0x11,0xd5,0xe3,0x0e] +# CHECK-LE: evlhhossplatx 14, 21, 28 # encoding: [0x0e,0xe3,0xd5,0x11] + evlhhossplatx %r14, %r21, %r28 +# CHECK-BE: evlwhex 14, 21, 28 # encoding: [0x11,0xd5,0xe3,0x10] +# CHECK-LE: evlwhex 14, 21, 28 # encoding: [0x10,0xe3,0xd5,0x11] + evlwhex %r14, %r21, %r28 +# CHECK-BE: evlwhoux 14, 21, 28 # encoding: [0x11,0xd5,0xe3,0x14] +# CHECK-LE: evlwhoux 14, 21, 28 # encoding: [0x14,0xe3,0xd5,0x11] + evlwhoux %r14, %r21, %r28 +# CHECK-BE: evlwhosx 14, 21, 28 # encoding: [0x11,0xd5,0xe3,0x16] +# CHECK-LE: evlwhosx 14, 21, 28 # encoding: [0x16,0xe3,0xd5,0x11] + evlwhosx %r14, %r21, %r28 +# CHECK-BE: evlwwsplatx 14, 21, 28 # encoding: [0x11,0xd5,0xe3,0x18] +# CHECK-LE: evlwwsplatx 14, 21, 28 # encoding: [0x18,0xe3,0xd5,0x11] + evlwwsplatx %r14, %r21, %r28 +# CHECK-BE: evlwhsplatx 14, 21, 28 # encoding: [0x11,0xd5,0xe3,0x1c] +# CHECK-LE: evlwhsplatx 14, 21, 28 # encoding: [0x1c,0xe3,0xd5,0x11] + evlwhsplatx %r14, %r21, %r28 +# CHECK-BE: evmergehi 14, 21, 28 # encoding: [0x11,0xd5,0xe2,0x2c] +# CHECK-LE: evmergehi 14, 21, 28 # encoding: [0x2c,0xe2,0xd5,0x11] + evmergehi %r14, %r21, %r28 +# CHECK-BE: evmergelo 14, 21, 28 # encoding: [0x11,0xd5,0xe2,0x2d] +# CHECK-LE: evmergelo 14, 21, 28 # encoding: [0x2d,0xe2,0xd5,0x11] + evmergelo %r14, %r21, %r28 +# CHECK-BE: evmergehilo 14, 21, 28 # encoding: [0x11,0xd5,0xe2,0x2e] +# CHECK-LE: evmergehilo 14, 21, 28 # encoding: [0x2e,0xe2,0xd5,0x11] + evmergehilo %r14, %r21, %r28 +# CHECK-BE: evmergelohi 14, 21, 28 # encoding: [0x11,0xd5,0xe2,0x2f] +# CHECK-LE: evmergelohi 14, 21, 28 # encoding: [0x2f,0xe2,0xd5,0x11] + evmergelohi %r14, %r21, %r28 + +# CHECK-BE: brinc 14, 22, 19 # encoding: [0x11,0xd6,0x9a,0x0f] +# CHECK-LE: brinc 14, 22, 19 # encoding: [0x0f,0x9a,0xd6,0x11] + brinc %r14, %r22, %r19 +# CHECK-BE: evabs 14, 22 # encoding: [0x11,0xd6,0x02,0x08] +# CHECK-LE: evabs 14, 22 # encoding: [0x08,0x02,0xd6,0x11] + evabs %r14, %r22 +# CHECK-BE: evaddsmiaaw 14, 22 # encoding: [0x11,0xd6,0x04,0xc9] +# CHECK-LE: evaddsmiaaw 14, 22 # encoding: [0xc9,0x04,0xd6,0x11] + evaddsmiaaw %r14, %r22 +# CHECK-BE: evaddssiaaw 14, 22 # encoding: [0x11,0xd6,0x04,0xc1] +# CHECK-LE: evaddssiaaw 14, 22 # encoding: [0xc1,0x04,0xd6,0x11] + evaddssiaaw %r14, %r22 +# CHECK-BE: evaddusiaaw 14, 22 # encoding: [0x11,0xd6,0x04,0xc0] +# CHECK-LE: evaddusiaaw 14, 22 # encoding: [0xc0,0x04,0xd6,0x11] + evaddusiaaw %r14, %r22 +# CHECK-BE: evaddumiaaw 14, 22 # encoding: [0x11,0xd6,0x04,0xc8] +# CHECK-LE: evaddumiaaw 14, 22 # encoding: [0xc8,0x04,0xd6,0x11] + evaddumiaaw %r14, %r22 +# CHECK-BE: evaddw 14, 22, 19 # encoding: [0x11,0xd6,0x9a,0x00] +# CHECK-LE: evaddw 14, 22, 19 # encoding: [0x00,0x9a,0xd6,0x11] + evaddw %r14, %r22, %r19 +# CHECK-BE: evaddiw 14, 29, 19 # encoding: [0x11,0xd3,0xea,0x02] +# CHECK-LE: evaddiw 14, 29, 19 # encoding: [0x02,0xea,0xd3,0x11] + evaddiw %r14, 29, %r19 +# CHECK-BE: evand 14, 22, 19 # encoding: [0x11,0xd6,0x9a,0x11] +# CHECK-LE: evand 14, 22, 19 # encoding: [0x11,0x9a,0xd6,0x11] + evand %r14, %r22, %r19 +# CHECK-BE: evandc 14, 22, 19 # encoding: [0x11,0xd6,0x9a,0x12] +# CHECK-LE: evandc 14, 22, 19 # encoding: [0x12,0x9a,0xd6,0x11] + evandc %r14, %r22, %r19 +# CHECK-BE: evcmpeq 3, 22, 19 # encoding: [0x11,0x96,0x9a,0x34] +# CHECK-LE: evcmpeq 3, 22, 19 # encoding: [0x34,0x9a,0x96,0x11] + evcmpeq %cr3, %r22, %r19 +# CHECK-BE: evcmpgts 3, 22, 19 # encoding: [0x11,0x96,0x9a,0x31] +# CHECK-LE: evcmpgts 3, 22, 19 # encoding: [0x31,0x9a,0x96,0x11] + evcmpgts %cr3, %r22, %r19 +# CHECK-BE: evcmpgtu 3, 22, 19 # encoding: [0x11,0x96,0x9a,0x30] +# CHECK-LE: evcmpgtu 3, 22, 19 # encoding: [0x30,0x9a,0x96,0x11] + evcmpgtu %cr3, %r22, %r19 +# CHECK-BE: evcmplts 3, 22, 19 # encoding: [0x11,0x96,0x9a,0x33] +# CHECK-LE: evcmplts 3, 22, 19 # encoding: [0x33,0x9a,0x96,0x11] + evcmplts %cr3, %r22, %r19 +# CHECK-BE: evcmpltu 3, 22, 19 # encoding: [0x11,0x96,0x9a,0x32] +# CHECK-LE: evcmpltu 3, 22, 19 # encoding: [0x32,0x9a,0x96,0x11] + evcmpltu %cr3, %r22, %r19 +# CHECK-BE: evcntlsw 14, 22 # encoding: [0x11,0xd6,0x02,0x0e] +# CHECK-LE: evcntlsw 14, 22 # encoding: [0x0e,0x02,0xd6,0x11] + evcntlsw %r14, %r22 +# CHECK-BE: evcntlzw 14, 22 # encoding: [0x11,0xd6,0x02,0x0d] +# CHECK-LE: evcntlzw 14, 22 # encoding: [0x0d,0x02,0xd6,0x11] + evcntlzw %r14, %r22 +# CHECK-BE: evdivws 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0xc6] +# CHECK-LE: evdivws 14, 22, 19 # encoding: [0xc6,0x9c,0xd6,0x11] + evdivws %r14, %r22, %r19 +# CHECK-BE: evdivwu 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0xc7] +# CHECK-LE: evdivwu 14, 22, 19 # encoding: [0xc7,0x9c,0xd6,0x11] + evdivwu %r14, %r22, %r19 +# CHECK-BE: eveqv 14, 22, 19 # encoding: [0x11,0xd6,0x9a,0x19] +# CHECK-LE: eveqv 14, 22, 19 # encoding: [0x19,0x9a,0xd6,0x11] + eveqv %r14, %r22, %r19 +# CHECK-BE: evextsb 14, 22 # encoding: [0x11,0xd6,0x02,0x0a] +# CHECK-LE: evextsb 14, 22 # encoding: [0x0a,0x02,0xd6,0x11] + evextsb %r14, %r22 +# CHECK-BE: evextsh 14, 22 # encoding: [0x11,0xd6,0x02,0x0b] +# CHECK-LE: evextsh 14, 22 # encoding: [0x0b,0x02,0xd6,0x11] + evextsh %r14, %r22 +# CHECK-BE: evmhegsmfaa 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x2b] +# CHECK-LE: evmhegsmfaa 14, 22, 19 # encoding: [0x2b,0x9d,0xd6,0x11] + evmhegsmfaa %r14, %r22, %r19 +# CHECK-BE: evmhegsmfan 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0xab] +# CHECK-LE: evmhegsmfan 14, 22, 19 # encoding: [0xab,0x9d,0xd6,0x11] + evmhegsmfan %r14, %r22, %r19 +# CHECK-BE: evmhegsmiaa 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x29] +# CHECK-LE: evmhegsmiaa 14, 22, 19 # encoding: [0x29,0x9d,0xd6,0x11] + evmhegsmiaa %r14, %r22, %r19 +# CHECK-BE: evmhegsmian 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0xa9] +# CHECK-LE: evmhegsmian 14, 22, 19 # encoding: [0xa9,0x9d,0xd6,0x11] + evmhegsmian %r14, %r22, %r19 +# CHECK-BE: evmhegumiaa 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x28] +# CHECK-LE: evmhegumiaa 14, 22, 19 # encoding: [0x28,0x9d,0xd6,0x11] + evmhegumiaa %r14, %r22, %r19 +# CHECK-BE: evmhegumian 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0xa8] +# CHECK-LE: evmhegumian 14, 22, 19 # encoding: [0xa8,0x9d,0xd6,0x11] + evmhegumian %r14, %r22, %r19 +# CHECK-BE: evmhesmf 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x0b] +# CHECK-LE: evmhesmf 14, 22, 19 # encoding: [0x0b,0x9c,0xd6,0x11] + evmhesmf %r14, %r22, %r19 +# CHECK-BE: evmhesmfa 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x2b] +# CHECK-LE: evmhesmfa 14, 22, 19 # encoding: [0x2b,0x9c,0xd6,0x11] + evmhesmfa %r14, %r22, %r19 +# CHECK-BE: evmhesmfaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x0b] +# CHECK-LE: evmhesmfaaw 14, 22, 19 # encoding: [0x0b,0x9d,0xd6,0x11] + evmhesmfaaw %r14, %r22, %r19 +# CHECK-BE: evmhesmfanw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x8b] +# CHECK-LE: evmhesmfanw 14, 22, 19 # encoding: [0x8b,0x9d,0xd6,0x11] + evmhesmfanw %r14, %r22, %r19 +# CHECK-BE: evmhesmi 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x09] +# CHECK-LE: evmhesmi 14, 22, 19 # encoding: [0x09,0x9c,0xd6,0x11] + evmhesmi %r14, %r22, %r19 +# CHECK-BE: evmhesmia 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x29] +# CHECK-LE: evmhesmia 14, 22, 19 # encoding: [0x29,0x9c,0xd6,0x11] + evmhesmia %r14, %r22, %r19 +# CHECK-BE: evmhesmiaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x09] +# CHECK-LE: evmhesmiaaw 14, 22, 19 # encoding: [0x09,0x9d,0xd6,0x11] + evmhesmiaaw %r14, %r22, %r19 +# CHECK-BE: evmhesmianw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x89] +# CHECK-LE: evmhesmianw 14, 22, 19 # encoding: [0x89,0x9d,0xd6,0x11] + evmhesmianw %r14, %r22, %r19 +# CHECK-BE: evmhessf 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x03] +# CHECK-LE: evmhessf 14, 22, 19 # encoding: [0x03,0x9c,0xd6,0x11] + evmhessf %r14, %r22, %r19 +# CHECK-BE: evmhessfa 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x23] +# CHECK-LE: evmhessfa 14, 22, 19 # encoding: [0x23,0x9c,0xd6,0x11] + evmhessfa %r14, %r22, %r19 +# CHECK-BE: evmhessfaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x03] +# CHECK-LE: evmhessfaaw 14, 22, 19 # encoding: [0x03,0x9d,0xd6,0x11] + evmhessfaaw %r14, %r22, %r19 +# CHECK-BE: evmhessfanw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x83] +# CHECK-LE: evmhessfanw 14, 22, 19 # encoding: [0x83,0x9d,0xd6,0x11] + evmhessfanw %r14, %r22, %r19 +# CHECK-BE: evmhessiaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x01] +# CHECK-LE: evmhessiaaw 14, 22, 19 # encoding: [0x01,0x9d,0xd6,0x11] + evmhessiaaw %r14, %r22, %r19 +# CHECK-BE: evmhessianw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x81] +# CHECK-LE: evmhessianw 14, 22, 19 # encoding: [0x81,0x9d,0xd6,0x11] + evmhessianw %r14, %r22, %r19 +# CHECK-BE: evmheumi 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x08] +# CHECK-LE: evmheumi 14, 22, 19 # encoding: [0x08,0x9c,0xd6,0x11] + evmheumi %r14, %r22, %r19 +# CHECK-BE: evmheumia 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x28] +# CHECK-LE: evmheumia 14, 22, 19 # encoding: [0x28,0x9c,0xd6,0x11] + evmheumia %r14, %r22, %r19 +# CHECK-BE: evmheumiaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x08] +# CHECK-LE: evmheumiaaw 14, 22, 19 # encoding: [0x08,0x9d,0xd6,0x11] + evmheumiaaw %r14, %r22, %r19 +# CHECK-BE: evmheumianw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x88] +# CHECK-LE: evmheumianw 14, 22, 19 # encoding: [0x88,0x9d,0xd6,0x11] + evmheumianw %r14, %r22, %r19 +# CHECK-BE: evmheusiaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x00] +# CHECK-LE: evmheusiaaw 14, 22, 19 # encoding: [0x00,0x9d,0xd6,0x11] + evmheusiaaw %r14, %r22, %r19 +# CHECK-BE: evmheusianw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x80] +# CHECK-LE: evmheusianw 14, 22, 19 # encoding: [0x80,0x9d,0xd6,0x11] + evmheusianw %r14, %r22, %r19 +# CHECK-BE: evmhogsmfaa 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x2f] +# CHECK-LE: evmhogsmfaa 14, 22, 19 # encoding: [0x2f,0x9d,0xd6,0x11] + evmhogsmfaa %r14, %r22, %r19 +# CHECK-BE: evmhogsmfan 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0xaf] +# CHECK-LE: evmhogsmfan 14, 22, 19 # encoding: [0xaf,0x9d,0xd6,0x11] + evmhogsmfan %r14, %r22, %r19 +# CHECK-BE: evmhogsmiaa 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x2d] +# CHECK-LE: evmhogsmiaa 14, 22, 19 # encoding: [0x2d,0x9d,0xd6,0x11] + evmhogsmiaa %r14, %r22, %r19 +# CHECK-BE: evmhogsmian 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0xad] +# CHECK-LE: evmhogsmian 14, 22, 19 # encoding: [0xad,0x9d,0xd6,0x11] + evmhogsmian %r14, %r22, %r19 +# CHECK-BE: evmhogumiaa 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x2c] +# CHECK-LE: evmhogumiaa 14, 22, 19 # encoding: [0x2c,0x9d,0xd6,0x11] + evmhogumiaa %r14, %r22, %r19 +# CHECK-BE: evmhogumian 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0xac] +# CHECK-LE: evmhogumian 14, 22, 19 # encoding: [0xac,0x9d,0xd6,0x11] + evmhogumian %r14, %r22, %r19 +# CHECK-BE: evmhosmf 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x0f] +# CHECK-LE: evmhosmf 14, 22, 19 # encoding: [0x0f,0x9c,0xd6,0x11] + evmhosmf %r14, %r22, %r19 +# CHECK-BE: evmhosmfa 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x2f] +# CHECK-LE: evmhosmfa 14, 22, 19 # encoding: [0x2f,0x9c,0xd6,0x11] + evmhosmfa %r14, %r22, %r19 +# CHECK-BE: evmhosmfaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x0f] +# CHECK-LE: evmhosmfaaw 14, 22, 19 # encoding: [0x0f,0x9d,0xd6,0x11] + evmhosmfaaw %r14, %r22, %r19 +# CHECK-BE: evmhosmfanw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x8f] +# CHECK-LE: evmhosmfanw 14, 22, 19 # encoding: [0x8f,0x9d,0xd6,0x11] + evmhosmfanw %r14, %r22, %r19 +# CHECK-BE: evmhosmi 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x0d] +# CHECK-LE: evmhosmi 14, 22, 19 # encoding: [0x0d,0x9c,0xd6,0x11] + evmhosmi %r14, %r22, %r19 +# CHECK-BE: evmhosmia 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x2d] +# CHECK-LE: evmhosmia 14, 22, 19 # encoding: [0x2d,0x9c,0xd6,0x11] + evmhosmia %r14, %r22, %r19 +# CHECK-BE: evmhosmiaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x0d] +# CHECK-LE: evmhosmiaaw 14, 22, 19 # encoding: [0x0d,0x9d,0xd6,0x11] + evmhosmiaaw %r14, %r22, %r19 +# CHECK-BE: evmhosmianw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x8d] +# CHECK-LE: evmhosmianw 14, 22, 19 # encoding: [0x8d,0x9d,0xd6,0x11] + evmhosmianw %r14, %r22, %r19 +# CHECK-BE: evmhossf 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x07] +# CHECK-LE: evmhossf 14, 22, 19 # encoding: [0x07,0x9c,0xd6,0x11] + evmhossf %r14, %r22, %r19 +# CHECK-BE: evmhossfa 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x27] +# CHECK-LE: evmhossfa 14, 22, 19 # encoding: [0x27,0x9c,0xd6,0x11] + evmhossfa %r14, %r22, %r19 +# CHECK-BE: evmhossfaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x07] +# CHECK-LE: evmhossfaaw 14, 22, 19 # encoding: [0x07,0x9d,0xd6,0x11] + evmhossfaaw %r14, %r22, %r19 +# CHECK-BE: evmhossfanw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x87] +# CHECK-LE: evmhossfanw 14, 22, 19 # encoding: [0x87,0x9d,0xd6,0x11] + evmhossfanw %r14, %r22, %r19 +# CHECK-BE: evmhossiaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x05] +# CHECK-LE: evmhossiaaw 14, 22, 19 # encoding: [0x05,0x9d,0xd6,0x11] + evmhossiaaw %r14, %r22, %r19 +# CHECK-BE: evmhossianw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x85] +# CHECK-LE: evmhossianw 14, 22, 19 # encoding: [0x85,0x9d,0xd6,0x11] + evmhossianw %r14, %r22, %r19 +# CHECK-BE: evmhoumi 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x0c] +# CHECK-LE: evmhoumi 14, 22, 19 # encoding: [0x0c,0x9c,0xd6,0x11] + evmhoumi %r14, %r22, %r19 +# CHECK-BE: evmhoumia 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x2c] +# CHECK-LE: evmhoumia 14, 22, 19 # encoding: [0x2c,0x9c,0xd6,0x11] + evmhoumia %r14, %r22, %r19 +# CHECK-BE: evmhoumiaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x0c] +# CHECK-LE: evmhoumiaaw 14, 22, 19 # encoding: [0x0c,0x9d,0xd6,0x11] + evmhoumiaaw %r14, %r22, %r19 +# CHECK-BE: evmhoumianw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x8c] +# CHECK-LE: evmhoumianw 14, 22, 19 # encoding: [0x8c,0x9d,0xd6,0x11] + evmhoumianw %r14, %r22, %r19 +# CHECK-BE: evmhousiaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x04] +# CHECK-LE: evmhousiaaw 14, 22, 19 # encoding: [0x04,0x9d,0xd6,0x11] + evmhousiaaw %r14, %r22, %r19 +# CHECK-BE: evmhousianw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x84] +# CHECK-LE: evmhousianw 14, 22, 19 # encoding: [0x84,0x9d,0xd6,0x11] + evmhousianw %r14, %r22, %r19 +# CHECK-BE: evmwhsmf 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x4f] +# CHECK-LE: evmwhsmf 14, 22, 19 # encoding: [0x4f,0x9c,0xd6,0x11] + evmwhsmf %r14, %r22, %r19 +# CHECK-BE: evmwhsmfa 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x6f] +# CHECK-LE: evmwhsmfa 14, 22, 19 # encoding: [0x6f,0x9c,0xd6,0x11] + evmwhsmfa %r14, %r22, %r19 +# CHECK-BE: evmwhsmi 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x4d] +# CHECK-LE: evmwhsmi 14, 22, 19 # encoding: [0x4d,0x9c,0xd6,0x11] + evmwhsmi %r14, %r22, %r19 +# CHECK-BE: evmwhsmia 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x6d] +# CHECK-LE: evmwhsmia 14, 22, 19 # encoding: [0x6d,0x9c,0xd6,0x11] + evmwhsmia %r14, %r22, %r19 +# CHECK-BE: evmwhssf 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x47] +# CHECK-LE: evmwhssf 14, 22, 19 # encoding: [0x47,0x9c,0xd6,0x11] + evmwhssf %r14, %r22, %r19 +# CHECK-BE: evmwhssfa 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x67] +# CHECK-LE: evmwhssfa 14, 22, 19 # encoding: [0x67,0x9c,0xd6,0x11] + evmwhssfa %r14, %r22, %r19 +# CHECK-BE: evmwhumi 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x4c] +# CHECK-LE: evmwhumi 14, 22, 19 # encoding: [0x4c,0x9c,0xd6,0x11] + evmwhumi %r14, %r22, %r19 +# CHECK-BE: evmwhumia 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x6c] +# CHECK-LE: evmwhumia 14, 22, 19 # encoding: [0x6c,0x9c,0xd6,0x11] + evmwhumia %r14, %r22, %r19 +# CHECK-BE: evmwlsmiaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x49] +# CHECK-LE: evmwlsmiaaw 14, 22, 19 # encoding: [0x49,0x9d,0xd6,0x11] + evmwlsmiaaw %r14, %r22, %r19 +# CHECK-BE: evmwlsmianw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0xc9] +# CHECK-LE: evmwlsmianw 14, 22, 19 # encoding: [0xc9,0x9d,0xd6,0x11] + evmwlsmianw %r14, %r22, %r19 +# CHECK-BE: evmwlssiaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x41] +# CHECK-LE: evmwlssiaaw 14, 22, 19 # encoding: [0x41,0x9d,0xd6,0x11] + evmwlssiaaw %r14, %r22, %r19 +# CHECK-BE: evmwlssianw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0xc1] +# CHECK-LE: evmwlssianw 14, 22, 19 # encoding: [0xc1,0x9d,0xd6,0x11] + evmwlssianw %r14, %r22, %r19 +# CHECK-BE: evmwlumi 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x48] +# CHECK-LE: evmwlumi 14, 22, 19 # encoding: [0x48,0x9c,0xd6,0x11] + evmwlumi %r14, %r22, %r19 +# CHECK-BE: evmwlumia 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x68] +# CHECK-LE: evmwlumia 14, 22, 19 # encoding: [0x68,0x9c,0xd6,0x11] + evmwlumia %r14, %r22, %r19 +# CHECK-BE: evmwlumiaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x48] +# CHECK-LE: evmwlumiaaw 14, 22, 19 # encoding: [0x48,0x9d,0xd6,0x11] + evmwlumiaaw %r14, %r22, %r19 +# CHECK-BE: evmwlumianw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0xc8] +# CHECK-LE: evmwlumianw 14, 22, 19 # encoding: [0xc8,0x9d,0xd6,0x11] + evmwlumianw %r14, %r22, %r19 +# CHECK-BE: evmwlusiaaw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x40] +# CHECK-LE: evmwlusiaaw 14, 22, 19 # encoding: [0x40,0x9d,0xd6,0x11] + evmwlusiaaw %r14, %r22, %r19 +# CHECK-BE: evmwlusianw 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0xc0] +# CHECK-LE: evmwlusianw 14, 22, 19 # encoding: [0xc0,0x9d,0xd6,0x11] + evmwlusianw %r14, %r22, %r19 +# CHECK-BE: evmwsmf 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x5b] +# CHECK-LE: evmwsmf 14, 22, 19 # encoding: [0x5b,0x9c,0xd6,0x11] + evmwsmf %r14, %r22, %r19 +# CHECK-BE: evmwsmfa 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x7b] +# CHECK-LE: evmwsmfa 14, 22, 19 # encoding: [0x7b,0x9c,0xd6,0x11] + evmwsmfa %r14, %r22, %r19 +# CHECK-BE: evmwsmfaa 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x5b] +# CHECK-LE: evmwsmfaa 14, 22, 19 # encoding: [0x5b,0x9d,0xd6,0x11] + evmwsmfaa %r14, %r22, %r19 +# CHECK-BE: evmwsmfan 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0xdb] +# CHECK-LE: evmwsmfan 14, 22, 19 # encoding: [0xdb,0x9d,0xd6,0x11] + evmwsmfan %r14, %r22, %r19 +# CHECK-BE: evmwsmi 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x59] +# CHECK-LE: evmwsmi 14, 22, 19 # encoding: [0x59,0x9c,0xd6,0x11] + evmwsmi %r14, %r22, %r19 +# CHECK-BE: evmwsmia 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x79] +# CHECK-LE: evmwsmia 14, 22, 19 # encoding: [0x79,0x9c,0xd6,0x11] + evmwsmia %r14, %r22, %r19 +# CHECK-BE: evmwsmiaa 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x59] +# CHECK-LE: evmwsmiaa 14, 22, 19 # encoding: [0x59,0x9d,0xd6,0x11] + evmwsmiaa %r14, %r22, %r19 +# CHECK-BE: evmwsmian 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0xd9] +# CHECK-LE: evmwsmian 14, 22, 19 # encoding: [0xd9,0x9d,0xd6,0x11] + evmwsmian %r14, %r22, %r19 +# CHECK-BE: evmwssf 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x53] +# CHECK-LE: evmwssf 14, 22, 19 # encoding: [0x53,0x9c,0xd6,0x11] + evmwssf %r14, %r22, %r19 +# CHECK-BE: evmwssfa 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x73] +# CHECK-LE: evmwssfa 14, 22, 19 # encoding: [0x73,0x9c,0xd6,0x11] + evmwssfa %r14, %r22, %r19 +# CHECK-BE: evmwssfaa 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x53] +# CHECK-LE: evmwssfaa 14, 22, 19 # encoding: [0x53,0x9d,0xd6,0x11] + evmwssfaa %r14, %r22, %r19 +# CHECK-BE: evmwssfan 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0xd3] +# CHECK-LE: evmwssfan 14, 22, 19 # encoding: [0xd3,0x9d,0xd6,0x11] + evmwssfan %r14, %r22, %r19 +# CHECK-BE: evmwumi 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x58] +# CHECK-LE: evmwumi 14, 22, 19 # encoding: [0x58,0x9c,0xd6,0x11] + evmwumi %r14, %r22, %r19 +# CHECK-BE: evmwumia 14, 22, 19 # encoding: [0x11,0xd6,0x9c,0x78] +# CHECK-LE: evmwumia 14, 22, 19 # encoding: [0x78,0x9c,0xd6,0x11] + evmwumia %r14, %r22, %r19 +# CHECK-BE: evmwumiaa 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0x58] +# CHECK-LE: evmwumiaa 14, 22, 19 # encoding: [0x58,0x9d,0xd6,0x11] + evmwumiaa %r14, %r22, %r19 +# CHECK-BE: evmwumian 14, 22, 19 # encoding: [0x11,0xd6,0x9d,0xd8] +# CHECK-LE: evmwumian 14, 22, 19 # encoding: [0xd8,0x9d,0xd6,0x11] + evmwumian %r14, %r22, %r19 +# CHECK-BE: evnand 14, 22, 19 # encoding: [0x11,0xd6,0x9a,0x1e] +# CHECK-LE: evnand 14, 22, 19 # encoding: [0x1e,0x9a,0xd6,0x11] + evnand %r14, %r22, %r19 +# CHECK-BE: evneg 14, 22 # encoding: [0x11,0xd6,0x02,0x09] +# CHECK-LE: evneg 14, 22 # encoding: [0x09,0x02,0xd6,0x11] + evneg %r14, %r22 +# CHECK-BE: evnor 14, 22, 19 # encoding: [0x11,0xd6,0x9a,0x18] +# CHECK-LE: evnor 14, 22, 19 # encoding: [0x18,0x9a,0xd6,0x11] + evnor %r14, %r22, %r19 +# CHECK-BE: evor 14, 22, 19 # encoding: [0x11,0xd6,0x9a,0x17] +# CHECK-LE: evor 14, 22, 19 # encoding: [0x17,0x9a,0xd6,0x11] + evor %r14, %r22, %r19 +# CHECK-BE: evorc 14, 22, 19 # encoding: [0x11,0xd6,0x9a,0x1b] +# CHECK-LE: evorc 14, 22, 19 # encoding: [0x1b,0x9a,0xd6,0x11] + evorc %r14, %r22, %r19 +# CHECK-BE: evrlwi 14, 29, 19 # encoding: [0x11,0xdd,0x9a,0x2a] +# CHECK-LE: evrlwi 14, 29, 19 # encoding: [0x2a,0x9a,0xdd,0x11] + evrlwi %r14, 29, %r19 +# CHECK-BE: evrlw 14, 22, 19 # encoding: [0x11,0xd6,0x9a,0x28] +# CHECK-LE: evrlw 14, 22, 19 # encoding: [0x28,0x9a,0xd6,0x11] + evrlw %r14, %r22, %r19 +# CHECK-BE: evrndw 14, 22 # encoding: [0x11,0xd6,0x02,0x0c] +# CHECK-LE: evrndw 14, 22 # encoding: [0x0c,0x02,0xd6,0x11] + evrndw %r14, %r22 +# CHECK-BE: evslwi 14, 29, 19 # encoding: [0x11,0xdd,0x9a,0x26] +# CHECK-LE: evslwi 14, 29, 19 # encoding: [0x26,0x9a,0xdd,0x11] + evslwi %r14, 29, %r19 +# CHECK-BE: evslw 14, 22, 19 # encoding: [0x11,0xd6,0x9a,0x24] +# CHECK-LE: evslw 14, 22, 19 # encoding: [0x24,0x9a,0xd6,0x11] + evslw %r14, %r22, %r19 +# CHECK-BE: evsplatfi 14, -13 # encoding: [0x11,0xd3,0x02,0x2b] +# CHECK-LE: evsplatfi 14, -13 # encoding: [0x2b,0x02,0xd3,0x11] + evsplatfi %r14, -13 +# CHECK-BE: evsplati 14, -13 # encoding: [0x11,0xd3,0x02,0x29] +# CHECK-LE: evsplati 14, -13 # encoding: [0x29,0x02,0xd3,0x11] + evsplati %r14, -13 +# CHECK-BE: evsrwis 14, 29, 19 # encoding: [0x11,0xdd,0x9a,0x23] +# CHECK-LE: evsrwis 14, 29, 19 # encoding: [0x23,0x9a,0xdd,0x11] + evsrwis %r14, 29, %r19 +# CHECK-BE: evsrwiu 14, 29, 19 # encoding: [0x11,0xdd,0x9a,0x22] +# CHECK-LE: evsrwiu 14, 29, 19 # encoding: [0x22,0x9a,0xdd,0x11] + evsrwiu %r14, 29, %r19 +# CHECK-BE: evsrws 14, 22, 19 # encoding: [0x11,0xd6,0x9a,0x21] +# CHECK-LE: evsrws 14, 22, 19 # encoding: [0x21,0x9a,0xd6,0x11] + evsrws %r14, %r22, %r19 +# CHECK-BE: evsrwu 14, 22, 19 # encoding: [0x11,0xd6,0x9a,0x20] +# CHECK-LE: evsrwu 14, 22, 19 # encoding: [0x20,0x9a,0xd6,0x11] + evsrwu %r14, %r22, %r19 +# CHECK-BE: evstddx 14, 22, 19 # encoding: [0x11,0xd6,0x9b,0x20] +# CHECK-LE: evstddx 14, 22, 19 # encoding: [0x20,0x9b,0xd6,0x11] + evstddx %r14, %r22, %r19 +# CHECK-BE: evstdhx 14, 22, 19 # encoding: [0x11,0xd6,0x9b,0x24] +# CHECK-LE: evstdhx 14, 22, 19 # encoding: [0x24,0x9b,0xd6,0x11] + evstdhx %r14, %r22, %r19 +# CHECK-BE: evstdwx 14, 22, 19 # encoding: [0x11,0xd6,0x9b,0x22] +# CHECK-LE: evstdwx 14, 22, 19 # encoding: [0x22,0x9b,0xd6,0x11] + evstdwx %r14, %r22, %r19 +# CHECK-BE: evstwhex 14, 22, 19 # encoding: [0x11,0xd6,0x9b,0x30] +# CHECK-LE: evstwhex 14, 22, 19 # encoding: [0x30,0x9b,0xd6,0x11] + evstwhex %r14, %r22, %r19 +# CHECK-BE: evstwhox 14, 22, 19 # encoding: [0x11,0xd6,0x9b,0x34] +# CHECK-LE: evstwhox 14, 22, 19 # encoding: [0x34,0x9b,0xd6,0x11] + evstwhox %r14, %r22, %r19 +# CHECK-BE: evstwwex 14, 22, 19 # encoding: [0x11,0xd6,0x9b,0x38] +# CHECK-LE: evstwwex 14, 22, 19 # encoding: [0x38,0x9b,0xd6,0x11] + evstwwex %r14, %r22, %r19 +# CHECK-BE: evstwwox 14, 22, 19 # encoding: [0x11,0xd6,0x9b,0x3c] +# CHECK-LE: evstwwox 14, 22, 19 # encoding: [0x3c,0x9b,0xd6,0x11] + evstwwox %r14, %r22, %r19 +# CHECK-BE: evsubfssiaaw 14, 22 # encoding: [0x11,0xd6,0x04,0xc3] +# CHECK-LE: evsubfssiaaw 14, 22 # encoding: [0xc3,0x04,0xd6,0x11] + evsubfssiaaw %r14, %r22 +# CHECK-BE: evsubfsmiaaw 14, 22 # encoding: [0x11,0xd6,0x04,0xcb] +# CHECK-LE: evsubfsmiaaw 14, 22 # encoding: [0xcb,0x04,0xd6,0x11] + evsubfsmiaaw %r14, %r22 +# CHECK-BE: evsubfumiaaw 14, 22 # encoding: [0x11,0xd6,0x04,0xca] +# CHECK-LE: evsubfumiaaw 14, 22 # encoding: [0xca,0x04,0xd6,0x11] + evsubfumiaaw %r14, %r22 +# CHECK-BE: evsubfusiaaw 14, 22 # encoding: [0x11,0xd6,0x04,0xc2] +# CHECK-LE: evsubfusiaaw 14, 22 # encoding: [0xc2,0x04,0xd6,0x11] + evsubfusiaaw %r14, %r22 +# CHECK-BE: evsubfw 14, 22, 19 # encoding: [0x11,0xd6,0x9a,0x04] +# CHECK-LE: evsubfw 14, 22, 19 # encoding: [0x04,0x9a,0xd6,0x11] + evsubfw %r14, %r22, %r19 +# CHECK-BE: evsubifw 14, 29, 19 # encoding: [0x11,0xdd,0x9a,0x06] +# CHECK-LE: evsubifw 14, 29, 19 # encoding: [0x06,0x9a,0xdd,0x11] + evsubifw %r14, 29, %r19 +# CHECK-BE: evxor 14, 22, 19 # encoding: [0x11,0xd6,0x9a,0x16] +# CHECK-LE: evxor 14, 22, 19 # encoding: [0x16,0x9a,0xd6,0x11] + evxor %r14, %r22, %r19 + +# CHECK-BE: evldd 14, 0(27) # encoding: [0x11,0xdb,0x03,0x01] +# CHECK-LE: evldd 14, 0(27) # encoding: [0x01,0x03,0xdb,0x11] + evldd %r14, 0(%r27) +# CHECK-BE: evldd 14, 248(27) # encoding: [0x11,0xdb,0xfb,0x01] +# CHECK-LE: evldd 14, 248(27) # encoding: [0x01,0xfb,0xdb,0x11] + evldd %r14, 248(%r27) +# CHECK-BE: evldd 14, 248(9) # encoding: [0x11,0xc9,0xfb,0x01] +# CHECK-LE: evldd 14, 248(9) # encoding: [0x01,0xfb,0xc9,0x11] + evldd %r14, 248(%r9) +# CHECK-BE: evldw 14, 0(27) # encoding: [0x11,0xdb,0x03,0x03] +# CHECK-LE: evldw 14, 0(27) # encoding: [0x03,0x03,0xdb,0x11] + evldw %r14, 0(%r27) +# CHECK-BE: evldw 14, 248(27) # encoding: [0x11,0xdb,0xfb,0x03] +# CHECK-LE: evldw 14, 248(27) # encoding: [0x03,0xfb,0xdb,0x11] + evldw %r14, 248(%r27) +# CHECK-BE: evldw 14, 248(9) # encoding: [0x11,0xc9,0xfb,0x03] +# CHECK-LE: evldw 14, 248(9) # encoding: [0x03,0xfb,0xc9,0x11] + evldw %r14, 248(%r9) +# CHECK-BE: evldh 14, 0(27) # encoding: [0x11,0xdb,0x03,0x05] +# CHECK-LE: evldh 14, 0(27) # encoding: [0x05,0x03,0xdb,0x11] + evldh %r14, 0(%r27) +# CHECK-BE: evldh 14, 248(27) # encoding: [0x11,0xdb,0xfb,0x05] +# CHECK-LE: evldh 14, 248(27) # encoding: [0x05,0xfb,0xdb,0x11] + evldh %r14, 248(%r27) +# CHECK-BE: evldh 14, 248(9) # encoding: [0x11,0xc9,0xfb,0x05] +# CHECK-LE: evldh 14, 248(9) # encoding: [0x05,0xfb,0xc9,0x11] + evldh %r14, 248(%r9) +# CHECK-BE: evlhhesplat 14, 0(27) # encoding: [0x11,0xdb,0x03,0x09] +# CHECK-LE: evlhhesplat 14, 0(27) # encoding: [0x09,0x03,0xdb,0x11] + evlhhesplat %r14, 0(%r27) +# CHECK-BE: evlhhousplat 14, 0(27) # encoding: [0x11,0xdb,0x03,0x0d] +# CHECK-LE: evlhhousplat 14, 0(27) # encoding: [0x0d,0x03,0xdb,0x11] + evlhhousplat %r14, 0(%r27) +# CHECK-BE: evlhhousplat 14, 62(27) # encoding: [0x11,0xdb,0xfb,0x0d] +# CHECK-LE: evlhhousplat 14, 62(27) # encoding: [0x0d,0xfb,0xdb,0x11] + evlhhousplat %r14, 62(%r27) +# CHECK-BE: evlhhousplat 14, 62(9) # encoding: [0x11,0xc9,0xfb,0x0d] +# CHECK-LE: evlhhousplat 14, 62(9) # encoding: [0x0d,0xfb,0xc9,0x11] + evlhhousplat %r14, 62(%r9) +# CHECK-BE: evlhhossplat 14, 0(27) # encoding: [0x11,0xdb,0x03,0x0f] +# CHECK-LE: evlhhossplat 14, 0(27) # encoding: [0x0f,0x03,0xdb,0x11] + evlhhossplat %r14, 0(%r27) +# CHECK-BE: evlhhossplat 14, 62(27) # encoding: [0x11,0xdb,0xfb,0x0f] +# CHECK-LE: evlhhossplat 14, 62(27) # encoding: [0x0f,0xfb,0xdb,0x11] + evlhhossplat %r14, 62(%r27) +# CHECK-BE: evlhhossplat 14, 62(9) # encoding: [0x11,0xc9,0xfb,0x0f] +# CHECK-LE: evlhhossplat 14, 62(9) # encoding: [0x0f,0xfb,0xc9,0x11] + evlhhossplat %r14, 62(%r9) +# CHECK-BE: evlwhe 14, 0(27) # encoding: [0x11,0xdb,0x03,0x11] +# CHECK-LE: evlwhe 14, 0(27) # encoding: [0x11,0x03,0xdb,0x11] + evlwhe %r14, 0(%r27) +# CHECK-BE: evlwhe 14, 124(27) # encoding: [0x11,0xdb,0xfb,0x11] +# CHECK-LE: evlwhe 14, 124(27) # encoding: [0x11,0xfb,0xdb,0x11] + evlwhe %r14, 124(%r27) +# CHECK-BE: evlwhe 14, 124(9) # encoding: [0x11,0xc9,0xfb,0x11] +# CHECK-LE: evlwhe 14, 124(9) # encoding: [0x11,0xfb,0xc9,0x11] + evlwhe %r14, 124(%r9) +# CHECK-BE: evlwhou 14, 0(27) # encoding: [0x11,0xdb,0x03,0x15] +# CHECK-LE: evlwhou 14, 0(27) # encoding: [0x15,0x03,0xdb,0x11] + evlwhou %r14, 0(%r27) +# CHECK-BE: evlwhou 14, 124(27) # encoding: [0x11,0xdb,0xfb,0x15] +# CHECK-LE: evlwhou 14, 124(27) # encoding: [0x15,0xfb,0xdb,0x11] + evlwhou %r14, 124(%r27) +# CHECK-BE: evlwhou 14, 124(9) # encoding: [0x11,0xc9,0xfb,0x15] +# CHECK-LE: evlwhou 14, 124(9) # encoding: [0x15,0xfb,0xc9,0x11] + evlwhou %r14, 124(%r9) +# CHECK-BE: evlwhos 14, 0(27) # encoding: [0x11,0xdb,0x03,0x17] +# CHECK-LE: evlwhos 14, 0(27) # encoding: [0x17,0x03,0xdb,0x11] + evlwhos %r14, 0(%r27) +# CHECK-BE: evlwhos 14, 124(27) # encoding: [0x11,0xdb,0xfb,0x17] +# CHECK-LE: evlwhos 14, 124(27) # encoding: [0x17,0xfb,0xdb,0x11] + evlwhos %r14, 124(%r27) +# CHECK-BE: evlwhos 14, 124(9) # encoding: [0x11,0xc9,0xfb,0x17] +# CHECK-LE: evlwhos 14, 124(9) # encoding: [0x17,0xfb,0xc9,0x11] + evlwhos %r14, 124(%r9) +# CHECK-BE: evlwwsplat 14, 0(27) # encoding: [0x11,0xdb,0x03,0x19] +# CHECK-LE: evlwwsplat 14, 0(27) # encoding: [0x19,0x03,0xdb,0x11] + evlwwsplat %r14, 0(%r27) +# CHECK-BE: evlwwsplat 14, 124(27) # encoding: [0x11,0xdb,0xfb,0x19] +# CHECK-LE: evlwwsplat 14, 124(27) # encoding: [0x19,0xfb,0xdb,0x11] + evlwwsplat %r14, 124(%r27) +# CHECK-BE: evlwwsplat 14, 124(9) # encoding: [0x11,0xc9,0xfb,0x19] +# CHECK-LE: evlwwsplat 14, 124(9) # encoding: [0x19,0xfb,0xc9,0x11] + evlwwsplat %r14, 124(%r9) +# CHECK-BE: evlwhsplat 14, 0(27) # encoding: [0x11,0xdb,0x03,0x1d] +# CHECK-LE: evlwhsplat 14, 0(27) # encoding: [0x1d,0x03,0xdb,0x11] + evlwhsplat %r14, 0(%r27) +# CHECK-BE: evlwhsplat 14, 124(27) # encoding: [0x11,0xdb,0xfb,0x1d] +# CHECK-LE: evlwhsplat 14, 124(27) # encoding: [0x1d,0xfb,0xdb,0x11] + evlwhsplat %r14, 124(%r27) +# CHECK-BE: evlwhsplat 14, 124(9) # encoding: [0x11,0xc9,0xfb,0x1d] +# CHECK-LE: evlwhsplat 14, 124(9) # encoding: [0x1d,0xfb,0xc9,0x11] + evlwhsplat %r14, 124(%r9) +# CHECK-BE: evstdd 14, 0(27) # encoding: [0x11,0xdb,0x03,0x21] +# CHECK-LE: evstdd 14, 0(27) # encoding: [0x21,0x03,0xdb,0x11] + evstdd %r14, 0(%r27) +# CHECK-BE: evstdd 14, 248(27) # encoding: [0x11,0xdb,0xfb,0x21] +# CHECK-LE: evstdd 14, 248(27) # encoding: [0x21,0xfb,0xdb,0x11] + evstdd %r14, 248(%r27) +# CHECK-BE: evstdd 14, 248(9) # encoding: [0x11,0xc9,0xfb,0x21] +# CHECK-LE: evstdd 14, 248(9) # encoding: [0x21,0xfb,0xc9,0x11] + evstdd %r14, 248(%r9) +# CHECK-BE: evstdh 14, 0(27) # encoding: [0x11,0xdb,0x03,0x25] +# CHECK-LE: evstdh 14, 0(27) # encoding: [0x25,0x03,0xdb,0x11] + evstdh %r14, 0(%r27) +# CHECK-BE: evstdh 14, 248(27) # encoding: [0x11,0xdb,0xfb,0x25] +# CHECK-LE: evstdh 14, 248(27) # encoding: [0x25,0xfb,0xdb,0x11] + evstdh %r14, 248(%r27) +# CHECK-BE: evstdh 14, 248(9) # encoding: [0x11,0xc9,0xfb,0x25] +# CHECK-LE: evstdh 14, 248(9) # encoding: [0x25,0xfb,0xc9,0x11] + evstdh %r14, 248(%r9) +# CHECK-BE: evstdw 14, 0(27) # encoding: [0x11,0xdb,0x03,0x23] +# CHECK-LE: evstdw 14, 0(27) # encoding: [0x23,0x03,0xdb,0x11] + evstdw %r14, 0(%r27) +# CHECK-BE: evstdw 14, 248(27) # encoding: [0x11,0xdb,0xfb,0x23] +# CHECK-LE: evstdw 14, 248(27) # encoding: [0x23,0xfb,0xdb,0x11] + evstdw %r14, 248(%r27) +# CHECK-BE: evstdw 14, 248(9) # encoding: [0x11,0xc9,0xfb,0x23] +# CHECK-LE: evstdw 14, 248(9) # encoding: [0x23,0xfb,0xc9,0x11] + evstdw %r14, 248(%r9) +# CHECK-BE: evstwhe 14, 0(27) # encoding: [0x11,0xdb,0x03,0x31] +# CHECK-LE: evstwhe 14, 0(27) # encoding: [0x31,0x03,0xdb,0x11] + evstwhe %r14, 0(%r27) +# CHECK-BE: evstwhe 14, 124(27) # encoding: [0x11,0xdb,0xfb,0x31] +# CHECK-LE: evstwhe 14, 124(27) # encoding: [0x31,0xfb,0xdb,0x11] + evstwhe %r14, 124(%r27) +# CHECK-BE: evstwhe 14, 124(9) # encoding: [0x11,0xc9,0xfb,0x31] +# CHECK-LE: evstwhe 14, 124(9) # encoding: [0x31,0xfb,0xc9,0x11] + evstwhe %r14, 124(%r9) +# CHECK-BE: evstwho 14, 0(27) # encoding: [0x11,0xdb,0x03,0x35] +# CHECK-LE: evstwho 14, 0(27) # encoding: [0x35,0x03,0xdb,0x11] + evstwho %r14, 0(%r27) +# CHECK-BE: evstwho 14, 124(27) # encoding: [0x11,0xdb,0xfb,0x35] +# CHECK-LE: evstwho 14, 124(27) # encoding: [0x35,0xfb,0xdb,0x11] + evstwho %r14, 124(%r27) +# CHECK-BE: evstwho 14, 124(9) # encoding: [0x11,0xc9,0xfb,0x35] +# CHECK-LE: evstwho 14, 124(9) # encoding: [0x35,0xfb,0xc9,0x11] + evstwho %r14, 124(%r9) +# CHECK-BE: evstwwe 14, 0(27) # encoding: [0x11,0xdb,0x03,0x39] +# CHECK-LE: evstwwe 14, 0(27) # encoding: [0x39,0x03,0xdb,0x11] + evstwwe %r14, 0(%r27) +# CHECK-BE: evstwwe 14, 124(27) # encoding: [0x11,0xdb,0xfb,0x39] +# CHECK-LE: evstwwe 14, 124(27) # encoding: [0x39,0xfb,0xdb,0x11] + evstwwe %r14, 124(%r27) +# CHECK-BE: evstwwe 14, 124(9) # encoding: [0x11,0xc9,0xfb,0x39] +# CHECK-LE: evstwwe 14, 124(9) # encoding: [0x39,0xfb,0xc9,0x11] + evstwwe %r14, 124(%r9) +# CHECK-BE: evstwwo 14, 0(27) # encoding: [0x11,0xdb,0x03,0x3d] +# CHECK-LE: evstwwo 14, 0(27) # encoding: [0x3d,0x03,0xdb,0x11] + evstwwo %r14, 0(%r27) +# CHECK-BE: evstwwo 14, 124(27) # encoding: [0x11,0xdb,0xfb,0x3d] +# CHECK-LE: evstwwo 14, 124(27) # encoding: [0x3d,0xfb,0xdb,0x11] + evstwwo %r14, 124(%r27) +# CHECK-BE: evstwwo 14, 124(9) # encoding: [0x11,0xc9,0xfb,0x3d] +# CHECK-LE: evstwwo 14, 124(9) # encoding: [0x3d,0xfb,0xc9,0x11] + evstwwo %r14, 124(%r9) diff --git a/test/MC/PowerPC/ppc64-encoding.s b/test/MC/PowerPC/ppc64-encoding.s index 4c3530d9c6..d483f9df6f 100644 --- a/test/MC/PowerPC/ppc64-encoding.s +++ b/test/MC/PowerPC/ppc64-encoding.s @@ -767,3 +767,17 @@ # CHECK-LE: mfocrf 16, 8 # encoding: [0x26,0x80,0x10,0x7e] mfocrf 16, 8 +# Move to/from segment register +# CHECK-BE: mtsr 12, 10 # encoding: [0x7d,0x4c,0x01,0xa4] +# CHECK-LE: mtsr 12, 10 # encoding: [0xa4,0x01,0x4c,0x7d] + mtsr 12,%r10 +# CHECK-BE: mfsr 10, 12 # encoding: [0x7d,0x4c,0x04,0xa6] +# CHECK-LE: mfsr 10, 12 # encoding: [0xa6,0x04,0x4c,0x7d] + mfsr %r10,12 + +# CHECK-BE: mtsrin 10, 12 # encoding: [0x7d,0x40,0x61,0xe4] +# CHECK-LE: mtsrin 10, 12 # encoding: [0xe4,0x61,0x40,0x7d] + mtsrin %r10,%r12 +# CHECK-BE: mfsrin 10, 12 # encoding: [0x7d,0x40,0x65,0x26] +# CHECK-LE: mfsrin 10, 12 # encoding: [0x26,0x65,0x40,0x7d] + mfsrin %r10,%r12 diff --git a/test/MC/PowerPC/ppc64-fixup-apply.s b/test/MC/PowerPC/ppc64-fixup-apply.s index 1693405247..f98b46d6b1 100644 --- a/test/MC/PowerPC/ppc64-fixup-apply.s +++ b/test/MC/PowerPC/ppc64-fixup-apply.s @@ -14,19 +14,21 @@ addis 1, 1, target .set target, 0x1234 -addi 1, 1, target2@l -addis 1, 1, target2@ha +subi 1, 1, -target2@l +subis 1, 1, -target2@ha .set target2, 0x12345678 addi 1, 1, target3-target4@l -addis 1, 1, target3-target4@ha +subis 1, 1, target4-target3@ha .set target3, 0x23455678 .set target4, 0x12341234 addi 1, 1, target5+0x8000@l addis 1, 1, target5+0x8000@ha +ori 1, 1, target5+0x8000@l +oris 1, 1, target5+0x8000@ha .set target5, 0x10000001 @@ -68,7 +70,7 @@ addis 1, 1, target7@highesta # CHECK-NEXT: ] # CHECK-NEXT: Address: 0x0 # CHECK-NEXT: Offset: -# CHECK-NEXT: Size: 64 +# CHECK-NEXT: Size: 72 # CHECK-NEXT: Link: 0 # CHECK-NEXT: Info: 0 # CHECK-NEXT: AddressAlignment: 4 @@ -78,10 +80,12 @@ addis 1, 1, target7@highesta # CHECK-LE-NEXT: 0000: 34122138 3412213C 78562138 3412213C # CHECK-BE-NEXT: 0010: 38214444 3C211111 38218001 3C211001 # CHECK-LE-NEXT: 0010: 44442138 1111213C 01802138 0110213C -# CHECK-BE-NEXT: 0020: 38210008 3C210000 38214321 3C214321 -# CHECK-LE-NEXT: 0020: 08002138 0000213C 21432138 2143213C -# CHECK-BE-NEXT: 0030: 3821FFFF 3C211234 38210000 3C211235 -# CHECK-LE-NEXT: 0030: FFFF2138 3412213C 00002138 3512213C +# CHECK-BE-NEXT: 0020: 60218001 64211001 38210008 3C210000 +# CHECK-LE-NEXT: 0020: 01802160 01102164 08002138 0000213C +# CHECK-BE-NEXT: 0030: 38214321 3C214321 3821FFFF 3C211234 +# CHECK-LE-NEXT: 0030: 21432138 2143213C FFFF2138 3412213C +# CHECK-BE-NEXT: 0040: 38210000 3C211235 +# CHECK-LE-NEXT: 0040: 00002138 3512213C # CHECK-NEXT: ) # CHECK-NEXT: } diff --git a/test/MC/PowerPC/ppc64-fixups.s b/test/MC/PowerPC/ppc64-fixups.s index d3769f5258..20a70c2705 100644 --- a/test/MC/PowerPC/ppc64-fixups.s +++ b/test/MC/PowerPC/ppc64-fixups.s @@ -687,6 +687,18 @@ base: # CHECK-BE: ori 1, 2, 2 # encoding: [0x60,0x41,0x00,0x02] # CHECK-LE: ori 1, 2, 2 # encoding: [0x02,0x00,0x41,0x60] ori 1, 2, 131071@ha +# CHECK-BE: addi 1, 2, -1 # encoding: [0x38,0x22,0xff,0xff] +# CHECK-LE: addi 1, 2, -1 # encoding: [0xff,0xff,0x22,0x38] + addi 1, 2, 131071@l +# CHECK-BE: addi 1, 2, 1 # encoding: [0x38,0x22,0x00,0x01] +# CHECK-LE: addi 1, 2, 1 # encoding: [0x01,0x00,0x22,0x38] + addi 1, 2, 131071@h +# CHECK-BE: addi 1, 2, 2 # encoding: [0x38,0x22,0x00,0x02] +# CHECK-LE: addi 1, 2, 2 # encoding: [0x02,0x00,0x22,0x38] + addi 1, 2, 131071@ha +# CHECK-BE: addis 1, 2, -4096 # encoding: [0x3c,0x22,0xf0,0x00] +# CHECK-LE: addis 1, 2, -4096 # encoding: [0x00,0xf0,0x22,0x3c] + addis 1, 2, 0xf0000000@h # Data relocs # llvm-mc does not show any "encoding" string for data, so we just check the relocs diff --git a/test/MC/PowerPC/ppc64-localentry-error1.s b/test/MC/PowerPC/ppc64-localentry-error1.s new file mode 100644 index 0000000000..e47640fbeb --- /dev/null +++ b/test/MC/PowerPC/ppc64-localentry-error1.s @@ -0,0 +1,11 @@ + +# RUN: not llvm-mc -triple powerpc64-unknown-unknown -filetype=obj < %s 2> %t +# RUN: FileCheck < %t %s +# RUN: not llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj < %s 2> %t +# RUN: FileCheck < %t %s + +sym: + .localentry sym, 123 + +# CHECK: LLVM ERROR: .localentry expression cannot be encoded. + diff --git a/test/MC/PowerPC/ppc64-localentry-error2.s b/test/MC/PowerPC/ppc64-localentry-error2.s new file mode 100644 index 0000000000..b05687fe7b --- /dev/null +++ b/test/MC/PowerPC/ppc64-localentry-error2.s @@ -0,0 +1,12 @@ + +# RUN: not llvm-mc -triple powerpc64-unknown-unknown -filetype=obj < %s 2> %t +# RUN: FileCheck < %t %s +# RUN: not llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj < %s 2> %t +# RUN: FileCheck < %t %s + + .globl remote_sym +sym: + .localentry sym, remote_sym + +# CHECK: LLVM ERROR: .localentry expression must be absolute. + diff --git a/test/MC/PowerPC/ppc64-localentry.s b/test/MC/PowerPC/ppc64-localentry.s new file mode 100644 index 0000000000..6d2c120722 --- /dev/null +++ b/test/MC/PowerPC/ppc64-localentry.s @@ -0,0 +1,70 @@ + +# RUN: llvm-mc -triple powerpc64-unknown-unknown -filetype=obj %s | \ +# RUN: llvm-readobj -h -r -symbols | FileCheck %s +# RUN: llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj %s | \ +# RUN: llvm-readobj -h -r -symbols | FileCheck %s + + .type callee1, @function +callee1: + nop + nop + .localentry callee1, .-callee1 + nop + nop + .size callee1, .-callee1 + + .type callee2, @function +callee2: + nop + nop + .size callee2, .-callee2 + + .type caller, @function +caller: + bl callee1 + nop + bl callee2 + nop + .size caller, .-caller + + .section .text.other +caller_other: + bl callee1 + nop + bl callee2 + nop + .size caller_other, .-caller_other + +# Verify that use of .localentry implies ABI version 2 +# CHECK: ElfHeader { +# CHECK: Flags [ (0x2) + +# Verify that fixups to local function symbols are performed only +# if the target symbol does not use .localentry +# CHECK: Relocations [ +# CHECK: Section ({{[0-9]*}}) .rela.text { +# CHECK-NEXT: R_PPC64_REL24 callee1 +# CHECK-NEXT: } +# CHECK-NOT: R_PPC64_REL24 callee2 +# CHECK: Section ({{[0-9]*}}) .rela.text.other { +# CHECK-NEXT: R_PPC64_REL24 callee1 +# CHECK-NEXT: R_PPC64_REL24 .text +# CHECK-NEXT: } + +# Verify that .localentry is encoded in the Other field. +# CHECK: Symbols [ +# CHECK: Name: callee1 +# 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: callee2 +# 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/vsx.s b/test/MC/PowerPC/vsx.s index d292ddaf5c..b355ba37b8 100644 --- a/test/MC/PowerPC/vsx.s +++ b/test/MC/PowerPC/vsx.s @@ -1,27 +1,27 @@ # RUN: llvm-mc -triple powerpc64-unknown-linux-gnu --show-encoding %s | FileCheck -check-prefix=CHECK-BE %s # RUN: llvm-mc -triple powerpc64le-unknown-linux-gnu --show-encoding %s | FileCheck -check-prefix=CHECK-LE %s -# CHECK-BE: lxsdx 7, 5, 31 # encoding: [0x7c,0xe5,0xfc,0x98] -# CHECK-LE: lxsdx 7, 5, 31 # encoding: [0x98,0xfc,0xe5,0x7c] - lxsdx 7, 5, 31 -# CHECK-BE: lxvd2x 7, 5, 31 # encoding: [0x7c,0xe5,0xfe,0x98] -# CHECK-LE: lxvd2x 7, 5, 31 # encoding: [0x98,0xfe,0xe5,0x7c] - lxvd2x 7, 5, 31 -# CHECK-BE: lxvdsx 7, 5, 31 # encoding: [0x7c,0xe5,0xfa,0x98] -# CHECK-LE: lxvdsx 7, 5, 31 # encoding: [0x98,0xfa,0xe5,0x7c] - lxvdsx 7, 5, 31 -# CHECK-BE: lxvw4x 7, 5, 31 # encoding: [0x7c,0xe5,0xfe,0x18] -# CHECK-LE: lxvw4x 7, 5, 31 # encoding: [0x18,0xfe,0xe5,0x7c] - lxvw4x 7, 5, 31 -# CHECK-BE: stxsdx 8, 5, 31 # encoding: [0x7d,0x05,0xfd,0x98] -# CHECK-LE: stxsdx 8, 5, 31 # encoding: [0x98,0xfd,0x05,0x7d] - stxsdx 8, 5, 31 -# CHECK-BE: stxvd2x 8, 5, 31 # encoding: [0x7d,0x05,0xff,0x98] -# CHECK-LE: stxvd2x 8, 5, 31 # encoding: [0x98,0xff,0x05,0x7d] - stxvd2x 8, 5, 31 -# CHECK-BE: stxvw4x 8, 5, 31 # encoding: [0x7d,0x05,0xff,0x18] -# CHECK-LE: stxvw4x 8, 5, 31 # encoding: [0x18,0xff,0x05,0x7d] - stxvw4x 8, 5, 31 +# CHECK-BE: lxsdx 39, 5, 31 # encoding: [0x7c,0xe5,0xfc,0x99] +# CHECK-LE: lxsdx 39, 5, 31 # encoding: [0x99,0xfc,0xe5,0x7c] + lxsdx 39, 5, 31 +# CHECK-BE: lxvd2x 39, 5, 31 # encoding: [0x7c,0xe5,0xfe,0x99] +# CHECK-LE: lxvd2x 39, 5, 31 # encoding: [0x99,0xfe,0xe5,0x7c] + lxvd2x 39, 5, 31 +# CHECK-BE: lxvdsx 39, 5, 31 # encoding: [0x7c,0xe5,0xfa,0x99] +# CHECK-LE: lxvdsx 39, 5, 31 # encoding: [0x99,0xfa,0xe5,0x7c] + lxvdsx 39, 5, 31 +# CHECK-BE: lxvw4x 39, 5, 31 # encoding: [0x7c,0xe5,0xfe,0x19] +# CHECK-LE: lxvw4x 39, 5, 31 # encoding: [0x19,0xfe,0xe5,0x7c] + lxvw4x 39, 5, 31 +# CHECK-BE: stxsdx 40, 5, 31 # encoding: [0x7d,0x05,0xfd,0x99] +# CHECK-LE: stxsdx 40, 5, 31 # encoding: [0x99,0xfd,0x05,0x7d] + stxsdx 40, 5, 31 +# CHECK-BE: stxvd2x 40, 5, 31 # encoding: [0x7d,0x05,0xff,0x99] +# CHECK-LE: stxvd2x 40, 5, 31 # encoding: [0x99,0xff,0x05,0x7d] + stxvd2x 40, 5, 31 +# CHECK-BE: stxvw4x 40, 5, 31 # encoding: [0x7d,0x05,0xff,0x19] +# CHECK-LE: stxvw4x 40, 5, 31 # encoding: [0x19,0xff,0x05,0x7d] + stxvw4x 40, 5, 31 # CHECK-BE: xsabsdp 7, 27 # encoding: [0xf0,0xe0,0xdd,0x64] # CHECK-LE: xsabsdp 7, 27 # encoding: [0x64,0xdd,0xe0,0xf0] xsabsdp 7, 27 |