diff options
| author | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-01-19 17:07:43 +0000 |
|---|---|---|
| committer | Michael Zuckerman <Michael.zuckerman@intel.com> | 2016-01-19 17:07:43 +0000 |
| commit | d9cac592f444c84b63797019975aefbac20e1985 (patch) | |
| tree | 9350019a872863c3519aea166a50e133fd41ab0b /llvm/test | |
| parent | fac5905e557f85706b2a96d39cad2977712c3225 (diff) | |
| download | bcm5719-llvm-d9cac592f444c84b63797019975aefbac20e1985.tar.gz bcm5719-llvm-d9cac592f444c84b63797019975aefbac20e1985.zip | |
[AVX512] Adding VPERMB instruction
Differential Revision: http://reviews.llvm.org/D16294
llvm-svn: 258144
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/MC/X86/avx512vbmi-encoding.s | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/llvm/test/MC/X86/avx512vbmi-encoding.s b/llvm/test/MC/X86/avx512vbmi-encoding.s new file mode 100644 index 00000000000..a66e824711a --- /dev/null +++ b/llvm/test/MC/X86/avx512vbmi-encoding.s @@ -0,0 +1,123 @@ +// RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=skx -mattr=+avx512vl -mattr=+avx512vbmi --show-encoding %s | FileCheck %s + + vpermb %xmm28, %xmm29, %xmm30 {%k7} +//CHECK: vpermb %xmm28, %xmm29, %xmm30 {%k7} +//CHECK: encoding: [0x62,0x02,0x15,0x07,0x8d,0xf4] + + vpermb %xmm28, %xmm29, %xmm30 {%k7} {z} +//CHECK: vpermb %xmm28, %xmm29, %xmm30 {%k7} {z} +//CHECK: encoding: [0x62,0x02,0x15,0x87,0x8d,0xf4] + + vpermb (%rcx), %xmm29, %xmm30 +//CHECK: vpermb (%rcx), %xmm29, %xmm30 +//CHECK: encoding: [0x62,0x62,0x15,0x00,0x8d,0x31] + + vpermb 0x123(%rax,%r14,8), %xmm29, %xmm30 +//CHECK: vpermb 291(%rax,%r14,8), %xmm29, %xmm30 +//CHECK: encoding: [0x62,0x22,0x15,0x00,0x8d,0xb4,0xf0,0x23,0x01,0x00,0x00] + + vpermb 0x7f0(%rdx), %xmm29, %xmm30 +//CHECK: vpermb 2032(%rdx), %xmm29, %xmm30 +//CHECK: encoding: [0x62,0x62,0x15,0x00,0x8d,0x72,0x7f] + + vpermb 0x800(%rdx), %xmm29, %xmm30 +//CHECK: vpermb 2048(%rdx), %xmm29, %xmm30 +//CHECK: encoding: [0x62,0x62,0x15,0x00,0x8d,0xb2,0x00,0x08,0x00,0x00] + + vpermb -0x800(%rdx), %xmm29, %xmm30 +//CHECK: vpermb -2048(%rdx), %xmm29, %xmm30 +//CHECK: encoding: [0x62,0x62,0x15,0x00,0x8d,0x72,0x80] + + vpermb -0x810(%rdx), %xmm29, %xmm30 +//CHECK: vpermb -2064(%rdx), %xmm29, %xmm30 +//CHECK: encoding: [0x62,0x62,0x15,0x00,0x8d,0xb2,0xf0,0xf7,0xff,0xff] + + vpermb %ymm28, %ymm29, %ymm30 +//CHECK: vpermb %ymm28, %ymm29, %ymm30 +//CHECK: encoding: [0x62,0x02,0x15,0x20,0x8d,0xf4] + + vpermb %ymm28, %ymm29, %ymm30 {%k7} +//CHECK: vpermb %ymm28, %ymm29, %ymm30 {%k7} +//CHECK: encoding: [0x62,0x02,0x15,0x27,0x8d,0xf4] + + vpermb %ymm28, %ymm29, %ymm30 {%k7} {z} +//CHECK: vpermb %ymm28, %ymm29, %ymm30 {%k7} {z} +//CHECK: encoding: [0x62,0x02,0x15,0xa7,0x8d,0xf4] + + vpermb (%rcx), %ymm29, %ymm30 +//CHECK: vpermb (%rcx), %ymm29, %ymm30 +//CHECK: encoding: [0x62,0x62,0x15,0x20,0x8d,0x31] + + vpermb 0x123(%rax,%r14,8), %ymm29, %ymm30 +//CHECK: vpermb 291(%rax,%r14,8), %ymm29, %ymm30 +//CHECK: encoding: [0x62,0x22,0x15,0x20,0x8d,0xb4,0xf0,0x23,0x01,0x00,0x00] + + vpermb 0xfe0(%rdx), %ymm29, %ymm30 +//CHECK: vpermb 4064(%rdx), %ymm29, %ymm30 +//CHECK: encoding: [0x62,0x62,0x15,0x20,0x8d,0x72,0x7f] + + vpermb 0x1000(%rdx), %ymm29, %ymm30 +//CHECK: vpermb 4096(%rdx), %ymm29, %ymm30 +//CHECK: encoding: [0x62,0x62,0x15,0x20,0x8d,0xb2,0x00,0x10,0x00,0x00] + + vpermb -0x1000(%rdx), %ymm29, %ymm30 +//CHECK: vpermb -4096(%rdx), %ymm29, %ymm30 +//CHECK: encoding: [0x62,0x62,0x15,0x20,0x8d,0x72,0x80] + + vpermb -0x1020(%rdx), %ymm29, %ymm30 +//CHECK: vpermb -4128(%rdx), %ymm29, %ymm30 +//CHECK: encoding: [0x62,0x62,0x15,0x20,0x8d,0xb2,0xe0,0xef,0xff,0xff] + + vpermb %xmm28, %xmm29, %xmm30 +//CHECK: vpermb %xmm28, %xmm29, %xmm30 +//CHECK: encoding: [0x62,0x02,0x15,0x00,0x8d,0xf4] + + vpermb 0x1234(%rax,%r14,8), %xmm29, %xmm30 +//CHECK: vpermb 4660(%rax,%r14,8), %xmm29, %xmm30 +//CHECK: encoding: [0x62,0x22,0x15,0x00,0x8d,0xb4,0xf0,0x34,0x12,0x00,0x00] + + vpermb 0x1234(%rax,%r14,8), %ymm29, %ymm30 +//CHECK: vpermb 4660(%rax,%r14,8), %ymm29, %ymm30 +//CHECK: encoding: [0x62,0x22,0x15,0x20,0x8d,0xb4,0xf0,0x34,0x12,0x00,0x00] + + vpermb %zmm28, %zmm29, %zmm30 +//CHECK: vpermb %zmm28, %zmm29, %zmm30 +//CHECK: encoding: [0x62,0x02,0x15,0x40,0x8d,0xf4] + + vpermb %zmm28, %zmm29, %zmm30 {%k7} +//CHECK: vpermb %zmm28, %zmm29, %zmm30 {%k7} +//CHECK: encoding: [0x62,0x02,0x15,0x47,0x8d,0xf4] + + vpermb %zmm28, %zmm29, %zmm30 {%k7} {z} +//CHECK: vpermb %zmm28, %zmm29, %zmm30 {%k7} {z} +//CHECK: encoding: [0x62,0x02,0x15,0xc7,0x8d,0xf4] + + vpermb (%rcx), %zmm29, %zmm30 +//CHECK: vpermb (%rcx), %zmm29, %zmm30 +//CHECK: encoding: [0x62,0x62,0x15,0x40,0x8d,0x31] + + vpermb 0x123(%rax,%r14,8), %zmm29, %zmm30 +//CHECK: vpermb 291(%rax,%r14,8), %zmm29, %zmm30 +//CHECK: encoding: [0x62,0x22,0x15,0x40,0x8d,0xb4,0xf0,0x23,0x01,0x00,0x00] + + vpermb 0x1fc0(%rdx), %zmm29, %zmm30 +//CHECK: vpermb 8128(%rdx), %zmm29, %zmm30 +//CHECK: encoding: [0x62,0x62,0x15,0x40,0x8d,0x72,0x7f] + + vpermb 0x2000(%rdx), %zmm29, %zmm30 +//CHECK: vpermb 8192(%rdx), %zmm29, %zmm30 +//CHECK: encoding: [0x62,0x62,0x15,0x40,0x8d,0xb2,0x00,0x20,0x00,0x00] + + vpermb -0x2000(%rdx), %zmm29, %zmm30 +//CHECK: vpermb -8192(%rdx), %zmm29, %zmm30 +//CHECK: encoding: [0x62,0x62,0x15,0x40,0x8d,0x72,0x80] + + vpermb -0x2040(%rdx), %zmm29, %zmm30 +//CHECK: vpermb -8256(%rdx), %zmm29, %zmm30 +//CHECK: encoding: [0x62,0x62,0x15,0x40,0x8d,0xb2,0xc0,0xdf,0xff,0xff] + + vpermb 0x1234(%rax,%r14,8), %zmm29, %zmm30 +//CHECK: vpermb 4660(%rax,%r14,8), %zmm29, %zmm30 +//CHECK: encoding: [0x62,0x22,0x15,0x40,0x8d,0xb4,0xf0,0x34,0x12,0x00,0x00] + + |

