[llvm] r237232 - AVX-512: fixed a bug in encoding of VPSRAQ instrcution,

Elena Demikhovsky elena.demikhovsky at intel.com
Wed May 13 00:35:06 PDT 2015


Author: delena
Date: Wed May 13 02:35:05 2015
New Revision: 237232

URL: http://llvm.org/viewvc/llvm-project?rev=237232&view=rev
Log:
AVX-512: fixed a bug in encoding of VPSRAQ instrcution,
added a bunch of encoding tests.


Modified:
    llvm/trunk/lib/Target/X86/X86InstrAVX512.td
    llvm/trunk/test/MC/X86/avx512-encodings.s

Modified: llvm/trunk/lib/Target/X86/X86InstrAVX512.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrAVX512.td?rev=237232&r1=237231&r2=237232&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrAVX512.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrAVX512.td Wed May 13 02:35:05 2015
@@ -3778,7 +3778,7 @@ defm VPSRL : avx512_shift_rmi_dq<0x72, 0
 defm VPSLL : avx512_shift_rmi_dq<0x72, 0x73, MRM6r, MRM6m, "vpsll", X86vshli>,
              avx512_shift_rmi_w<0x71, MRM6r, MRM6m, "vpsllw", X86vshli>;
 
-defm VPSRA : avx512_shift_rmi_dq<0x72, 0x73, MRM4r, MRM4m, "vpsra", X86vsrai>,
+defm VPSRA : avx512_shift_rmi_dq<0x72, 0x72, MRM4r, MRM4m, "vpsra", X86vsrai>,
              avx512_shift_rmi_w<0x71, MRM4r, MRM4m, "vpsraw", X86vsrai>;
 
 defm VPROR : avx512_shift_rmi_dq<0x72, 0x72, MRM0r, MRM0m, "vpror", rotr>;

Modified: llvm/trunk/test/MC/X86/avx512-encodings.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/avx512-encodings.s?rev=237232&r1=237231&r2=237232&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/avx512-encodings.s (original)
+++ llvm/trunk/test/MC/X86/avx512-encodings.s Wed May 13 02:35:05 2015
@@ -1,4 +1,4 @@
-// RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl -mattr=+avx512dq --show-encoding < %s  | FileCheck %s
+// RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl --show-encoding < %s  | FileCheck %s
 
 // CHECK: vaddpd %zmm6, %zmm27, %zmm8
 // CHECK:  encoding: [0x62,0x71,0xa5,0x40,0x58,0xc6]
@@ -6695,3 +6695,916 @@ vpermilpd $0x23, 0x400(%rbx), %zmm2
 // CHECK: vmulss -516(%rdx), %xmm10, %xmm22
 // CHECK:  encoding: [0x62,0xe1,0x2e,0x08,0x59,0xb2,0xfc,0xfd,0xff,0xff]
           vmulss -516(%rdx), %xmm10, %xmm22
