1 // RUN: llvm-mc -triple x86_64-unknown-unknown -mcpu=knl --show-encoding %s | FileCheck %s
3 // CHECK: vaddpd -8192(%rdx), %zmm27, %zmm8
4 // CHECK: encoding: [0x62,0x71,0xa5,0x40,0x58,0x42,0x80]
5 vaddpd -8192(%rdx), %zmm27, %zmm8
7 // CHECK: vaddpd -1024(%rdx){1to8}, %zmm27, %zmm8
8 // CHECK: encoding: [0x62,0x71,0xa5,0x50,0x58,0x42,0x80]
9 vaddpd -1024(%rdx){1to8}, %zmm27, %zmm8
11 // CHECK: vaddps -8192(%rdx), %zmm13, %zmm18
12 // CHECK: encoding: [0x62,0xe1,0x14,0x48,0x58,0x52,0x80]
13 vaddps -8192(%rdx), %zmm13, %zmm18
15 // CHECK: vaddps -512(%rdx){1to16}, %zmm13, %zmm18
16 // CHECK: encoding: [0x62,0xe1,0x14,0x58,0x58,0x52,0x80]
17 vaddps -512(%rdx){1to16}, %zmm13, %zmm18
19 // CHECK: vdivpd -8192(%rdx), %zmm6, %zmm18
20 // CHECK: encoding: [0x62,0xe1,0xcd,0x48,0x5e,0x52,0x80]
21 vdivpd -8192(%rdx), %zmm6, %zmm18
23 // CHECK: vdivpd -1024(%rdx){1to8}, %zmm6, %zmm18
24 // CHECK: encoding: [0x62,0xe1,0xcd,0x58,0x5e,0x52,0x80]
25 vdivpd -1024(%rdx){1to8}, %zmm6, %zmm18
27 // CHECK: vdivps -8192(%rdx), %zmm23, %zmm23
28 // CHECK: encoding: [0x62,0xe1,0x44,0x40,0x5e,0x7a,0x80]
29 vdivps -8192(%rdx), %zmm23, %zmm23
31 // CHECK: vdivps -512(%rdx){1to16}, %zmm23, %zmm23
32 // CHECK: encoding: [0x62,0xe1,0x44,0x50,0x5e,0x7a,0x80]
33 vdivps -512(%rdx){1to16}, %zmm23, %zmm23
35 // CHECK: vmaxpd -8192(%rdx), %zmm28, %zmm30
36 // CHECK: encoding: [0x62,0x61,0x9d,0x40,0x5f,0x72,0x80]
37 vmaxpd -8192(%rdx), %zmm28, %zmm30
39 // CHECK: vmaxpd -1024(%rdx){1to8}, %zmm28, %zmm30
40 // CHECK: encoding: [0x62,0x61,0x9d,0x50,0x5f,0x72,0x80]
41 vmaxpd -1024(%rdx){1to8}, %zmm28, %zmm30
43 // CHECK: vmaxps -8192(%rdx), %zmm6, %zmm25
44 // CHECK: encoding: [0x62,0x61,0x4c,0x48,0x5f,0x4a,0x80]
45 vmaxps -8192(%rdx), %zmm6, %zmm25
47 // CHECK: vmaxps -512(%rdx){1to16}, %zmm6, %zmm25
48 // CHECK: encoding: [0x62,0x61,0x4c,0x58,0x5f,0x4a,0x80]
49 vmaxps -512(%rdx){1to16}, %zmm6, %zmm25
51 // CHECK: vminpd -8192(%rdx), %zmm6, %zmm6
52 // CHECK: encoding: [0x62,0xf1,0xcd,0x48,0x5d,0x72,0x80]
53 vminpd -8192(%rdx), %zmm6, %zmm6
55 // CHECK: vminpd -1024(%rdx){1to8}, %zmm6, %zmm6
56 // CHECK: encoding: [0x62,0xf1,0xcd,0x58,0x5d,0x72,0x80]
57 vminpd -1024(%rdx){1to8}, %zmm6, %zmm6
59 // CHECK: vminps -8192(%rdx), %zmm3, %zmm3
60 // CHECK: encoding: [0x62,0xf1,0x64,0x48,0x5d,0x5a,0x80]
61 vminps -8192(%rdx), %zmm3, %zmm3
63 // CHECK: vminps -512(%rdx){1to16}, %zmm3, %zmm3
64 // CHECK: encoding: [0x62,0xf1,0x64,0x58,0x5d,0x5a,0x80]
65 vminps -512(%rdx){1to16}, %zmm3, %zmm3
67 // CHECK: vmulpd -8192(%rdx), %zmm4, %zmm24
68 // CHECK: encoding: [0x62,0x61,0xdd,0x48,0x59,0x42,0x80]
69 vmulpd -8192(%rdx), %zmm4, %zmm24
71 // CHECK: vmulpd -1024(%rdx){1to8}, %zmm4, %zmm24
72 // CHECK: encoding: [0x62,0x61,0xdd,0x58,0x59,0x42,0x80]
73 vmulpd -1024(%rdx){1to8}, %zmm4, %zmm24
75 // CHECK: vmulps -8192(%rdx), %zmm6, %zmm3
76 // CHECK: encoding: [0x62,0xf1,0x4c,0x48,0x59,0x5a,0x80]
77 vmulps -8192(%rdx), %zmm6, %zmm3
79 // CHECK: vmulps -512(%rdx){1to16}, %zmm6, %zmm3
80 // CHECK: encoding: [0x62,0xf1,0x4c,0x58,0x59,0x5a,0x80]
81 vmulps -512(%rdx){1to16}, %zmm6, %zmm3
83 // CHECK: vsubpd -8192(%rdx), %zmm12, %zmm9
84 // CHECK: encoding: [0x62,0x71,0x9d,0x48,0x5c,0x4a,0x80]
85 vsubpd -8192(%rdx), %zmm12, %zmm9
87 // CHECK: vsubpd -1024(%rdx){1to8}, %zmm12, %zmm9
88 // CHECK: encoding: [0x62,0x71,0x9d,0x58,0x5c,0x4a,0x80]
89 vsubpd -1024(%rdx){1to8}, %zmm12, %zmm9
91 // CHECK: vsubps -8192(%rdx), %zmm27, %zmm14
92 // CHECK: encoding: [0x62,0x71,0x24,0x40,0x5c,0x72,0x80]
93 vsubps -8192(%rdx), %zmm27, %zmm14
95 // CHECK: vsubps -512(%rdx){1to16}, %zmm27, %zmm14
96 // CHECK: encoding: [0x62,0x71,0x24,0x50,0x5c,0x72,0x80]
97 vsubps -512(%rdx){1to16}, %zmm27, %zmm14
99 // CHECK: vinserti32x4
100 // CHECK: encoding: [0x62,0xa3,0x55,0x48,0x38,0xcd,0x01]
101 vinserti32x4 $1, %xmm21, %zmm5, %zmm17
103 // CHECK: vinserti32x4
104 // CHECK: encoding: [0x62,0xe3,0x1d,0x40,0x38,0x4f,0x10,0x01]
105 vinserti32x4 $1, 256(%rdi), %zmm28, %zmm17
107 // CHECK: vextracti32x4
108 // CHECK: encoding: [0x62,0x33,0x7d,0x48,0x39,0xc9,0x01]
109 vextracti32x4 $1, %zmm9, %xmm17
111 // CHECK: vextracti64x4
112 // CHECK: encoding: [0x62,0x33,0xfd,0x48,0x3b,0xc9,0x01]
113 vextracti64x4 $1, %zmm9, %ymm17
115 // CHECK: vextracti64x4
116 // CHECK: encoding: [0x62,0x73,0xfd,0x48,0x3b,0x4f,0x10,0x01]
117 vextracti64x4 $1, %zmm9, 512(%rdi)
120 // CHECK: encoding: [0x62,0xb1,0x35,0x40,0x72,0xe1,0x02]
121 vpsrad $2, %zmm17, %zmm25
124 // CHECK: encoding: [0x62,0xf1,0x35,0x40,0x72,0x64,0xb7,0x08,0x02]
125 vpsrad $2, 512(%rdi, %rsi, 4), %zmm25
128 // CHECK: encoding: [0x62,0x21,0x1d,0x48,0xe2,0xc9]
129 vpsrad %xmm17, %zmm12, %zmm25
132 // CHECK: encoding: [0x62,0x61,0x1d,0x48,0xe2,0x4c,0xb7,0x20]
133 vpsrad 512(%rdi, %rsi, 4), %zmm12, %zmm25
135 // CHECK: vpbroadcastd {{.*}} {%k1} {z}
136 // CHECK: encoding: [0x62,0xf2,0x7d,0xc9,0x58,0xc8]
137 vpbroadcastd %xmm0, %zmm1 {%k1} {z}
139 // CHECK: vmovdqu64 {{.*}} {%k3}
140 // CHECK: encoding: [0x62,0xf1,0xfe,0x4b,0x6f,0xc8]
141 vmovdqu64 %zmm0, %zmm1 {%k3}
144 // CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x7e,0x74,0x24,0xeb]
145 vmovd %xmm22, -84(%rsp)
148 // CHECK: encoding: [0x62,0xe3,0x7d,0x08,0x17,0x61,0x1f,0x02]
149 vextractps $2, %xmm20, 124(%rcx)
151 // CHECK: vaddpd {{.*}}{1to8}
152 // CHECK: encoding: [0x62,0x61,0xdd,0x50,0x58,0x74,0xf7,0x40]
153 vaddpd 512(%rdi, %rsi, 8) {1to8}, %zmm20, %zmm30
155 // CHECK: vaddps {{.*}}{1to16}
156 // CHECK: encoding: [0x62,0x61,0x5c,0x50,0x58,0xb4,0xf7,0x00,0x02,0x00,0x00]
157 vaddps 512(%rdi, %rsi, 8) {1to16}, %zmm20, %zmm30