+
+// CHECK: vpslld %xmm3, %zmm6, %zmm17
+// CHECK:  encoding: [0x62,0xe1,0x4d,0x48,0xf2,0xcb]
+          vpslld %xmm3, %zmm6, %zmm17
+
+// CHECK: vpslld %xmm3, %zmm6, %zmm17 {%k3}
+// CHECK:  encoding: [0x62,0xe1,0x4d,0x4b,0xf2,0xcb]
+          vpslld %xmm3, %zmm6, %zmm17 {%k3}
+
+// CHECK: vpslld %xmm3, %zmm6, %zmm17 {%k3} {z}
+// CHECK:  encoding: [0x62,0xe1,0x4d,0xcb,0xf2,0xcb]
+          vpslld %xmm3, %zmm6, %zmm17 {%k3} {z}
+
+// CHECK: vpslld (%rcx), %zmm6, %zmm17
+// CHECK:  encoding: [0x62,0xe1,0x4d,0x48,0xf2,0x09]
+          vpslld (%rcx), %zmm6, %zmm17
+
+// CHECK: vpslld 291(%rax,%r14,8), %zmm6, %zmm17
+// CHECK:  encoding: [0x62,0xa1,0x4d,0x48,0xf2,0x8c,0xf0,0x23,0x01,0x00,0x00]
+          vpslld 291(%rax,%r14,8), %zmm6, %zmm17
+
+// CHECK: vpslld 2032(%rdx), %zmm6, %zmm17
+// CHECK:  encoding: [0x62,0xe1,0x4d,0x48,0xf2,0x4a,0x7f]
+          vpslld 2032(%rdx), %zmm6, %zmm17
+
+// CHECK: vpslld 2048(%rdx), %zmm6, %zmm17
+// CHECK:  encoding: [0x62,0xe1,0x4d,0x48,0xf2,0x8a,0x00,0x08,0x00,0x00]
+          vpslld 2048(%rdx), %zmm6, %zmm17
+
+// CHECK: vpslld -2048(%rdx), %zmm6, %zmm17
+// CHECK:  encoding: [0x62,0xe1,0x4d,0x48,0xf2,0x4a,0x80]
+          vpslld -2048(%rdx), %zmm6, %zmm17
+
+// CHECK: vpslld -2064(%rdx), %zmm6, %zmm17
+// CHECK:  encoding: [0x62,0xe1,0x4d,0x48,0xf2,0x8a,0xf0,0xf7,0xff,0xff]
+          vpslld -2064(%rdx), %zmm6, %zmm17
+
+// CHECK: vpsllq %xmm23, %zmm17, %zmm26
+// CHECK:  encoding: [0x62,0x21,0xf5,0x40,0xf3,0xd7]
+          vpsllq %xmm23, %zmm17, %zmm26
+
+// CHECK: vpsllq %xmm23, %zmm17, %zmm26 {%k6}
+// CHECK:  encoding: [0x62,0x21,0xf5,0x46,0xf3,0xd7]
+          vpsllq %xmm23, %zmm17, %zmm26 {%k6}
+
+// CHECK: vpsllq %xmm23, %zmm17, %zmm26 {%k6} {z}
+// CHECK:  encoding: [0x62,0x21,0xf5,0xc6,0xf3,0xd7]
+          vpsllq %xmm23, %zmm17, %zmm26 {%k6} {z}
+
+// CHECK: vpsllq (%rcx), %zmm17, %zmm26
+// CHECK:  encoding: [0x62,0x61,0xf5,0x40,0xf3,0x11]
+          vpsllq (%rcx), %zmm17, %zmm26
+
+// CHECK: vpsllq 291(%rax,%r14,8), %zmm17, %zmm26
+// CHECK:  encoding: [0x62,0x21,0xf5,0x40,0xf3,0x94,0xf0,0x23,0x01,0x00,0x00]
+          vpsllq 291(%rax,%r14,8), %zmm17, %zmm26
+
+// CHECK: vpsllq 2032(%rdx), %zmm17, %zmm26
+// CHECK:  encoding: [0x62,0x61,0xf5,0x40,0xf3,0x52,0x7f]
+          vpsllq 2032(%rdx), %zmm17, %zmm26
+
+// CHECK: vpsllq 2048(%rdx), %zmm17, %zmm26
+// CHECK:  encoding: [0x62,0x61,0xf5,0x40,0xf3,0x92,0x00,0x08,0x00,0x00]
+          vpsllq 2048(%rdx), %zmm17, %zmm26
+
+// CHECK: vpsllq -2048(%rdx), %zmm17, %zmm26
+// CHECK:  encoding: [0x62,0x61,0xf5,0x40,0xf3,0x52,0x80]
+          vpsllq -2048(%rdx), %zmm17, %zmm26
+
+// CHECK: vpsllq -2064(%rdx), %zmm17, %zmm26
+// CHECK:  encoding: [0x62,0x61,0xf5,0x40,0xf3,0x92,0xf0,0xf7,0xff,0xff]
+          vpsllq -2064(%rdx), %zmm17, %zmm26
+
+// CHECK: vpsllvd %zmm22, %zmm12, %zmm10
+// CHECK:  encoding: [0x62,0x32,0x1d,0x48,0x47,0xd6]
+          vpsllvd %zmm22, %zmm12, %zmm10
+
+// CHECK: vpsllvd %zmm22, %zmm12, %zmm10 {%k6}
+// CHECK:  encoding: [0x62,0x32,0x1d,0x4e,0x47,0xd6]
+          vpsllvd %zmm22, %zmm12, %zmm10 {%k6}
+
+// CHECK: vpsllvd %zmm22, %zmm12, %zmm10 {%k6} {z}
+// CHECK:  encoding: [0x62,0x32,0x1d,0xce,0x47,0xd6]
+          vpsllvd %zmm22, %zmm12, %zmm10 {%k6} {z}
+
+// CHECK: vpsllvd (%rcx), %zmm12, %zmm10
+// CHECK:  encoding: [0x62,0x72,0x1d,0x48,0x47,0x11]
+          vpsllvd (%rcx), %zmm12, %zmm10
+
+// CHECK: vpsllvd 291(%rax,%r14,8), %zmm12, %zmm10
+// CHECK:  encoding: [0x62,0x32,0x1d,0x48,0x47,0x94,0xf0,0x23,0x01,0x00,0x00]
+          vpsllvd 291(%rax,%r14,8), %zmm12, %zmm10
+
+// CHECK: vpsllvd (%rcx){1to16}, %zmm12, %zmm10
+// CHECK:  encoding: [0x62,0x72,0x1d,0x58,0x47,0x11]
+          vpsllvd (%rcx){1to16}, %zmm12, %zmm10
+
+// CHECK: vpsllvd 8128(%rdx), %zmm12, %zmm10
+// CHECK:  encoding: [0x62,0x72,0x1d,0x48,0x47,0x52,0x7f]
+          vpsllvd 8128(%rdx), %zmm12, %zmm10
+
+// CHECK: vpsllvd 8192(%rdx), %zmm12, %zmm10
+// CHECK:  encoding: [0x62,0x72,0x1d,0x48,0x47,0x92,0x00,0x20,0x00,0x00]
+          vpsllvd 8192(%rdx), %zmm12, %zmm10
+
+// CHECK: vpsllvd -8192(%rdx), %zmm12, %zmm10
+// CHECK:  encoding: [0x62,0x72,0x1d,0x48,0x47,0x52,0x80]
+          vpsllvd -8192(%rdx), %zmm12, %zmm10
+
+// CHECK: vpsllvd -8256(%rdx), %zmm12, %zmm10
+// CHECK:  encoding: [0x62,0x72,0x1d,0x48,0x47,0x92,0xc0,0xdf,0xff,0xff]
+          vpsllvd -8256(%rdx), %zmm12, %zmm10
+
+// CHECK: vpsllvd 508(%rdx){1to16}, %zmm12, %zmm10
+// CHECK:  encoding: [0x62,0x72,0x1d,0x58,0x47,0x52,0x7f]
+          vpsllvd 508(%rdx){1to16}, %zmm12, %zmm10
+
+// CHECK: vpsllvd 512(%rdx){1to16}, %zmm12, %zmm10
+// CHECK:  encoding: [0x62,0x72,0x1d,0x58,0x47,0x92,0x00,0x02,0x00,0x00]
+          vpsllvd 512(%rdx){1to16}, %zmm12, %zmm10
+
+// CHECK: vpsllvd -512(%rdx){1to16}, %zmm12, %zmm10
+// CHECK:  encoding: [0x62,0x72,0x1d,0x58,0x47,0x52,0x80]
+          vpsllvd -512(%rdx){1to16}, %zmm12, %zmm10
+
+// CHECK: vpsllvd -516(%rdx){1to16}, %zmm12, %zmm10
+// CHECK:  encoding: [0x62,0x72,0x1d,0x58,0x47,0x92,0xfc,0xfd,0xff,0xff]
+          vpsllvd -516(%rdx){1to16}, %zmm12, %zmm10
+
+// CHECK: vpsllvq %zmm26, %zmm5, %zmm16
+// CHECK:  encoding: [0x62,0x82,0xd5,0x48,0x47,0xc2]
+          vpsllvq %zmm26, %zmm5, %zmm16
+
+// CHECK: vpsllvq %zmm26, %zmm5, %zmm16 {%k5}
+// CHECK:  encoding: [0x62,0x82,0xd5,0x4d,0x47,0xc2]
+          vpsllvq %zmm26, %zmm5, %zmm16 {%k5}
+
+// CHECK: vpsllvq %zmm26, %zmm5, %zmm16 {%k5} {z}
+// CHECK:  encoding: [0x62,0x82,0xd5,0xcd,0x47,0xc2]
+          vpsllvq %zmm26, %zmm5, %zmm16 {%k5} {z}
+
+// CHECK: vpsllvq (%rcx), %zmm5, %zmm16
+// CHECK:  encoding: [0x62,0xe2,0xd5,0x48,0x47,0x01]
+          vpsllvq (%rcx), %zmm5, %zmm16
+
+// CHECK: vpsllvq 291(%rax,%r14,8), %zmm5, %zmm16
+// CHECK:  encoding: [0x62,0xa2,0xd5,0x48,0x47,0x84,0xf0,0x23,0x01,0x00,0x00]
+          vpsllvq 291(%rax,%r14,8), %zmm5, %zmm16
+
+// CHECK: vpsllvq (%rcx){1to8}, %zmm5, %zmm16
+// CHECK:  encoding: [0x62,0xe2,0xd5,0x58,0x47,0x01]
+          vpsllvq (%rcx){1to8}, %zmm5, %zmm16
+
+// CHECK: vpsllvq 8128(%rdx), %zmm5, %zmm16
+// CHECK:  encoding: [0x62,0xe2,0xd5,0x48,0x47,0x42,0x7f]
+          vpsllvq 8128(%rdx), %zmm5, %zmm16
+
+// CHECK: vpsllvq 8192(%rdx), %zmm5, %zmm16
+// CHECK:  encoding: [0x62,0xe2,0xd5,0x48,0x47,0x82,0x00,0x20,0x00,0x00]
+          vpsllvq 8192(%rdx), %zmm5, %zmm16
+
+// CHECK: vpsllvq -8192(%rdx), %zmm5, %zmm16
+// CHECK:  encoding: [0x62,0xe2,0xd5,0x48,0x47,0x42,0x80]
+          vpsllvq -8192(%rdx), %zmm5, %zmm16
+
+// CHECK: vpsllvq -8256(%rdx), %zmm5, %zmm16
+// CHECK:  encoding: [0x62,0xe2,0xd5,0x48,0x47,0x82,0xc0,0xdf,0xff,0xff]
+          vpsllvq -8256(%rdx), %zmm5, %zmm16
+
+// CHECK: vpsllvq 1016(%rdx){1to8}, %zmm5, %zmm16
+// CHECK:  encoding: [0x62,0xe2,0xd5,0x58,0x47,0x42,0x7f]
+          vpsllvq 1016(%rdx){1to8}, %zmm5, %zmm16
+
+// CHECK: vpsllvq 1024(%rdx){1to8}, %zmm5, %zmm16
+// CHECK:  encoding: [0x62,0xe2,0xd5,0x58,0x47,0x82,0x00,0x04,0x00,0x00]
+          vpsllvq 1024(%rdx){1to8}, %zmm5, %zmm16
+
+// CHECK: vpsllvq -1024(%rdx){1to8}, %zmm5, %zmm16
+// CHECK:  encoding: [0x62,0xe2,0xd5,0x58,0x47,0x42,0x80]
+          vpsllvq -1024(%rdx){1to8}, %zmm5, %zmm16
+
+// CHECK: vpsllvq -1032(%rdx){1to8}, %zmm5, %zmm16
+// CHECK:  encoding: [0x62,0xe2,0xd5,0x58,0x47,0x82,0xf8,0xfb,0xff,0xff]
+          vpsllvq -1032(%rdx){1to8}, %zmm5, %zmm16
+
+// CHECK: vpsrad %xmm6, %zmm14, %zmm18
+// CHECK:  encoding: [0x62,0xe1,0x0d,0x48,0xe2,0xd6]
+          vpsrad %xmm6, %zmm14, %zmm18
+
+// CHECK: vpsrad %xmm6, %zmm14, %zmm18 {%k1}
+// CHECK:  encoding: [0x62,0xe1,0x0d,0x49,0xe2,0xd6]
+          vpsrad %xmm6, %zmm14, %zmm18 {%k1}
+
+// CHECK: vpsrad %xmm6, %zmm14, %zmm18 {%k1} {z}
+// CHECK:  encoding: [0x62,0xe1,0x0d,0xc9,0xe2,0xd6]
+          vpsrad %xmm6, %zmm14, %zmm18 {%k1} {z}
+
+// CHECK: vpsrad (%rcx), %zmm14, %zmm18
+// CHECK:  encoding: [0x62,0xe1,0x0d,0x48,0xe2,0x11]
+          vpsrad (%rcx), %zmm14, %zmm18
+
+// CHECK: vpsrad 291(%rax,%r14,8), %zmm14, %zmm18
+// CHECK:  encoding: [0x62,0xa1,0x0d,0x48,0xe2,0x94,0xf0,0x23,0x01,0x00,0x00]
+          vpsrad 291(%rax,%r14,8), %zmm14, %zmm18
+
+// CHECK: vpsrad 2032(%rdx), %zmm14, %zmm18
+// CHECK:  encoding: [0x62,0xe1,0x0d,0x48,0xe2,0x52,0x7f]
+          vpsrad 2032(%rdx), %zmm14, %zmm18
+
+// CHECK: vpsrad 2048(%rdx), %zmm14, %zmm18
+// CHECK:  encoding: [0x62,0xe1,0x0d,0x48,0xe2,0x92,0x00,0x08,0x00,0x00]
+          vpsrad 2048(%rdx), %zmm14, %zmm18
+
+// CHECK: vpsrad -2048(%rdx), %zmm14, %zmm18
+// CHECK:  encoding: [0x62,0xe1,0x0d,0x48,0xe2,0x52,0x80]
+          vpsrad -2048(%rdx), %zmm14, %zmm18
+
+// CHECK: vpsrad -2064(%rdx), %zmm14, %zmm18
+// CHECK:  encoding: [0x62,0xe1,0x0d,0x48,0xe2,0x92,0xf0,0xf7,0xff,0xff]
+          vpsrad -2064(%rdx), %zmm14, %zmm18
+
+// CHECK: vpsraq %xmm22, %zmm17, %zmm21
+// CHECK:  encoding: [0x62,0xa1,0xf5,0x40,0xe2,0xee]
+          vpsraq %xmm22, %zmm17, %zmm21
+
+// CHECK: vpsraq %xmm22, %zmm17, %zmm21 {%k3}
+// CHECK:  encoding: [0x62,0xa1,0xf5,0x43,0xe2,0xee]
+          vpsraq %xmm22, %zmm17, %zmm21 {%k3}
+
+// CHECK: vpsraq %xmm22, %zmm17, %zmm21 {%k3} {z}
+// CHECK:  encoding: [0x62,0xa1,0xf5,0xc3,0xe2,0xee]
+          vpsraq %xmm22, %zmm17, %zmm21 {%k3} {z}
+
+// CHECK: vpsraq (%rcx), %zmm17, %zmm21
+// CHECK:  encoding: [0x62,0xe1,0xf5,0x40,0xe2,0x29]
+          vpsraq (%rcx), %zmm17, %zmm21
+
+// CHECK: vpsraq 291(%rax,%r14,8), %zmm17, %zmm21
+// CHECK:  encoding: [0x62,0xa1,0xf5,0x40,0xe2,0xac,0xf0,0x23,0x01,0x00,0x00]
+          vpsraq 291(%rax,%r14,8), %zmm17, %zmm21
+
+// CHECK: vpsraq 2032(%rdx), %zmm17, %zmm21
+// CHECK:  encoding: [0x62,0xe1,0xf5,0x40,0xe2,0x6a,0x7f]
+          vpsraq 2032(%rdx), %zmm17, %zmm21
+
+// CHECK: vpsraq 2048(%rdx), %zmm17, %zmm21
+// CHECK:  encoding: [0x62,0xe1,0xf5,0x40,0xe2,0xaa,0x00,0x08,0x00,0x00]
+          vpsraq 2048(%rdx), %zmm17, %zmm21
+
+// CHECK: vpsraq -2048(%rdx), %zmm17, %zmm21
+// CHECK:  encoding: [0x62,0xe1,0xf5,0x40,0xe2,0x6a,0x80]
+          vpsraq -2048(%rdx), %zmm17, %zmm21
+
+// CHECK: vpsraq -2064(%rdx), %zmm17, %zmm21
+// CHECK:  encoding: [0x62,0xe1,0xf5,0x40,0xe2,0xaa,0xf0,0xf7,0xff,0xff]
+          vpsraq -2064(%rdx), %zmm17, %zmm21
+
+// CHECK: vpsravd %zmm17, %zmm29, %zmm29
+// CHECK:  encoding: [0x62,0x22,0x15,0x40,0x46,0xe9]
+          vpsravd %zmm17, %zmm29, %zmm29
+
+// CHECK: vpsravd %zmm17, %zmm29, %zmm29 {%k2}
+// CHECK:  encoding: [0x62,0x22,0x15,0x42,0x46,0xe9]
+          vpsravd %zmm17, %zmm29, %zmm29 {%k2}
+
+// CHECK: vpsravd %zmm17, %zmm29, %zmm29 {%k2} {z}
+// CHECK:  encoding: [0x62,0x22,0x15,0xc2,0x46,0xe9]
+          vpsravd %zmm17, %zmm29, %zmm29 {%k2} {z}
+
+// CHECK: vpsravd (%rcx), %zmm29, %zmm29
+// CHECK:  encoding: [0x62,0x62,0x15,0x40,0x46,0x29]
+          vpsravd (%rcx), %zmm29, %zmm29
+
+// CHECK: vpsravd 291(%rax,%r14,8), %zmm29, %zmm29
+// CHECK:  encoding: [0x62,0x22,0x15,0x40,0x46,0xac,0xf0,0x23,0x01,0x00,0x00]
+          vpsravd 291(%rax,%r14,8), %zmm29, %zmm29
+
+// CHECK: vpsravd (%rcx){1to16}, %zmm29, %zmm29
+// CHECK:  encoding: [0x62,0x62,0x15,0x50,0x46,0x29]
+          vpsravd (%rcx){1to16}, %zmm29, %zmm29
+
+// CHECK: vpsravd 8128(%rdx), %zmm29, %zmm29
+// CHECK:  encoding: [0x62,0x62,0x15,0x40,0x46,0x6a,0x7f]
+          vpsravd 8128(%rdx), %zmm29, %zmm29
+
+// CHECK: vpsravd 8192(%rdx), %zmm29, %zmm29
+// CHECK:  encoding: [0x62,0x62,0x15,0x40,0x46,0xaa,0x00,0x20,0x00,0x00]
+          vpsravd 8192(%rdx), %zmm29, %zmm29
+
+// CHECK: vpsravd -8192(%rdx), %zmm29, %zmm29
+// CHECK:  encoding: [0x62,0x62,0x15,0x40,0x46,0x6a,0x80]
+          vpsravd -8192(%rdx), %zmm29, %zmm29
+
+// CHECK: vpsravd -8256(%rdx), %zmm29, %zmm29
+// CHECK:  encoding: [0x62,0x62,0x15,0x40,0x46,0xaa,0xc0,0xdf,0xff,0xff]
+          vpsravd -8256(%rdx), %zmm29, %zmm29
+
+// CHECK: vpsravd 508(%rdx){1to16}, %zmm29, %zmm29
+// CHECK:  encoding: [0x62,0x62,0x15,0x50,0x46,0x6a,0x7f]
+          vpsravd 508(%rdx){1to16}, %zmm29, %zmm29
+
+// CHECK: vpsravd 512(%rdx){1to16}, %zmm29, %zmm29
+// CHECK:  encoding: [0x62,0x62,0x15,0x50,0x46,0xaa,0x00,0x02,0x00,0x00]
+          vpsravd 512(%rdx){1to16}, %zmm29, %zmm29
+
+// CHECK: vpsravd -512(%rdx){1to16}, %zmm29, %zmm29
+// CHECK:  encoding: [0x62,0x62,0x15,0x50,0x46,0x6a,0x80]
+          vpsravd -512(%rdx){1to16}, %zmm29, %zmm29
+
+// CHECK: vpsravd -516(%rdx){1to16}, %zmm29, %zmm29
+// CHECK:  encoding: [0x62,0x62,0x15,0x50,0x46,0xaa,0xfc,0xfd,0xff,0xff]
+          vpsravd -516(%rdx){1to16}, %zmm29, %zmm29
+
+// CHECK: vpsravq %zmm2, %zmm20, %zmm22
+// CHECK:  encoding: [0x62,0xe2,0xdd,0x40,0x46,0xf2]
+          vpsravq %zmm2, %zmm20, %zmm22
+
+// CHECK: vpsravq %zmm2, %zmm20, %zmm22 {%k2}
+// CHECK:  encoding: [0x62,0xe2,0xdd,0x42,0x46,0xf2]
+          vpsravq %zmm2, %zmm20, %zmm22 {%k2}
+
+// CHECK: vpsravq %zmm2, %zmm20, %zmm22 {%k2} {z}
+// CHECK:  encoding: [0x62,0xe2,0xdd,0xc2,0x46,0xf2]
+          vpsravq %zmm2, %zmm20, %zmm22 {%k2} {z}
+
+// CHECK: vpsravq (%rcx), %zmm20, %zmm22
+// CHECK:  encoding: [0x62,0xe2,0xdd,0x40,0x46,0x31]
+          vpsravq (%rcx), %zmm20, %zmm22
+
+// CHECK: vpsravq 291(%rax,%r14,8), %zmm20, %zmm22
+// CHECK:  encoding: [0x62,0xa2,0xdd,0x40,0x46,0xb4,0xf0,0x23,0x01,0x00,0x00]
+          vpsravq 291(%rax,%r14,8), %zmm20, %zmm22
+
+// CHECK: vpsravq (%rcx){1to8}, %zmm20, %zmm22
+// CHECK:  encoding: [0x62,0xe2,0xdd,0x50,0x46,0x31]
+          vpsravq (%rcx){1to8}, %zmm20, %zmm22
+
+// CHECK: vpsravq 8128(%rdx), %zmm20, %zmm22
+// CHECK:  encoding: [0x62,0xe2,0xdd,0x40,0x46,0x72,0x7f]
+          vpsravq 8128(%rdx), %zmm20, %zmm22
+
+// CHECK: vpsravq 8192(%rdx), %zmm20, %zmm22
+// CHECK:  encoding: [0x62,0xe2,0xdd,0x40,0x46,0xb2,0x00,0x20,0x00,0x00]
+          vpsravq 8192(%rdx), %zmm20, %zmm22
+
+// CHECK: vpsravq -8192(%rdx), %zmm20, %zmm22
+// CHECK:  encoding: [0x62,0xe2,0xdd,0x40,0x46,0x72,0x80]
+          vpsravq -8192(%rdx), %zmm20, %zmm22
+
+// CHECK: vpsravq -8256(%rdx), %zmm20, %zmm22
+// CHECK:  encoding: [0x62,0xe2,0xdd,0x40,0x46,0xb2,0xc0,0xdf,0xff,0xff]
+          vpsravq -8256(%rdx), %zmm20, %zmm22
+
+// CHECK: vpsravq 1016(%rdx){1to8}, %zmm20, %zmm22
+// CHECK:  encoding: [0x62,0xe2,0xdd,0x50,0x46,0x72,0x7f]
+          vpsravq 1016(%rdx){1to8}, %zmm20, %zmm22
+
+// CHECK: vpsravq 1024(%rdx){1to8}, %zmm20, %zmm22
+// CHECK:  encoding: [0x62,0xe2,0xdd,0x50,0x46,0xb2,0x00,0x04,0x00,0x00]
+          vpsravq 1024(%rdx){1to8}, %zmm20, %zmm22
+
+// CHECK: vpsravq -1024(%rdx){1to8}, %zmm20, %zmm22
+// CHECK:  encoding: [0x62,0xe2,0xdd,0x50,0x46,0x72,0x80]
+          vpsravq -1024(%rdx){1to8}, %zmm20, %zmm22
+
+// CHECK: vpsravq -1032(%rdx){1to8}, %zmm20, %zmm22
+// CHECK:  encoding: [0x62,0xe2,0xdd,0x50,0x46,0xb2,0xf8,0xfb,0xff,0xff]
+          vpsravq -1032(%rdx){1to8}, %zmm20, %zmm22
+
+// CHECK: vpsrld %xmm25, %zmm17, %zmm1
+// CHECK:  encoding: [0x62,0x91,0x75,0x40,0xd2,0xc9]
+          vpsrld %xmm25, %zmm17, %zmm1
+
+// CHECK: vpsrld %xmm25, %zmm17, %zmm1 {%k4}
+// CHECK:  encoding: [0x62,0x91,0x75,0x44,0xd2,0xc9]
+          vpsrld %xmm25, %zmm17, %zmm1 {%k4}
+
+// CHECK: vpsrld %xmm25, %zmm17, %zmm1 {%k4} {z}
+// CHECK:  encoding: [0x62,0x91,0x75,0xc4,0xd2,0xc9]
+          vpsrld %xmm25, %zmm17, %zmm1 {%k4} {z}
+
+// CHECK: vpsrld (%rcx), %zmm17, %zmm1
+// CHECK:  encoding: [0x62,0xf1,0x75,0x40,0xd2,0x09]
+          vpsrld (%rcx), %zmm17, %zmm1
+
+// CHECK: vpsrld 291(%rax,%r14,8), %zmm17, %zmm1
+// CHECK:  encoding: [0x62,0xb1,0x75,0x40,0xd2,0x8c,0xf0,0x23,0x01,0x00,0x00]
+          vpsrld 291(%rax,%r14,8), %zmm17, %zmm1
+
+// CHECK: vpsrld 2032(%rdx), %zmm17, %zmm1
+// CHECK:  encoding: [0x62,0xf1,0x75,0x40,0xd2,0x4a,0x7f]
+          vpsrld 2032(%rdx), %zmm17, %zmm1
+
+// CHECK: vpsrld 2048(%rdx), %zmm17, %zmm1
+// CHECK:  encoding: [0x62,0xf1,0x75,0x40,0xd2,0x8a,0x00,0x08,0x00,0x00]
+          vpsrld 2048(%rdx), %zmm17, %zmm1
+
+// CHECK: vpsrld -2048(%rdx), %zmm17, %zmm1
+// CHECK:  encoding: [0x62,0xf1,0x75,0x40,0xd2,0x4a,0x80]
+          vpsrld -2048(%rdx), %zmm17, %zmm1
+
+// CHECK: vpsrld -2064(%rdx), %zmm17, %zmm1
+// CHECK:  encoding: [0x62,0xf1,0x75,0x40,0xd2,0x8a,0xf0,0xf7,0xff,0xff]
+          vpsrld -2064(%rdx), %zmm17, %zmm1
+
+// CHECK: vpsrlq %xmm3, %zmm11, %zmm9
+// CHECK:  encoding: [0x62,0x71,0xa5,0x48,0xd3,0xcb]
+          vpsrlq %xmm3, %zmm11, %zmm9
+
+// CHECK: vpsrlq %xmm3, %zmm11, %zmm9 {%k5}
+// CHECK:  encoding: [0x62,0x71,0xa5,0x4d,0xd3,0xcb]
+          vpsrlq %xmm3, %zmm11, %zmm9 {%k5}
+
+// CHECK: vpsrlq %xmm3, %zmm11, %zmm9 {%k5} {z}
+// CHECK:  encoding: [0x62,0x71,0xa5,0xcd,0xd3,0xcb]
+          vpsrlq %xmm3, %zmm11, %zmm9 {%k5} {z}
+
+// CHECK: vpsrlq (%rcx), %zmm11, %zmm9
+// CHECK:  encoding: [0x62,0x71,0xa5,0x48,0xd3,0x09]
+          vpsrlq (%rcx), %zmm11, %zmm9
+
+// CHECK: vpsrlq 291(%rax,%r14,8), %zmm11, %zmm9
+// CHECK:  encoding: [0x62,0x31,0xa5,0x48,0xd3,0x8c,0xf0,0x23,0x01,0x00,0x00]
+          vpsrlq 291(%rax,%r14,8), %zmm11, %zmm9
+
+// CHECK: vpsrlq 2032(%rdx), %zmm11, %zmm9
+// CHECK:  encoding: [0x62,0x71,0xa5,0x48,0xd3,0x4a,0x7f]
+          vpsrlq 2032(%rdx), %zmm11, %zmm9
+
+// CHECK: vpsrlq 2048(%rdx), %zmm11, %zmm9
+// CHECK:  encoding: [0x62,0x71,0xa5,0x48,0xd3,0x8a,0x00,0x08,0x00,0x00]
+          vpsrlq 2048(%rdx), %zmm11, %zmm9
+
+// CHECK: vpsrlq -2048(%rdx), %zmm11, %zmm9
+// CHECK:  encoding: [0x62,0x71,0xa5,0x48,0xd3,0x4a,0x80]
+          vpsrlq -2048(%rdx), %zmm11, %zmm9
+
+// CHECK: vpsrlq -2064(%rdx), %zmm11, %zmm9
+// CHECK:  encoding: [0x62,0x71,0xa5,0x48,0xd3,0x8a,0xf0,0xf7,0xff,0xff]
+          vpsrlq -2064(%rdx), %zmm11, %zmm9
+
+// CHECK: vpsrlvd %zmm28, %zmm14, %zmm8
+// CHECK:  encoding: [0x62,0x12,0x0d,0x48,0x45,0xc4]
+          vpsrlvd %zmm28, %zmm14, %zmm8
+
+// CHECK: vpsrlvd %zmm28, %zmm14, %zmm8 {%k4}
+// CHECK:  encoding: [0x62,0x12,0x0d,0x4c,0x45,0xc4]
+          vpsrlvd %zmm28, %zmm14, %zmm8 {%k4}
+
+// CHECK: vpsrlvd %zmm28, %zmm14, %zmm8 {%k4} {z}
+// CHECK:  encoding: [0x62,0x12,0x0d,0xcc,0x45,0xc4]
+          vpsrlvd %zmm28, %zmm14, %zmm8 {%k4} {z}
+
+// CHECK: vpsrlvd (%rcx), %zmm14, %zmm8
+// CHECK:  encoding: [0x62,0x72,0x0d,0x48,0x45,0x01]
+          vpsrlvd (%rcx), %zmm14, %zmm8
+
+// CHECK: vpsrlvd 291(%rax,%r14,8), %zmm14, %zmm8
+// CHECK:  encoding: [0x62,0x32,0x0d,0x48,0x45,0x84,0xf0,0x23,0x01,0x00,0x00]
+          vpsrlvd 291(%rax,%r14,8), %zmm14, %zmm8
+
+// CHECK: vpsrlvd (%rcx){1to16}, %zmm14, %zmm8
+// CHECK:  encoding: [0x62,0x72,0x0d,0x58,0x45,0x01]
+          vpsrlvd (%rcx){1to16}, %zmm14, %zmm8
+
+// CHECK: vpsrlvd 8128(%rdx), %zmm14, %zmm8
+// CHECK:  encoding: [0x62,0x72,0x0d,0x48,0x45,0x42,0x7f]
+          vpsrlvd 8128(%rdx), %zmm14, %zmm8
+
+// CHECK: vpsrlvd 8192(%rdx), %zmm14, %zmm8
+// CHECK:  encoding: [0x62,0x72,0x0d,0x48,0x45,0x82,0x00,0x20,0x00,0x00]
+          vpsrlvd 8192(%rdx), %zmm14, %zmm8
+
+// CHECK: vpsrlvd -8192(%rdx), %zmm14, %zmm8
+// CHECK:  encoding: [0x62,0x72,0x0d,0x48,0x45,0x42,0x80]
+          vpsrlvd -8192(%rdx), %zmm14, %zmm8
+
+// CHECK: vpsrlvd -8256(%rdx), %zmm14, %zmm8
+// CHECK:  encoding: [0x62,0x72,0x0d,0x48,0x45,0x82,0xc0,0xdf,0xff,0xff]
+          vpsrlvd -8256(%rdx), %zmm14, %zmm8
+
+// CHECK: vpsrlvd 508(%rdx){1to16}, %zmm14, %zmm8
+// CHECK:  encoding: [0x62,0x72,0x0d,0x58,0x45,0x42,0x7f]
+          vpsrlvd 508(%rdx){1to16}, %zmm14, %zmm8
+
+// CHECK: vpsrlvd 512(%rdx){1to16}, %zmm14, %zmm8
+// CHECK:  encoding: [0x62,0x72,0x0d,0x58,0x45,0x82,0x00,0x02,0x00,0x00]
+          vpsrlvd 512(%rdx){1to16}, %zmm14, %zmm8
+
+// CHECK: vpsrlvd -512(%rdx){1to16}, %zmm14, %zmm8
+// CHECK:  encoding: [0x62,0x72,0x0d,0x58,0x45,0x42,0x80]
+          vpsrlvd -512(%rdx){1to16}, %zmm14, %zmm8
+
+// CHECK: vpsrlvd -516(%rdx){1to16}, %zmm14, %zmm8
+// CHECK:  encoding: [0x62,0x72,0x0d,0x58,0x45,0x82,0xfc,0xfd,0xff,0xff]
+          vpsrlvd -516(%rdx){1to16}, %zmm14, %zmm8
+
+// CHECK: vpsrlvq %zmm26, %zmm7, %zmm20
+// CHECK:  encoding: [0x62,0x82,0xc5,0x48,0x45,0xe2]
+          vpsrlvq %zmm26, %zmm7, %zmm20
+
+// CHECK: vpsrlvq %zmm26, %zmm7, %zmm20 {%k5}
+// CHECK:  encoding: [0x62,0x82,0xc5,0x4d,0x45,0xe2]
+          vpsrlvq %zmm26, %zmm7, %zmm20 {%k5}
+
+// CHECK: vpsrlvq %zmm26, %zmm7, %zmm20 {%k5} {z}
+// CHECK:  encoding: [0x62,0x82,0xc5,0xcd,0x45,0xe2]
+          vpsrlvq %zmm26, %zmm7, %zmm20 {%k5} {z}
+
+// CHECK: vpsrlvq (%rcx), %zmm7, %zmm20
+// CHECK:  encoding: [0x62,0xe2,0xc5,0x48,0x45,0x21]
+          vpsrlvq (%rcx), %zmm7, %zmm20
+
+// CHECK: vpsrlvq 291(%rax,%r14,8), %zmm7, %zmm20
+// CHECK:  encoding: [0x62,0xa2,0xc5,0x48,0x45,0xa4,0xf0,0x23,0x01,0x00,0x00]
+          vpsrlvq 291(%rax,%r14,8), %zmm7, %zmm20
+
+// CHECK: vpsrlvq (%rcx){1to8}, %zmm7, %zmm20
+// CHECK:  encoding: [0x62,0xe2,0xc5,0x58,0x45,0x21]
+          vpsrlvq (%rcx){1to8}, %zmm7, %zmm20
+
+// CHECK: vpsrlvq 8128(%rdx), %zmm7, %zmm20
+// CHECK:  encoding: [0x62,0xe2,0xc5,0x48,0x45,0x62,0x7f]
+          vpsrlvq 8128(%rdx), %zmm7, %zmm20
+
+// CHECK: vpsrlvq 8192(%rdx), %zmm7, %zmm20
+// CHECK:  encoding: [0x62,0xe2,0xc5,0x48,0x45,0xa2,0x00,0x20,0x00,0x00]
+          vpsrlvq 8192(%rdx), %zmm7, %zmm20
+
+// CHECK: vpsrlvq -8192(%rdx), %zmm7, %zmm20
+// CHECK:  encoding: [0x62,0xe2,0xc5,0x48,0x45,0x62,0x80]
+          vpsrlvq -8192(%rdx), %zmm7, %zmm20
+
+// CHECK: vpsrlvq -8256(%rdx), %zmm7, %zmm20
+// CHECK:  encoding: [0x62,0xe2,0xc5,0x48,0x45,0xa2,0xc0,0xdf,0xff,0xff]
+          vpsrlvq -8256(%rdx), %zmm7, %zmm20
+
+// CHECK: vpsrlvq 1016(%rdx){1to8}, %zmm7, %zmm20
+// CHECK:  encoding: [0x62,0xe2,0xc5,0x58,0x45,0x62,0x7f]
+          vpsrlvq 1016(%rdx){1to8}, %zmm7, %zmm20
+
+// CHECK: vpsrlvq 1024(%rdx){1to8}, %zmm7, %zmm20
+// CHECK:  encoding: [0x62,0xe2,0xc5,0x58,0x45,0xa2,0x00,0x04,0x00,0x00]
+          vpsrlvq 1024(%rdx){1to8}, %zmm7, %zmm20
+
+// CHECK: vpsrlvq -1024(%rdx){1to8}, %zmm7, %zmm20
+// CHECK:  encoding: [0x62,0xe2,0xc5,0x58,0x45,0x62,0x80]
+          vpsrlvq -1024(%rdx){1to8}, %zmm7, %zmm20
+
+// CHECK: vpsrlvq -1032(%rdx){1to8}, %zmm7, %zmm20
+// CHECK:  encoding: [0x62,0xe2,0xc5,0x58,0x45,0xa2,0xf8,0xfb,0xff,0xff]
+          vpsrlvq -1032(%rdx){1to8}, %zmm7, %zmm20
+
+// CHECK: vpsrld $171, %zmm5, %zmm3
+// CHECK:  encoding: [0x62,0xf1,0x65,0x48,0x72,0xd5,0xab]
+          vpsrld $171, %zmm5, %zmm3
+
+// CHECK: vpsrld $171, %zmm5, %zmm3 {%k4}
+// CHECK:  encoding: [0x62,0xf1,0x65,0x4c,0x72,0xd5,0xab]
+          vpsrld $171, %zmm5, %zmm3 {%k4}
+
+// CHECK: vpsrld $171, %zmm5, %zmm3 {%k4} {z}
+// CHECK:  encoding: [0x62,0xf1,0x65,0xcc,0x72,0xd5,0xab]
+          vpsrld $171, %zmm5, %zmm3 {%k4} {z}
+
+// CHECK: vpsrld $123, %zmm5, %zmm3
+// CHECK:  encoding: [0x62,0xf1,0x65,0x48,0x72,0xd5,0x7b]
+          vpsrld $123, %zmm5, %zmm3
+
+// CHECK: vpsrld $123, (%rcx), %zmm3
+// CHECK:  encoding: [0x62,0xf1,0x65,0x48,0x72,0x11,0x7b]
+          vpsrld $123, (%rcx), %zmm3
+
+// CHECK: vpsrld $123, 291(%rax,%r14,8), %zmm3
+// CHECK:  encoding: [0x62,0xb1,0x65,0x48,0x72,0x94,0xf0,0x23,0x01,0x00,0x00,0x7b]
+          vpsrld $123, 291(%rax,%r14,8), %zmm3
+
+// CHECK: vpsrld $123, (%rcx){1to16}, %zmm3
+// CHECK:  encoding: [0x62,0xf1,0x65,0x58,0x72,0x11,0x7b]
+          vpsrld $123, (%rcx){1to16}, %zmm3
+
+// CHECK: vpsrld $123, 8128(%rdx), %zmm3
+// CHECK:  encoding: [0x62,0xf1,0x65,0x48,0x72,0x52,0x7f,0x7b]
+          vpsrld $123, 8128(%rdx), %zmm3
+
+// CHECK: vpsrld $123, 8192(%rdx), %zmm3
+// CHECK:  encoding: [0x62,0xf1,0x65,0x48,0x72,0x92,0x00,0x20,0x00,0x00,0x7b]
+          vpsrld $123, 8192(%rdx), %zmm3
+
+// CHECK: vpsrld $123, -8192(%rdx), %zmm3
+// CHECK:  encoding: [0x62,0xf1,0x65,0x48,0x72,0x52,0x80,0x7b]
+          vpsrld $123, -8192(%rdx), %zmm3
+
+// CHECK: vpsrld $123, -8256(%rdx), %zmm3
+// CHECK:  encoding: [0x62,0xf1,0x65,0x48,0x72,0x92,0xc0,0xdf,0xff,0xff,0x7b]
+          vpsrld $123, -8256(%rdx), %zmm3
+
+// CHECK: vpsrld $123, 508(%rdx){1to16}, %zmm3
+// CHECK:  encoding: [0x62,0xf1,0x65,0x58,0x72,0x52,0x7f,0x7b]
+          vpsrld $123, 508(%rdx){1to16}, %zmm3
+
+// CHECK: vpsrld $123, 512(%rdx){1to16}, %zmm3
+// CHECK:  encoding: [0x62,0xf1,0x65,0x58,0x72,0x92,0x00,0x02,0x00,0x00,0x7b]
+          vpsrld $123, 512(%rdx){1to16}, %zmm3
+
+// CHECK: vpsrld $123, -512(%rdx){1to16}, %zmm3
+// CHECK:  encoding: [0x62,0xf1,0x65,0x58,0x72,0x52,0x80,0x7b]
+          vpsrld $123, -512(%rdx){1to16}, %zmm3
+
+// CHECK: vpsrld $123, -516(%rdx){1to16}, %zmm3
+// CHECK:  encoding: [0x62,0xf1,0x65,0x58,0x72,0x92,0xfc,0xfd,0xff,0xff,0x7b]
+          vpsrld $123, -516(%rdx){1to16}, %zmm3
+
+// CHECK: vpsrlq $171, %zmm25, %zmm18
+// CHECK:  encoding: [0x62,0x91,0xed,0x40,0x73,0xd1,0xab]
+          vpsrlq $171, %zmm25, %zmm18
+
+// CHECK: vpsrlq $171, %zmm25, %zmm18 {%k1}
+// CHECK:  encoding: [0x62,0x91,0xed,0x41,0x73,0xd1,0xab]
+          vpsrlq $171, %zmm25, %zmm18 {%k1}
+
+// CHECK: vpsrlq $171, %zmm25, %zmm18 {%k1} {z}
+// CHECK:  encoding: [0x62,0x91,0xed,0xc1,0x73,0xd1,0xab]
+          vpsrlq $171, %zmm25, %zmm18 {%k1} {z}
+
+// CHECK: vpsrlq $123, %zmm25, %zmm18
+// CHECK:  encoding: [0x62,0x91,0xed,0x40,0x73,0xd1,0x7b]
+          vpsrlq $123, %zmm25, %zmm18
+
+// CHECK: vpsrlq $123, (%rcx), %zmm18
+// CHECK:  encoding: [0x62,0xf1,0xed,0x40,0x73,0x11,0x7b]
+          vpsrlq $123, (%rcx), %zmm18
+
+// CHECK: vpsrlq $123, 291(%rax,%r14,8), %zmm18
+// CHECK:  encoding: [0x62,0xb1,0xed,0x40,0x73,0x94,0xf0,0x23,0x01,0x00,0x00,0x7b]
+          vpsrlq $123, 291(%rax,%r14,8), %zmm18
+
+// CHECK: vpsrlq $123, (%rcx){1to8}, %zmm18
+// CHECK:  encoding: [0x62,0xf1,0xed,0x50,0x73,0x11,0x7b]
+          vpsrlq $123, (%rcx){1to8}, %zmm18
+
+// CHECK: vpsrlq $123, 8128(%rdx), %zmm18
+// CHECK:  encoding: [0x62,0xf1,0xed,0x40,0x73,0x52,0x7f,0x7b]
+          vpsrlq $123, 8128(%rdx), %zmm18
+
+// CHECK: vpsrlq $123, 8192(%rdx), %zmm18
+// CHECK:  encoding: [0x62,0xf1,0xed,0x40,0x73,0x92,0x00,0x20,0x00,0x00,0x7b]
+          vpsrlq $123, 8192(%rdx), %zmm18
+
+// CHECK: vpsrlq $123, -8192(%rdx), %zmm18
+// CHECK:  encoding: [0x62,0xf1,0xed,0x40,0x73,0x52,0x80,0x7b]
+          vpsrlq $123, -8192(%rdx), %zmm18
+
+// CHECK: vpsrlq $123, -8256(%rdx), %zmm18
+// CHECK:  encoding: [0x62,0xf1,0xed,0x40,0x73,0x92,0xc0,0xdf,0xff,0xff,0x7b]
+          vpsrlq $123, -8256(%rdx), %zmm18
+
+// CHECK: vpsrlq $123, 1016(%rdx){1to8}, %zmm18
+// CHECK:  encoding: [0x62,0xf1,0xed,0x50,0x73,0x52,0x7f,0x7b]
+          vpsrlq $123, 1016(%rdx){1to8}, %zmm18
+
+// CHECK: vpsrlq $123, 1024(%rdx){1to8}, %zmm18
+// CHECK:  encoding: [0x62,0xf1,0xed,0x50,0x73,0x92,0x00,0x04,0x00,0x00,0x7b]
+          vpsrlq $123, 1024(%rdx){1to8}, %zmm18
+
+// CHECK: vpsrlq $123, -1024(%rdx){1to8}, %zmm18
+// CHECK:  encoding: [0x62,0xf1,0xed,0x50,0x73,0x52,0x80,0x7b]
+          vpsrlq $123, -1024(%rdx){1to8}, %zmm18
+
+// CHECK: vpsrlq $123, -1032(%rdx){1to8}, %zmm18
+// CHECK:  encoding: [0x62,0xf1,0xed,0x50,0x73,0x92,0xf8,0xfb,0xff,0xff,0x7b]
+          vpsrlq $123, -1032(%rdx){1to8}, %zmm18
+
+// CHECK: vpslld $171, %zmm24, %zmm29
+// CHECK:  encoding: [0x62,0x91,0x15,0x40,0x72,0xf0,0xab]
+          vpslld $171, %zmm24, %zmm29
+
+// CHECK: vpslld $171, %zmm24, %zmm29 {%k6}
+// CHECK:  encoding: [0x62,0x91,0x15,0x46,0x72,0xf0,0xab]
+          vpslld $171, %zmm24, %zmm29 {%k6}
+
+// CHECK: vpslld $171, %zmm24, %zmm29 {%k6} {z}
+// CHECK:  encoding: [0x62,0x91,0x15,0xc6,0x72,0xf0,0xab]
+          vpslld $171, %zmm24, %zmm29 {%k6} {z}
+
+// CHECK: vpslld $123, %zmm24, %zmm29
+// CHECK:  encoding: [0x62,0x91,0x15,0x40,0x72,0xf0,0x7b]
+          vpslld $123, %zmm24, %zmm29
+
+// CHECK: vpslld $123, (%rcx), %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x15,0x40,0x72,0x31,0x7b]
+          vpslld $123, (%rcx), %zmm29
+
+// CHECK: vpslld $123, 291(%rax,%r14,8), %zmm29
+// CHECK:  encoding: [0x62,0xb1,0x15,0x40,0x72,0xb4,0xf0,0x23,0x01,0x00,0x00,0x7b]
+          vpslld $123, 291(%rax,%r14,8), %zmm29
+
+// CHECK: vpslld $123, (%rcx){1to16}, %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x15,0x50,0x72,0x31,0x7b]
+          vpslld $123, (%rcx){1to16}, %zmm29
+
+// CHECK: vpslld $123, 8128(%rdx), %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x15,0x40,0x72,0x72,0x7f,0x7b]
+          vpslld $123, 8128(%rdx), %zmm29
+
+// CHECK: vpslld $123, 8192(%rdx), %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x15,0x40,0x72,0xb2,0x00,0x20,0x00,0x00,0x7b]
+          vpslld $123, 8192(%rdx), %zmm29
+
+// CHECK: vpslld $123, -8192(%rdx), %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x15,0x40,0x72,0x72,0x80,0x7b]
+          vpslld $123, -8192(%rdx), %zmm29
+
+// CHECK: vpslld $123, -8256(%rdx), %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x15,0x40,0x72,0xb2,0xc0,0xdf,0xff,0xff,0x7b]
+          vpslld $123, -8256(%rdx), %zmm29
+
+// CHECK: vpslld $123, 508(%rdx){1to16}, %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x15,0x50,0x72,0x72,0x7f,0x7b]
+          vpslld $123, 508(%rdx){1to16}, %zmm29
+
+// CHECK: vpslld $123, 512(%rdx){1to16}, %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x15,0x50,0x72,0xb2,0x00,0x02,0x00,0x00,0x7b]
+          vpslld $123, 512(%rdx){1to16}, %zmm29
+
+// CHECK: vpslld $123, -512(%rdx){1to16}, %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x15,0x50,0x72,0x72,0x80,0x7b]
+          vpslld $123, -512(%rdx){1to16}, %zmm29
+
+// CHECK: vpslld $123, -516(%rdx){1to16}, %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x15,0x50,0x72,0xb2,0xfc,0xfd,0xff,0xff,0x7b]
+          vpslld $123, -516(%rdx){1to16}, %zmm29
+
+// CHECK: vpsllq $171, %zmm11, %zmm6
+// CHECK:  encoding: [0x62,0xd1,0xcd,0x48,0x73,0xf3,0xab]
+          vpsllq $171, %zmm11, %zmm6
+
+// CHECK: vpsllq $171, %zmm11, %zmm6 {%k2}
+// CHECK:  encoding: [0x62,0xd1,0xcd,0x4a,0x73,0xf3,0xab]
+          vpsllq $171, %zmm11, %zmm6 {%k2}
+
+// CHECK: vpsllq $171, %zmm11, %zmm6 {%k2} {z}
+// CHECK:  encoding: [0x62,0xd1,0xcd,0xca,0x73,0xf3,0xab]
+          vpsllq $171, %zmm11, %zmm6 {%k2} {z}
+
+// CHECK: vpsllq $123, %zmm11, %zmm6
+// CHECK:  encoding: [0x62,0xd1,0xcd,0x48,0x73,0xf3,0x7b]
+          vpsllq $123, %zmm11, %zmm6
+
+// CHECK: vpsllq $123, (%rcx), %zmm6
+// CHECK:  encoding: [0x62,0xf1,0xcd,0x48,0x73,0x31,0x7b]
+          vpsllq $123, (%rcx), %zmm6
+
+// CHECK: vpsllq $123, 291(%rax,%r14,8), %zmm6
+// CHECK:  encoding: [0x62,0xb1,0xcd,0x48,0x73,0xb4,0xf0,0x23,0x01,0x00,0x00,0x7b]
+          vpsllq $123, 291(%rax,%r14,8), %zmm6
+
+// CHECK: vpsllq $123, (%rcx){1to8}, %zmm6
+// CHECK:  encoding: [0x62,0xf1,0xcd,0x58,0x73,0x31,0x7b]
+          vpsllq $123, (%rcx){1to8}, %zmm6
+
+// CHECK: vpsllq $123, 8128(%rdx), %zmm6
+// CHECK:  encoding: [0x62,0xf1,0xcd,0x48,0x73,0x72,0x7f,0x7b]
+          vpsllq $123, 8128(%rdx), %zmm6
+
+// CHECK: vpsllq $123, 8192(%rdx), %zmm6
+// CHECK:  encoding: [0x62,0xf1,0xcd,0x48,0x73,0xb2,0x00,0x20,0x00,0x00,0x7b]
+          vpsllq $123, 8192(%rdx), %zmm6
+
+// CHECK: vpsllq $123, -8192(%rdx), %zmm6
+// CHECK:  encoding: [0x62,0xf1,0xcd,0x48,0x73,0x72,0x80,0x7b]
+          vpsllq $123, -8192(%rdx), %zmm6
+
+// CHECK: vpsllq $123, -8256(%rdx), %zmm6
+// CHECK:  encoding: [0x62,0xf1,0xcd,0x48,0x73,0xb2,0xc0,0xdf,0xff,0xff,0x7b]
+          vpsllq $123, -8256(%rdx), %zmm6
+
+// CHECK: vpsllq $123, 1016(%rdx){1to8}, %zmm6
+// CHECK:  encoding: [0x62,0xf1,0xcd,0x58,0x73,0x72,0x7f,0x7b]
+          vpsllq $123, 1016(%rdx){1to8}, %zmm6
+
+// CHECK: vpsllq $123, 1024(%rdx){1to8}, %zmm6
+// CHECK:  encoding: [0x62,0xf1,0xcd,0x58,0x73,0xb2,0x00,0x04,0x00,0x00,0x7b]
+          vpsllq $123, 1024(%rdx){1to8}, %zmm6
+
+// CHECK: vpsllq $123, -1024(%rdx){1to8}, %zmm6
+// CHECK:  encoding: [0x62,0xf1,0xcd,0x58,0x73,0x72,0x80,0x7b]
+          vpsllq $123, -1024(%rdx){1to8}, %zmm6
+
+// CHECK: vpsllq $123, -1032(%rdx){1to8}, %zmm6
+// CHECK:  encoding: [0x62,0xf1,0xcd,0x58,0x73,0xb2,0xf8,0xfb,0xff,0xff,0x7b]
+          vpsllq $123, -1032(%rdx){1to8}, %zmm6
+
+// CHECK: vpsrad $171, %zmm5, %zmm27
+// CHECK:  encoding: [0x62,0xf1,0x25,0x40,0x72,0xe5,0xab]
+          vpsrad $171, %zmm5, %zmm27
+
+// CHECK: vpsrad $171, %zmm5, %zmm27 {%k5}
+// CHECK:  encoding: [0x62,0xf1,0x25,0x45,0x72,0xe5,0xab]
+          vpsrad $171, %zmm5, %zmm27 {%k5}
+
+// CHECK: vpsrad $171, %zmm5, %zmm27 {%k5} {z}
+// CHECK:  encoding: [0x62,0xf1,0x25,0xc5,0x72,0xe5,0xab]
+          vpsrad $171, %zmm5, %zmm27 {%k5} {z}
+
+// CHECK: vpsrad $123, %zmm5, %zmm27
+// CHECK:  encoding: [0x62,0xf1,0x25,0x40,0x72,0xe5,0x7b]
+          vpsrad $123, %zmm5, %zmm27
+
+// CHECK: vpsrad $123, (%rcx), %zmm27
+// CHECK:  encoding: [0x62,0xf1,0x25,0x40,0x72,0x21,0x7b]
+          vpsrad $123, (%rcx), %zmm27
+
+// CHECK: vpsrad $123, 291(%rax,%r14,8), %zmm27
+// CHECK:  encoding: [0x62,0xb1,0x25,0x40,0x72,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
+          vpsrad $123, 291(%rax,%r14,8), %zmm27
+
+// CHECK: vpsrad $123, (%rcx){1to16}, %zmm27
+// CHECK:  encoding: [0x62,0xf1,0x25,0x50,0x72,0x21,0x7b]
+          vpsrad $123, (%rcx){1to16}, %zmm27
+
+// CHECK: vpsrad $123, 8128(%rdx), %zmm27
+// CHECK:  encoding: [0x62,0xf1,0x25,0x40,0x72,0x62,0x7f,0x7b]
+          vpsrad $123, 8128(%rdx), %zmm27
+
+// CHECK: vpsrad $123, 8192(%rdx), %zmm27
+// CHECK:  encoding: [0x62,0xf1,0x25,0x40,0x72,0xa2,0x00,0x20,0x00,0x00,0x7b]
+          vpsrad $123, 8192(%rdx), %zmm27
+
+// CHECK: vpsrad $123, -8192(%rdx), %zmm27
+// CHECK:  encoding: [0x62,0xf1,0x25,0x40,0x72,0x62,0x80,0x7b]
+          vpsrad $123, -8192(%rdx), %zmm27
+
+// CHECK: vpsrad $123, -8256(%rdx), %zmm27
+// CHECK:  encoding: [0x62,0xf1,0x25,0x40,0x72,0xa2,0xc0,0xdf,0xff,0xff,0x7b]
+          vpsrad $123, -8256(%rdx), %zmm27
+
+// CHECK: vpsrad $123, 508(%rdx){1to16}, %zmm27
+// CHECK:  encoding: [0x62,0xf1,0x25,0x50,0x72,0x62,0x7f,0x7b]
+          vpsrad $123, 508(%rdx){1to16}, %zmm27
+
+// CHECK: vpsrad $123, 512(%rdx){1to16}, %zmm27
+// CHECK:  encoding: [0x62,0xf1,0x25,0x50,0x72,0xa2,0x00,0x02,0x00,0x00,0x7b]
+          vpsrad $123, 512(%rdx){1to16}, %zmm27
+
+// CHECK: vpsrad $123, -512(%rdx){1to16}, %zmm27
+// CHECK:  encoding: [0x62,0xf1,0x25,0x50,0x72,0x62,0x80,0x7b]
+          vpsrad $123, -512(%rdx){1to16}, %zmm27
+
+// CHECK: vpsrad $123, -516(%rdx){1to16}, %zmm27
+// CHECK:  encoding: [0x62,0xf1,0x25,0x50,0x72,0xa2,0xfc,0xfd,0xff,0xff,0x7b]
+          vpsrad $123, -516(%rdx){1to16}, %zmm27
+
+// CHECK: vpsraq $171, %zmm5, %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x95,0x40,0x72,0xe5,0xab]
+          vpsraq $171, %zmm5, %zmm29
+
+// CHECK: vpsraq $171, %zmm5, %zmm29 {%k4}
+// CHECK:  encoding: [0x62,0xf1,0x95,0x44,0x72,0xe5,0xab]
+          vpsraq $171, %zmm5, %zmm29 {%k4}
+
+// CHECK: vpsraq $171, %zmm5, %zmm29 {%k4} {z}
+// CHECK:  encoding: [0x62,0xf1,0x95,0xc4,0x72,0xe5,0xab]
+          vpsraq $171, %zmm5, %zmm29 {%k4} {z}
+
+// CHECK: vpsraq $123, %zmm5, %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x95,0x40,0x72,0xe5,0x7b]
+          vpsraq $123, %zmm5, %zmm29
+
+// CHECK: vpsraq $123, (%rcx), %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x95,0x40,0x72,0x21,0x7b]
+          vpsraq $123, (%rcx), %zmm29
+
+// CHECK: vpsraq $123, 291(%rax,%r14,8), %zmm29
+// CHECK:  encoding: [0x62,0xb1,0x95,0x40,0x72,0xa4,0xf0,0x23,0x01,0x00,0x00,0x7b]
+          vpsraq $123, 291(%rax,%r14,8), %zmm29
+
+// CHECK: vpsraq $123, (%rcx){1to8}, %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x95,0x50,0x72,0x21,0x7b]
+          vpsraq $123, (%rcx){1to8}, %zmm29
+
+// CHECK: vpsraq $123, 8128(%rdx), %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x95,0x40,0x72,0x62,0x7f,0x7b]
+          vpsraq $123, 8128(%rdx), %zmm29
+
+// CHECK: vpsraq $123, 8192(%rdx), %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x95,0x40,0x72,0xa2,0x00,0x20,0x00,0x00,0x7b]
+          vpsraq $123, 8192(%rdx), %zmm29
+
+// CHECK: vpsraq $123, -8192(%rdx), %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x95,0x40,0x72,0x62,0x80,0x7b]
+          vpsraq $123, -8192(%rdx), %zmm29
+
+// CHECK: vpsraq $123, -8256(%rdx), %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x95,0x40,0x72,0xa2,0xc0,0xdf,0xff,0xff,0x7b]
+          vpsraq $123, -8256(%rdx), %zmm29
+
+// CHECK: vpsraq $123, 1016(%rdx){1to8}, %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x95,0x50,0x72,0x62,0x7f,0x7b]
+          vpsraq $123, 1016(%rdx){1to8}, %zmm29
+
+// CHECK: vpsraq $123, 1024(%rdx){1to8}, %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x95,0x50,0x72,0xa2,0x00,0x04,0x00,0x00,0x7b]
+          vpsraq $123, 1024(%rdx){1to8}, %zmm29
+
+// CHECK: vpsraq $123, -1024(%rdx){1to8}, %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x95,0x50,0x72,0x62,0x80,0x7b]
+          vpsraq $123, -1024(%rdx){1to8}, %zmm29
+
+// CHECK: vpsraq $123, -1032(%rdx){1to8}, %zmm29
+// CHECK:  encoding: [0x62,0xf1,0x95,0x50,0x72,0xa2,0xf8,0xfb,0xff,0xff,0x7b]
+          vpsraq $123, -1032(%rdx){1to8}, %zmm29
+





More information about the llvm-commits mailing list