Lines Matching +full:0 +full:x92

9 ; CHECK:       ## %bb.0: ## %entry
10 ; CHECK-NEXT: vfmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0xf5,0x18,0xa8,0
11 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
13 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %__A, <8 x double> %__B, <…
14 ret <8 x double> %0
21 ; X86: ## %bb.0: ## %entry
22 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
23 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
24 …XT: vfmadd132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x19,0x98,0xc1]
25 ; X86-NEXT: retl ## encoding: [0xc3]
28 ; X64: ## %bb.0: ## %entry
29 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
30 …XT: vfmadd132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x19,0x98,0xc1]
31 ; X64-NEXT: retq ## encoding: [0xc3]
33 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %__A, <8 x double> %__B, <…
35 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__A
41 ; X86: ## %bb.0: ## %entry
42 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
43 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
44 …XT: vfmadd231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x19,0xb8,0xd1]
45 ; X86-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
46 ; X86-NEXT: retl ## encoding: [0xc3]
49 ; X64: ## %bb.0: ## %entry
50 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
51 …XT: vfmadd231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x19,0xb8,0xd1]
52 ; X64-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
53 ; X64-NEXT: retq ## encoding: [0xc3]
55 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %__A, <8 x double> %__B, <…
57 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__C
63 ; X86: ## %bb.0: ## %entry
64 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
65 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
66 … vfmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x99,0xa8,0xc2]
67 ; X86-NEXT: retl ## encoding: [0xc3]
70 ; X64: ## %bb.0: ## %entry
71 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
72 … vfmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x99,0xa8,0xc2]
73 ; X64-NEXT: retq ## encoding: [0xc3]
75 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %__A, <8 x double> %__B, <…
77 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> zeroinitializer
83 ; CHECK: ## %bb.0: ## %entry
84 ; CHECK-NEXT: vfmsub213pd {rn-sae}, %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0xf5,0x18,0xaa,0
85 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
88 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %__A, <8 x double> %__B, <…
89 ret <8 x double> %0
94 ; X86: ## %bb.0: ## %entry
95 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
96 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
97 …XT: vfmsub132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x19,0x9a,0xc1]
98 ; X86-NEXT: retl ## encoding: [0xc3]
101 ; X64: ## %bb.0: ## %entry
102 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
103 …XT: vfmsub132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x19,0x9a,0xc1]
104 ; X64-NEXT: retq ## encoding: [0xc3]
107 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %__A, <8 x double> %__B, <…
109 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__A
115 ; X86: ## %bb.0: ## %entry
116 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
117 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
118 … vfmsub213pd {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x99,0xaa,0xc2]
119 ; X86-NEXT: retl ## encoding: [0xc3]
122 ; X64: ## %bb.0: ## %entry
123 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
124 … vfmsub213pd {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x99,0xaa,0xc2]
125 ; X64-NEXT: retq ## encoding: [0xc3]
128 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %__A, <8 x double> %__B, <…
130 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> zeroinitializer
136 ; CHECK: ## %bb.0: ## %entry
137 …CK-NEXT: vfnmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0xf5,0x18,0xac,0xc2]
138 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
141 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %sub, <8 x double> %__B, <…
142 ret <8 x double> %0
147 ; X86: ## %bb.0: ## %entry
148 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
149 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
150 …T: vfnmadd231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x19,0xbc,0xd1]
151 ; X86-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
152 ; X86-NEXT: retl ## encoding: [0xc3]
155 ; X64: ## %bb.0: ## %entry
156 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
157 …T: vfnmadd231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x19,0xbc,0xd1]
158 ; X64-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
159 ; X64-NEXT: retq ## encoding: [0xc3]
162 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %sub, <8 x double> %__B, <…
164 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__C
170 ; X86: ## %bb.0: ## %entry
171 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
172 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
173 … vfnmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x99,0xac,0xc2]
174 ; X86-NEXT: retl ## encoding: [0xc3]
177 ; X64: ## %bb.0: ## %entry
178 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
179 … vfnmadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x99,0xac,0xc2]
180 ; X64-NEXT: retq ## encoding: [0xc3]
183 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %sub, <8 x double> %__B, <…
185 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> zeroinitializer
191 ; CHECK: ## %bb.0: ## %entry
192 …CK-NEXT: vfnmsub213pd {rn-sae}, %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0xf5,0x18,0xae,0xc2]
193 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
197 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %sub, <8 x double> %__B, <…
198 ret <8 x double> %0
203 ; X86: ## %bb.0: ## %entry
204 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
205 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
206 … vfnmsub213pd {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x99,0xae,0xc2]
207 ; X86-NEXT: retl ## encoding: [0xc3]
210 ; X64: ## %bb.0: ## %entry
211 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
212 … vfnmsub213pd {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x99,0xae,0xc2]
213 ; X64-NEXT: retq ## encoding: [0xc3]
217 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %sub, <8 x double> %__B, <…
219 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> zeroinitializer
225 ; CHECK: ## %bb.0: ## %entry
226 ; CHECK-NEXT: vfmadd213pd %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0xf5,0x48,0xa8,0xc2]
228 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
230 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %__…
231 ret <8 x double> %0
236 ; X86: ## %bb.0: ## %entry
237 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
238 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
239 ; X86-NEXT: vfmadd132pd %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x49,0x98,0xc1]
241 ; X86-NEXT: retl ## encoding: [0xc3]
244 ; X64: ## %bb.0: ## %entry
245 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
246 ; X64-NEXT: vfmadd132pd %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x49,0x98,0xc1]
248 ; X64-NEXT: retq ## encoding: [0xc3]
250 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %__…
252 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__A
258 ; X86: ## %bb.0: ## %entry
259 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
260 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
261 ; X86-NEXT: vfmadd231pd %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x49,0xb8,0xd1]
263 ; X86-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
264 ; X86-NEXT: retl ## encoding: [0xc3]
267 ; X64: ## %bb.0: ## %entry
268 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
269 ; X64-NEXT: vfmadd231pd %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x49,0xb8,0xd1]
271 ; X64-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
272 ; X64-NEXT: retq ## encoding: [0xc3]
274 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %__…
276 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__C
282 ; X86: ## %bb.0: ## %entry
283 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
284 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
285 ; X86-NEXT: vfmadd213pd %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0xc9,0xa8,0xc…
287 ; X86-NEXT: retl ## encoding: [0xc3]
290 ; X64: ## %bb.0: ## %entry
291 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
292 ; X64-NEXT: vfmadd213pd %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0xc9,0xa8,0xc…
294 ; X64-NEXT: retq ## encoding: [0xc3]
296 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %__…
298 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> zeroinitializer
304 ; CHECK: ## %bb.0: ## %entry
305 ; CHECK-NEXT: vfmsub213pd %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0xf5,0x48,0xaa,0xc2]
307 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
310 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %su…
311 ret <8 x double> %0
316 ; X86: ## %bb.0: ## %entry
317 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
318 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
319 ; X86-NEXT: vfmsub132pd %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x49,0x9a,0xc1]
321 ; X86-NEXT: retl ## encoding: [0xc3]
324 ; X64: ## %bb.0: ## %entry
325 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
326 ; X64-NEXT: vfmsub132pd %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x49,0x9a,0xc1]
328 ; X64-NEXT: retq ## encoding: [0xc3]
331 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %su…
333 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__A
339 ; X86: ## %bb.0: ## %entry
340 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
341 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
342 ; X86-NEXT: vfmsub213pd %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0xc9,0xaa,0xc…
344 ; X86-NEXT: retl ## encoding: [0xc3]
347 ; X64: ## %bb.0: ## %entry
348 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
349 ; X64-NEXT: vfmsub213pd %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0xc9,0xaa,0xc…
351 ; X64-NEXT: retq ## encoding: [0xc3]
354 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %su…
356 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> zeroinitializer
362 ; CHECK: ## %bb.0: ## %entry
363 ; CHECK-NEXT: vfnmadd213pd %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0xf5,0x48,0xac,0xc2]
365 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
368 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %sub.i, <8 x double> %__B, <8 x double> %…
369 ret <8 x double> %0
374 ; X86: ## %bb.0: ## %entry
375 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
376 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
377 ; X86-NEXT: vfnmadd231pd %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x49,0xbc,0xd1]
379 ; X86-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
380 ; X86-NEXT: retl ## encoding: [0xc3]
383 ; X64: ## %bb.0: ## %entry
384 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
385 ; X64-NEXT: vfnmadd231pd %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x49,0xbc,0xd1]
387 ; X64-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
388 ; X64-NEXT: retq ## encoding: [0xc3]
391 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %sub.i, <8 x double> %__B, <8 x double> %…
393 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__C
399 ; X86: ## %bb.0: ## %entry
400 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
401 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
402 ; X86-NEXT: vfnmadd213pd %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0xc9,0xac,0x…
404 ; X86-NEXT: retl ## encoding: [0xc3]
407 ; X64: ## %bb.0: ## %entry
408 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
409 ; X64-NEXT: vfnmadd213pd %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0xc9,0xac,0x…
411 ; X64-NEXT: retq ## encoding: [0xc3]
414 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %sub.i, <8 x double> %__B, <8 x double> %…
416 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> zeroinitializer
422 ; CHECK: ## %bb.0: ## %entry
423 ; CHECK-NEXT: vfnmsub213pd %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0xf5,0x48,0xae,0xc2]
425 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
429 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %sub.i, <8 x double> %__B, <8 x double> %…
430 ret <8 x double> %0
435 ; X86: ## %bb.0: ## %entry
436 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
437 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
438 ; X86-NEXT: vfnmsub213pd %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0xc9,0xae,0x…
440 ; X86-NEXT: retl ## encoding: [0xc3]
443 ; X64: ## %bb.0: ## %entry
444 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
445 ; X64-NEXT: vfnmsub213pd %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0xc9,0xae,0x…
447 ; X64-NEXT: retq ## encoding: [0xc3]
451 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %sub.i, <8 x double> %__B, <8 x double> %…
453 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> zeroinitializer
459 ; CHECK: ## %bb.0: ## %entry
460 ; CHECK-NEXT: vfmadd213ps {rn-sae}, %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0x75,0x18,0xa8,0
461 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
463 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %__A, <16 x float> %__B, <…
464 ret <16 x float> %0
471 ; X86: ## %bb.0: ## %entry
472 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
473 …XT: vfmadd132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x19,0x98,0xc1]
474 ; X86-NEXT: retl ## encoding: [0xc3]
477 ; X64: ## %bb.0: ## %entry
478 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
479 …XT: vfmadd132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x19,0x98,0xc1]
480 ; X64-NEXT: retq ## encoding: [0xc3]
482 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %__A, <16 x float> %__B, <…
484 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__A
490 ; X86: ## %bb.0: ## %entry
491 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
492 …XT: vfmadd231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x19,0xb8,0xd1]
493 ; X86-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
494 ; X86-NEXT: retl ## encoding: [0xc3]
497 ; X64: ## %bb.0: ## %entry
498 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
499 …XT: vfmadd231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x19,0xb8,0xd1]
500 ; X64-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
501 ; X64-NEXT: retq ## encoding: [0xc3]
503 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %__A, <16 x float> %__B, <…
505 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__C
511 ; X86: ## %bb.0: ## %entry
512 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
513 … vfmadd213ps {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x99,0xa8,0xc2]
514 ; X86-NEXT: retl ## encoding: [0xc3]
517 ; X64: ## %bb.0: ## %entry
518 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
519 … vfmadd213ps {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x99,0xa8,0xc2]
520 ; X64-NEXT: retq ## encoding: [0xc3]
522 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %__A, <16 x float> %__B, <…
524 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> zeroinitializer
530 ; CHECK: ## %bb.0: ## %entry
531 ; CHECK-NEXT: vfmsub213ps {rn-sae}, %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0x75,0x18,0xaa,0
532 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
535 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %__A, <16 x float> %__B, <…
536 ret <16 x float> %0
541 ; X86: ## %bb.0: ## %entry
542 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
543 …XT: vfmsub132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x19,0x9a,0xc1]
544 ; X86-NEXT: retl ## encoding: [0xc3]
547 ; X64: ## %bb.0: ## %entry
548 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
549 …XT: vfmsub132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x19,0x9a,0xc1]
550 ; X64-NEXT: retq ## encoding: [0xc3]
553 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %__A, <16 x float> %__B, <…
555 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__A
561 ; X86: ## %bb.0: ## %entry
562 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
563 … vfmsub213ps {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x99,0xaa,0xc2]
564 ; X86-NEXT: retl ## encoding: [0xc3]
567 ; X64: ## %bb.0: ## %entry
568 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
569 … vfmsub213ps {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x99,0xaa,0xc2]
570 ; X64-NEXT: retq ## encoding: [0xc3]
573 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %__A, <16 x float> %__B, <…
575 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> zeroinitializer
581 ; CHECK: ## %bb.0: ## %entry
582 …CK-NEXT: vfnmadd213ps {rn-sae}, %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0x75,0x18,0xac,0xc2]
583 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
586 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %sub, <16 x float> %__B, <…
587 ret <16 x float> %0
592 ; X86: ## %bb.0: ## %entry
593 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
594 …T: vfnmadd231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x19,0xbc,0xd1]
595 ; X86-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
596 ; X86-NEXT: retl ## encoding: [0xc3]
599 ; X64: ## %bb.0: ## %entry
600 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
601 …T: vfnmadd231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x19,0xbc,0xd1]
602 ; X64-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
603 ; X64-NEXT: retq ## encoding: [0xc3]
606 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %sub, <16 x float> %__B, <…
608 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__C
614 ; X86: ## %bb.0: ## %entry
615 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
616 … vfnmadd213ps {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x99,0xac,0xc2]
617 ; X86-NEXT: retl ## encoding: [0xc3]
620 ; X64: ## %bb.0: ## %entry
621 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
622 … vfnmadd213ps {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x99,0xac,0xc2]
623 ; X64-NEXT: retq ## encoding: [0xc3]
626 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %sub, <16 x float> %__B, <…
628 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> zeroinitializer
634 ; CHECK: ## %bb.0: ## %entry
635 …CK-NEXT: vfnmsub213ps {rn-sae}, %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0x75,0x18,0xae,0xc2]
636 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
640 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %sub, <16 x float> %__B, <…
641 ret <16 x float> %0
646 ; X86: ## %bb.0: ## %entry
647 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
648 … vfnmsub213ps {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x99,0xae,0xc2]
649 ; X86-NEXT: retl ## encoding: [0xc3]
652 ; X64: ## %bb.0: ## %entry
653 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
654 … vfnmsub213ps {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x99,0xae,0xc2]
655 ; X64-NEXT: retq ## encoding: [0xc3]
659 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %sub, <16 x float> %__B, <…
661 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> zeroinitializer
667 ; CHECK: ## %bb.0: ## %entry
668 ; CHECK-NEXT: vfmadd213ps %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0x75,0x48,0xa8,0xc2]
670 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
672 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %_…
673 ret <16 x float> %0
678 ; X86: ## %bb.0: ## %entry
679 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
680 ; X86-NEXT: vfmadd132ps %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x49,0x98,0xc1]
682 ; X86-NEXT: retl ## encoding: [0xc3]
685 ; X64: ## %bb.0: ## %entry
686 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
687 ; X64-NEXT: vfmadd132ps %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x49,0x98,0xc1]
689 ; X64-NEXT: retq ## encoding: [0xc3]
691 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %_…
693 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__A
699 ; X86: ## %bb.0: ## %entry
700 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
701 ; X86-NEXT: vfmadd231ps %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x49,0xb8,0xd1]
703 ; X86-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
704 ; X86-NEXT: retl ## encoding: [0xc3]
707 ; X64: ## %bb.0: ## %entry
708 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
709 ; X64-NEXT: vfmadd231ps %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x49,0xb8,0xd1]
711 ; X64-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
712 ; X64-NEXT: retq ## encoding: [0xc3]
714 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %_…
716 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__C
722 ; X86: ## %bb.0: ## %entry
723 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
724 ; X86-NEXT: vfmadd213ps %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0xc9,0xa8,0xc…
726 ; X86-NEXT: retl ## encoding: [0xc3]
729 ; X64: ## %bb.0: ## %entry
730 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
731 ; X64-NEXT: vfmadd213ps %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0xc9,0xa8,0xc…
733 ; X64-NEXT: retq ## encoding: [0xc3]
735 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %_…
737 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> zeroinitializer
743 ; CHECK: ## %bb.0: ## %entry
744 ; CHECK-NEXT: vfmsub213ps %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0x75,0x48,0xaa,0xc2]
746 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
749 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %s…
750 ret <16 x float> %0
755 ; X86: ## %bb.0: ## %entry
756 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
757 ; X86-NEXT: vfmsub132ps %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x49,0x9a,0xc1]
759 ; X86-NEXT: retl ## encoding: [0xc3]
762 ; X64: ## %bb.0: ## %entry
763 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
764 ; X64-NEXT: vfmsub132ps %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x49,0x9a,0xc1]
766 ; X64-NEXT: retq ## encoding: [0xc3]
769 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %s…
771 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__A
777 ; X86: ## %bb.0: ## %entry
778 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
779 ; X86-NEXT: vfmsub213ps %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0xc9,0xaa,0xc…
781 ; X86-NEXT: retl ## encoding: [0xc3]
784 ; X64: ## %bb.0: ## %entry
785 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
786 ; X64-NEXT: vfmsub213ps %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0xc9,0xaa,0xc…
788 ; X64-NEXT: retq ## encoding: [0xc3]
791 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %s…
793 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> zeroinitializer
799 ; CHECK: ## %bb.0: ## %entry
800 ; CHECK-NEXT: vfnmadd213ps %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0x75,0x48,0xac,0xc2]
802 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
805 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %sub.i, <16 x float> %__B, <16 x float> …
806 ret <16 x float> %0
811 ; X86: ## %bb.0: ## %entry
812 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
813 ; X86-NEXT: vfnmadd231ps %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x49,0xbc,0xd1]
815 ; X86-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
816 ; X86-NEXT: retl ## encoding: [0xc3]
819 ; X64: ## %bb.0: ## %entry
820 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
821 ; X64-NEXT: vfnmadd231ps %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x49,0xbc,0xd1]
823 ; X64-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
824 ; X64-NEXT: retq ## encoding: [0xc3]
827 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %sub.i, <16 x float> %__B, <16 x float> …
829 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__C
835 ; X86: ## %bb.0: ## %entry
836 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
837 ; X86-NEXT: vfnmadd213ps %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0xc9,0xac,0x…
839 ; X86-NEXT: retl ## encoding: [0xc3]
842 ; X64: ## %bb.0: ## %entry
843 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
844 ; X64-NEXT: vfnmadd213ps %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0xc9,0xac,0x…
846 ; X64-NEXT: retq ## encoding: [0xc3]
849 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %sub.i, <16 x float> %__B, <16 x float> …
851 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> zeroinitializer
857 ; CHECK: ## %bb.0: ## %entry
858 ; CHECK-NEXT: vfnmsub213ps %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0x75,0x48,0xae,0xc2]
860 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
864 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %sub.i, <16 x float> %__B, <16 x float> …
865 ret <16 x float> %0
870 ; X86: ## %bb.0: ## %entry
871 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
872 ; X86-NEXT: vfnmsub213ps %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0xc9,0xae,0x…
874 ; X86-NEXT: retl ## encoding: [0xc3]
877 ; X64: ## %bb.0: ## %entry
878 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
879 ; X64-NEXT: vfnmsub213ps %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0xc9,0xae,0x…
881 ; X64-NEXT: retq ## encoding: [0xc3]
885 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %sub.i, <16 x float> %__B, <16 x float> …
887 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> zeroinitializer
893 ; CHECK: ## %bb.0: ## %entry
894 …-NEXT: vfmaddsub213pd {rn-sae}, %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0xf5,0x18,0xa6,0xc2]
895 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
897 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmaddsub.pd.512(<8 x double> %__A, <8 x double> %__B…
898 ret <8 x double> %0
905 ; X86: ## %bb.0: ## %entry
906 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
907 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
908 … vfmaddsub132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x19,0x96,0xc1]
909 ; X86-NEXT: retl ## encoding: [0xc3]
912 ; X64: ## %bb.0: ## %entry
913 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
914 … vfmaddsub132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x19,0x96,0xc1]
915 ; X64-NEXT: retq ## encoding: [0xc3]
917 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmaddsub.pd.512(<8 x double> %__A, <8 x double> %__B…
919 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__A
925 ; X86: ## %bb.0: ## %entry
926 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
927 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
928 … vfmaddsub231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x19,0xb6,0xd1]
929 ; X86-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
930 ; X86-NEXT: retl ## encoding: [0xc3]
933 ; X64: ## %bb.0: ## %entry
934 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
935 … vfmaddsub231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x19,0xb6,0xd1]
936 ; X64-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
937 ; X64-NEXT: retq ## encoding: [0xc3]
939 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmaddsub.pd.512(<8 x double> %__A, <8 x double> %__B…
941 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__C
947 ; X86: ## %bb.0: ## %entry
948 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
949 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
950 …vfmaddsub213pd {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x99,0xa6,0xc2]
951 ; X86-NEXT: retl ## encoding: [0xc3]
954 ; X64: ## %bb.0: ## %entry
955 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
956 …vfmaddsub213pd {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x99,0xa6,0xc2]
957 ; X64-NEXT: retq ## encoding: [0xc3]
959 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmaddsub.pd.512(<8 x double> %__A, <8 x double> %__B…
961 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> zeroinitializer
967 ; CHECK: ## %bb.0: ## %entry
968 …-NEXT: vfmsubadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0xf5,0x18,0xa7,0xc2]
969 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
972 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmaddsub.pd.512(<8 x double> %__A, <8 x double> %__B…
973 ret <8 x double> %0
978 ; X86: ## %bb.0: ## %entry
979 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
980 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
981 … vfmsubadd132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x19,0x97,0xc1]
982 ; X86-NEXT: retl ## encoding: [0xc3]
985 ; X64: ## %bb.0: ## %entry
986 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
987 … vfmsubadd132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x19,0x97,0xc1]
988 ; X64-NEXT: retq ## encoding: [0xc3]
991 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmaddsub.pd.512(<8 x double> %__A, <8 x double> %__B…
993 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__A
999 ; X86: ## %bb.0: ## %entry
1000 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1001 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1002 …vfmsubadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x99,0xa7,0xc2]
1003 ; X86-NEXT: retl ## encoding: [0xc3]
1006 ; X64: ## %bb.0: ## %entry
1007 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1008 …vfmsubadd213pd {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x99,0xa7,0xc2]
1009 ; X64-NEXT: retq ## encoding: [0xc3]
1012 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmaddsub.pd.512(<8 x double> %__A, <8 x double> %__B…
1014 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> zeroinitializer
1020 ; CHECK: ## %bb.0: ## %entry
1021 ; CHECK-NEXT: vfmaddsub213pd %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0xf5,0x48,0xa6,0xc2]
1023 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
1025 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %__…
1028 …%3 = shufflevector <8 x double> %2, <8 x double> %0, <8 x i32> <i32 0, i32 9, i32 2, i32 11, i32 4…
1034 ; X86: ## %bb.0: ## %entry
1035 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1036 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1037 ; X86-NEXT: vfmaddsub132pd %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x49,0x96,0xc1]
1039 ; X86-NEXT: retl ## encoding: [0xc3]
1042 ; X64: ## %bb.0: ## %entry
1043 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1044 ; X64-NEXT: vfmaddsub132pd %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x49,0x96,0xc1]
1046 ; X64-NEXT: retq ## encoding: [0xc3]
1048 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %__…
1051 …%3 = shufflevector <8 x double> %2, <8 x double> %0, <8 x i32> <i32 0, i32 9, i32 2, i32 11, i32 4…
1059 ; X86: ## %bb.0: ## %entry
1060 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1061 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1062 ; X86-NEXT: vfmaddsub231pd %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x49,0xb6,0xd1]
1064 ; X86-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
1065 ; X86-NEXT: retl ## encoding: [0xc3]
1068 ; X64: ## %bb.0: ## %entry
1069 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1070 ; X64-NEXT: vfmaddsub231pd %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x49,0xb6,0xd1]
1072 ; X64-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
1073 ; X64-NEXT: retq ## encoding: [0xc3]
1075 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %__…
1078 …%3 = shufflevector <8 x double> %2, <8 x double> %0, <8 x i32> <i32 0, i32 9, i32 2, i32 11, i32 4…
1086 ; X86: ## %bb.0: ## %entry
1087 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1088 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1089 …-NEXT: vfmaddsub213pd %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0xc9,0xa6,0xc2]
1091 ; X86-NEXT: retl ## encoding: [0xc3]
1094 ; X64: ## %bb.0: ## %entry
1095 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1096 …-NEXT: vfmaddsub213pd %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0xc9,0xa6,0xc2]
1098 ; X64-NEXT: retq ## encoding: [0xc3]
1100 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %__…
1103 …%3 = shufflevector <8 x double> %2, <8 x double> %0, <8 x i32> <i32 0, i32 9, i32 2, i32 11, i32 4…
1111 ; CHECK: ## %bb.0: ## %entry
1112 ; CHECK-NEXT: vfmsubadd213pd %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0xf5,0x48,0xa7,0xc2]
1114 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
1117 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %su…
1119 …%2 = shufflevector <8 x double> %1, <8 x double> %0, <8 x i32> <i32 0, i32 9, i32 2, i32 11, i32 4…
1125 ; X86: ## %bb.0: ## %entry
1126 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1127 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1128 ; X86-NEXT: vfmsubadd132pd %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x49,0x97,0xc1]
1130 ; X86-NEXT: retl ## encoding: [0xc3]
1133 ; X64: ## %bb.0: ## %entry
1134 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1135 ; X64-NEXT: vfmsubadd132pd %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x49,0x97,0xc1]
1137 ; X64-NEXT: retq ## encoding: [0xc3]
1140 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %su…
1142 …%2 = shufflevector <8 x double> %1, <8 x double> %0, <8 x i32> <i32 0, i32 9, i32 2, i32 11, i32 4…
1150 ; X86: ## %bb.0: ## %entry
1151 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1152 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1153 …-NEXT: vfmsubadd213pd %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0xc9,0xa7,0xc2]
1155 ; X86-NEXT: retl ## encoding: [0xc3]
1158 ; X64: ## %bb.0: ## %entry
1159 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1160 …-NEXT: vfmsubadd213pd %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0xc9,0xa7,0xc2]
1162 ; X64-NEXT: retq ## encoding: [0xc3]
1165 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %su…
1167 …%2 = shufflevector <8 x double> %1, <8 x double> %0, <8 x i32> <i32 0, i32 9, i32 2, i32 11, i32 4…
1175 ; CHECK: ## %bb.0: ## %entry
1176 …-NEXT: vfmaddsub213ps {rn-sae}, %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0x75,0x18,0xa6,0xc2]
1177 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
1179 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmaddsub.ps.512(<16 x float> %__A, <16 x float> %__B…
1180 ret <16 x float> %0
1187 ; X86: ## %bb.0: ## %entry
1188 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1189 … vfmaddsub132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x19,0x96,0xc1]
1190 ; X86-NEXT: retl ## encoding: [0xc3]
1193 ; X64: ## %bb.0: ## %entry
1194 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1195 … vfmaddsub132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x19,0x96,0xc1]
1196 ; X64-NEXT: retq ## encoding: [0xc3]
1198 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmaddsub.ps.512(<16 x float> %__A, <16 x float> %__B…
1200 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__A
1206 ; X86: ## %bb.0: ## %entry
1207 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1208 … vfmaddsub231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x19,0xb6,0xd1]
1209 ; X86-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1210 ; X86-NEXT: retl ## encoding: [0xc3]
1213 ; X64: ## %bb.0: ## %entry
1214 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1215 … vfmaddsub231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x19,0xb6,0xd1]
1216 ; X64-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1217 ; X64-NEXT: retq ## encoding: [0xc3]
1219 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmaddsub.ps.512(<16 x float> %__A, <16 x float> %__B…
1221 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__C
1227 ; X86: ## %bb.0: ## %entry
1228 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1229 …vfmaddsub213ps {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x99,0xa6,0xc2]
1230 ; X86-NEXT: retl ## encoding: [0xc3]
1233 ; X64: ## %bb.0: ## %entry
1234 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1235 …vfmaddsub213ps {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x99,0xa6,0xc2]
1236 ; X64-NEXT: retq ## encoding: [0xc3]
1238 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmaddsub.ps.512(<16 x float> %__A, <16 x float> %__B…
1240 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> zeroinitializer
1246 ; CHECK: ## %bb.0: ## %entry
1247 …-NEXT: vfmsubadd213ps {rn-sae}, %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0x75,0x18,0xa7,0xc2]
1248 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
1251 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmaddsub.ps.512(<16 x float> %__A, <16 x float> %__B…
1252 ret <16 x float> %0
1257 ; X86: ## %bb.0: ## %entry
1258 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1259 … vfmsubadd132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x19,0x97,0xc1]
1260 ; X86-NEXT: retl ## encoding: [0xc3]
1263 ; X64: ## %bb.0: ## %entry
1264 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1265 … vfmsubadd132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x19,0x97,0xc1]
1266 ; X64-NEXT: retq ## encoding: [0xc3]
1269 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmaddsub.ps.512(<16 x float> %__A, <16 x float> %__B…
1271 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__A
1277 ; X86: ## %bb.0: ## %entry
1278 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1279 …vfmsubadd213ps {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x99,0xa7,0xc2]
1280 ; X86-NEXT: retl ## encoding: [0xc3]
1283 ; X64: ## %bb.0: ## %entry
1284 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1285 …vfmsubadd213ps {rn-sae}, %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x99,0xa7,0xc2]
1286 ; X64-NEXT: retq ## encoding: [0xc3]
1289 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmaddsub.ps.512(<16 x float> %__A, <16 x float> %__B…
1291 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> zeroinitializer
1297 ; CHECK: ## %bb.0: ## %entry
1298 ; CHECK-NEXT: vfmaddsub213ps %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0x75,0x48,0xa6,0xc2]
1300 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
1302 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %_…
1305 …%3 = shufflevector <16 x float> %2, <16 x float> %0, <16 x i32> <i32 0, i32 17, i32 2, i32 19, i32…
1311 ; X86: ## %bb.0: ## %entry
1312 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1313 ; X86-NEXT: vfmaddsub132ps %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x49,0x96,0xc1]
1315 ; X86-NEXT: retl ## encoding: [0xc3]
1318 ; X64: ## %bb.0: ## %entry
1319 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1320 ; X64-NEXT: vfmaddsub132ps %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x49,0x96,0xc1]
1322 ; X64-NEXT: retq ## encoding: [0xc3]
1324 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %_…
1327 …%3 = shufflevector <16 x float> %2, <16 x float> %0, <16 x i32> <i32 0, i32 17, i32 2, i32 19, i32…
1335 ; X86: ## %bb.0: ## %entry
1336 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1337 ; X86-NEXT: vfmaddsub231ps %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x49,0xb6,0xd1]
1339 ; X86-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1340 ; X86-NEXT: retl ## encoding: [0xc3]
1343 ; X64: ## %bb.0: ## %entry
1344 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1345 ; X64-NEXT: vfmaddsub231ps %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x49,0xb6,0xd1]
1347 ; X64-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1348 ; X64-NEXT: retq ## encoding: [0xc3]
1350 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %_…
1353 …%3 = shufflevector <16 x float> %2, <16 x float> %0, <16 x i32> <i32 0, i32 17, i32 2, i32 19, i32…
1361 ; X86: ## %bb.0: ## %entry
1362 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1363 …-NEXT: vfmaddsub213ps %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0xc9,0xa6,0xc2]
1365 ; X86-NEXT: retl ## encoding: [0xc3]
1368 ; X64: ## %bb.0: ## %entry
1369 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1370 …-NEXT: vfmaddsub213ps %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0xc9,0xa6,0xc2]
1372 ; X64-NEXT: retq ## encoding: [0xc3]
1374 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %_…
1377 …%3 = shufflevector <16 x float> %2, <16 x float> %0, <16 x i32> <i32 0, i32 17, i32 2, i32 19, i32…
1385 ; CHECK: ## %bb.0: ## %entry
1386 ; CHECK-NEXT: vfmsubadd213ps %zmm2, %zmm1, %zmm0 ## encoding: [0x62,0xf2,0x75,0x48,0xa7,0xc2]
1388 ; CHECK-NEXT: ret{{[l|q]}} ## encoding: [0xc3]
1391 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %s…
1393 …%2 = shufflevector <16 x float> %1, <16 x float> %0, <16 x i32> <i32 0, i32 17, i32 2, i32 19, i32…
1399 ; X86: ## %bb.0: ## %entry
1400 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1401 ; X86-NEXT: vfmsubadd132ps %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x49,0x97,0xc1]
1403 ; X86-NEXT: retl ## encoding: [0xc3]
1406 ; X64: ## %bb.0: ## %entry
1407 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1408 ; X64-NEXT: vfmsubadd132ps %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x49,0x97,0xc1]
1410 ; X64-NEXT: retq ## encoding: [0xc3]
1413 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %s…
1415 …%2 = shufflevector <16 x float> %1, <16 x float> %0, <16 x i32> <i32 0, i32 17, i32 2, i32 19, i32…
1423 ; X86: ## %bb.0: ## %entry
1424 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1425 …-NEXT: vfmsubadd213ps %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0xc9,0xa7,0xc2]
1427 ; X86-NEXT: retl ## encoding: [0xc3]
1430 ; X64: ## %bb.0: ## %entry
1431 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1432 …-NEXT: vfmsubadd213ps %zmm2, %zmm1, %zmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0xc9,0xa7,0xc2]
1434 ; X64-NEXT: retq ## encoding: [0xc3]
1437 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %s…
1439 …%2 = shufflevector <16 x float> %1, <16 x float> %0, <16 x i32> <i32 0, i32 17, i32 2, i32 19, i32…
1447 ; X86: ## %bb.0: ## %entry
1448 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1449 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1450 …XT: vfmsub231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x19,0xba,0xd1]
1451 ; X86-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
1452 ; X86-NEXT: retl ## encoding: [0xc3]
1455 ; X64: ## %bb.0: ## %entry
1456 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1457 …XT: vfmsub231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x19,0xba,0xd1]
1458 ; X64-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
1459 ; X64-NEXT: retq ## encoding: [0xc3]
1462 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %__A, <8 x double> %__B, <…
1464 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__C
1470 ; X86: ## %bb.0: ## %entry
1471 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1472 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1473 ; X86-NEXT: vfmsub231pd %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x49,0xba,0xd1]
1475 ; X86-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
1476 ; X86-NEXT: retl ## encoding: [0xc3]
1479 ; X64: ## %bb.0: ## %entry
1480 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1481 ; X64-NEXT: vfmsub231pd %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x49,0xba,0xd1]
1483 ; X64-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
1484 ; X64-NEXT: retq ## encoding: [0xc3]
1487 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %su…
1489 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__C
1495 ; X86: ## %bb.0: ## %entry
1496 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1497 …XT: vfmsub231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x19,0xba,0xd1]
1498 ; X86-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1499 ; X86-NEXT: retl ## encoding: [0xc3]
1502 ; X64: ## %bb.0: ## %entry
1503 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1504 …XT: vfmsub231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x19,0xba,0xd1]
1505 ; X64-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1506 ; X64-NEXT: retq ## encoding: [0xc3]
1509 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %__A, <16 x float> %__B, <…
1511 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__C
1517 ; X86: ## %bb.0: ## %entry
1518 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1519 ; X86-NEXT: vfmsub231ps %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x49,0xba,0xd1]
1521 ; X86-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1522 ; X86-NEXT: retl ## encoding: [0xc3]
1525 ; X64: ## %bb.0: ## %entry
1526 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1527 ; X64-NEXT: vfmsub231ps %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x49,0xba,0xd1]
1529 ; X64-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1530 ; X64-NEXT: retq ## encoding: [0xc3]
1533 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %s…
1535 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__C
1541 ; X86: ## %bb.0: ## %entry
1542 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1543 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1544 … vfmsubadd231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x19,0xb7,0xd1]
1545 ; X86-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
1546 ; X86-NEXT: retl ## encoding: [0xc3]
1549 ; X64: ## %bb.0: ## %entry
1550 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1551 … vfmsubadd231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x19,0xb7,0xd1]
1552 ; X64-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
1553 ; X64-NEXT: retq ## encoding: [0xc3]
1556 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmaddsub.pd.512(<8 x double> %__A, <8 x double> %__B…
1558 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__C
1564 ; X86: ## %bb.0: ## %entry
1565 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1566 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1567 ; X86-NEXT: vfmsubadd231pd %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x49,0xb7,0xd1]
1569 ; X86-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
1570 ; X86-NEXT: retl ## encoding: [0xc3]
1573 ; X64: ## %bb.0: ## %entry
1574 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1575 ; X64-NEXT: vfmsubadd231pd %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x49,0xb7,0xd1]
1577 ; X64-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
1578 ; X64-NEXT: retq ## encoding: [0xc3]
1581 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %__B, <8 x double> %su…
1583 …%2 = shufflevector <8 x double> %1, <8 x double> %0, <8 x i32> <i32 0, i32 9, i32 2, i32 11, i32 4…
1591 ; X86: ## %bb.0: ## %entry
1592 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1593 … vfmsubadd231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x19,0xb7,0xd1]
1594 ; X86-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1595 ; X86-NEXT: retl ## encoding: [0xc3]
1598 ; X64: ## %bb.0: ## %entry
1599 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1600 … vfmsubadd231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x19,0xb7,0xd1]
1601 ; X64-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1602 ; X64-NEXT: retq ## encoding: [0xc3]
1605 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmaddsub.ps.512(<16 x float> %__A, <16 x float> %__B…
1607 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__C
1613 ; X86: ## %bb.0: ## %entry
1614 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1615 ; X86-NEXT: vfmsubadd231ps %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x49,0xb7,0xd1]
1617 ; X86-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1618 ; X86-NEXT: retl ## encoding: [0xc3]
1621 ; X64: ## %bb.0: ## %entry
1622 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1623 ; X64-NEXT: vfmsubadd231ps %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x49,0xb7,0xd1]
1625 ; X64-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1626 ; X64-NEXT: retq ## encoding: [0xc3]
1629 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %__B, <16 x float> %s…
1631 …%2 = shufflevector <16 x float> %1, <16 x float> %0, <16 x i32> <i32 0, i32 17, i32 2, i32 19, i32…
1639 ; X86: ## %bb.0: ## %entry
1640 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1641 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1642 …T: vfnmadd132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x19,0x9c,0xc1]
1643 ; X86-NEXT: retl ## encoding: [0xc3]
1646 ; X64: ## %bb.0: ## %entry
1647 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1648 …T: vfnmadd132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x19,0x9c,0xc1]
1649 ; X64-NEXT: retq ## encoding: [0xc3]
1652 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %sub, <8 x double> %__B, <…
1654 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__A
1660 ; X86: ## %bb.0: ## %entry
1661 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1662 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1663 ; X86-NEXT: vfnmadd132pd %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x49,0x9c,0xc1]
1665 ; X86-NEXT: retl ## encoding: [0xc3]
1668 ; X64: ## %bb.0: ## %entry
1669 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1670 ; X64-NEXT: vfnmadd132pd %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x49,0x9c,0xc1]
1672 ; X64-NEXT: retq ## encoding: [0xc3]
1675 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %sub.i, <8 x double> %__B, <8 x double> %…
1677 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__A
1683 ; X86: ## %bb.0: ## %entry
1684 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1685 …T: vfnmadd132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x19,0x9c,0xc1]
1686 ; X86-NEXT: retl ## encoding: [0xc3]
1689 ; X64: ## %bb.0: ## %entry
1690 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1691 …T: vfnmadd132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x19,0x9c,0xc1]
1692 ; X64-NEXT: retq ## encoding: [0xc3]
1695 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %sub, <16 x float> %__B, <…
1697 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__A
1703 ; X86: ## %bb.0: ## %entry
1704 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1705 ; X86-NEXT: vfnmadd132ps %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x49,0x9c,0xc1]
1707 ; X86-NEXT: retl ## encoding: [0xc3]
1710 ; X64: ## %bb.0: ## %entry
1711 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1712 ; X64-NEXT: vfnmadd132ps %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x49,0x9c,0xc1]
1714 ; X64-NEXT: retq ## encoding: [0xc3]
1717 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %sub.i, <16 x float> %__B, <16 x float> …
1719 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__A
1725 ; X86: ## %bb.0: ## %entry
1726 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1727 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1728 …T: vfnmsub132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x19,0x9e,0xc1]
1729 ; X86-NEXT: retl ## encoding: [0xc3]
1732 ; X64: ## %bb.0: ## %entry
1733 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1734 …T: vfnmsub132pd {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x19,0x9e,0xc1]
1735 ; X64-NEXT: retq ## encoding: [0xc3]
1739 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %__A, <8 x double> %sub, <…
1741 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__A
1747 ; X86: ## %bb.0: ## %entry
1748 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1749 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1750 …T: vfnmsub231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x19,0xbe,0xd1]
1751 ; X86-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
1752 ; X86-NEXT: retl ## encoding: [0xc3]
1755 ; X64: ## %bb.0: ## %entry
1756 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1757 …T: vfnmsub231pd {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x19,0xbe,0xd1]
1758 ; X64-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
1759 ; X64-NEXT: retq ## encoding: [0xc3]
1763 …%0 = tail call <8 x double> @llvm.x86.avx512.vfmadd.pd.512(<8 x double> %__A, <8 x double> %sub, <…
1765 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__C
1771 ; X86: ## %bb.0: ## %entry
1772 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1773 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1774 ; X86-NEXT: vfnmsub132pd %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x49,0x9e,0xc1]
1776 ; X86-NEXT: retl ## encoding: [0xc3]
1779 ; X64: ## %bb.0: ## %entry
1780 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1781 ; X64-NEXT: vfnmsub132pd %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0xed,0x49,0x9e,0xc1]
1783 ; X64-NEXT: retq ## encoding: [0xc3]
1787 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %sub.i, <8 x double> %…
1789 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__A
1795 ; X86: ## %bb.0: ## %entry
1796 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1797 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1798 ; X86-NEXT: vfnmsub231pd %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x49,0xbe,0xd1]
1800 ; X86-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
1801 ; X86-NEXT: retl ## encoding: [0xc3]
1804 ; X64: ## %bb.0: ## %entry
1805 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1806 ; X64-NEXT: vfnmsub231pd %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x49,0xbe,0xd1]
1808 ; X64-NEXT: vmovapd %zmm2, %zmm0 ## encoding: [0x62,0xf1,0xfd,0x48,0x28,0xc2]
1809 ; X64-NEXT: retq ## encoding: [0xc3]
1813 …%0 = tail call <8 x double> @llvm.fma.v8f64(<8 x double> %__A, <8 x double> %sub.i, <8 x double> %…
1815 %2 = select <8 x i1> %1, <8 x double> %0, <8 x double> %__C
1821 ; X86: ## %bb.0: ## %entry
1822 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1823 …T: vfnmsub132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x19,0x9e,0xc1]
1824 ; X86-NEXT: retl ## encoding: [0xc3]
1827 ; X64: ## %bb.0: ## %entry
1828 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1829 …T: vfnmsub132ps {rn-sae}, %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x19,0x9e,0xc1]
1830 ; X64-NEXT: retq ## encoding: [0xc3]
1834 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %__A, <16 x float> %sub, <…
1836 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__A
1842 ; X86: ## %bb.0: ## %entry
1843 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1844 …T: vfnmsub231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x19,0xbe,0xd1]
1845 ; X86-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1846 ; X86-NEXT: retl ## encoding: [0xc3]
1849 ; X64: ## %bb.0: ## %entry
1850 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1851 …T: vfnmsub231ps {rn-sae}, %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x19,0xbe,0xd1]
1852 ; X64-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1853 ; X64-NEXT: retq ## encoding: [0xc3]
1857 …%0 = tail call <16 x float> @llvm.x86.avx512.vfmadd.ps.512(<16 x float> %__A, <16 x float> %sub, <…
1859 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__C
1865 ; X86: ## %bb.0: ## %entry
1866 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1867 ; X86-NEXT: vfnmsub132ps %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x49,0x9e,0xc1]
1869 ; X86-NEXT: retl ## encoding: [0xc3]
1872 ; X64: ## %bb.0: ## %entry
1873 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1874 ; X64-NEXT: vfnmsub132ps %zmm1, %zmm2, %zmm0 {%k1} ## encoding: [0x62,0xf2,0x6d,0x49,0x9e,0xc1]
1876 ; X64-NEXT: retq ## encoding: [0xc3]
1880 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %sub.i, <16 x float> …
1882 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__A
1888 ; X86: ## %bb.0: ## %entry
1889 ; X86-NEXT: kmovw {{[0-9]+}}(%esp), %k1 ## encoding: [0xc5,0xf8,0x90,0x4c,0x24,0x04]
1890 ; X86-NEXT: vfnmsub231ps %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x49,0xbe,0xd1]
1892 ; X86-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1893 ; X86-NEXT: retl ## encoding: [0xc3]
1896 ; X64: ## %bb.0: ## %entry
1897 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1898 ; X64-NEXT: vfnmsub231ps %zmm1, %zmm0, %zmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x49,0xbe,0xd1]
1900 ; X64-NEXT: vmovaps %zmm2, %zmm0 ## encoding: [0x62,0xf1,0x7c,0x48,0x28,0xc2]
1901 ; X64-NEXT: retq ## encoding: [0xc3]
1905 …%0 = tail call <16 x float> @llvm.fma.v16f32(<16 x float> %__A, <16 x float> %sub.i, <16 x float> …
1907 %2 = select <16 x i1> %1, <16 x float> %0, <16 x float> %__C
1913 ; X86: ## %bb.0: ## %entry
1914 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1915 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1916 ; X86-NEXT: vfmadd213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xa9,0xc2]
1918 ; X86-NEXT: retl ## encoding: [0xc3]
1921 ; X64: ## %bb.0: ## %entry
1922 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1923 ; X64-NEXT: vfmadd213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xa9,0xc2]
1925 ; X64-NEXT: retq ## encoding: [0xc3]
1927 %0 = extractelement <4 x float> %__W, i64 0
1928 %1 = extractelement <4 x float> %__A, i64 0
1929 %2 = extractelement <4 x float> %__B, i64 0
1930 %3 = tail call float @llvm.fma.f32(float %0, float %1, float %2) #10
1932 %tobool.i = icmp eq i8 %4, 0
1933 %vecext1.i = extractelement <4 x float> %__W, i32 0
1935 %vecins.i = insertelement <4 x float> %__W, float %cond.i, i32 0
1941 ; X86: ## %bb.0: ## %entry
1942 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1943 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1944 ; X86-NEXT: vfmadd213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xa9,0xc2]
1946 ; X86-NEXT: retl ## encoding: [0xc3]
1949 ; X64: ## %bb.0: ## %entry
1950 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1951 ; X64-NEXT: vfmadd213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xa9,0xc2]
1953 ; X64-NEXT: retq ## encoding: [0xc3]
1955 …%0 = tail call <4 x float> @llvm.x86.avx512.mask.vfmadd.ss(<4 x float> %__W, <4 x float> %__A, <4 …
1956 ret <4 x float> %0
1963 ; X86: ## %bb.0: ## %entry
1964 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1965 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1966 ; X86-NEXT: vfmadd213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xa9,0xc…
1968 ; X86-NEXT: retl ## encoding: [0xc3]
1971 ; X64: ## %bb.0: ## %entry
1972 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
1973 ; X64-NEXT: vfmadd213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xa9,0xc…
1975 ; X64-NEXT: retq ## encoding: [0xc3]
1977 %0 = extractelement <4 x float> %__A, i64 0
1978 %1 = extractelement <4 x float> %__B, i64 0
1979 %2 = extractelement <4 x float> %__C, i64 0
1980 %3 = tail call float @llvm.fma.f32(float %0, float %1, float %2) #10
1982 %tobool.i = icmp eq i8 %4, 0
1984 %vecins.i = insertelement <4 x float> %__A, float %cond.i, i32 0
1990 ; X86: ## %bb.0: ## %entry
1991 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
1992 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
1993 ; X86-NEXT: vfmadd213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xa9,0xc…
1995 ; X86-NEXT: retl ## encoding: [0xc3]
1998 ; X64: ## %bb.0: ## %entry
1999 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2000 ; X64-NEXT: vfmadd213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xa9,0xc…
2002 ; X64-NEXT: retq ## encoding: [0xc3]
2004 …%0 = tail call <4 x float> @llvm.x86.avx512.maskz.vfmadd.ss(<4 x float> %__A, <4 x float> %__B, <4…
2005 ret <4 x float> %0
2012 ; X86: ## %bb.0: ## %entry
2013 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2014 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2015 ; X86-NEXT: vfmadd231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xb9,0xd1]
2017 ; X86-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2018 ; X86-NEXT: retl ## encoding: [0xc3]
2021 ; X64: ## %bb.0: ## %entry
2022 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2023 ; X64-NEXT: vfmadd231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xb9,0xd1]
2025 ; X64-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2026 ; X64-NEXT: retq ## encoding: [0xc3]
2028 %0 = extractelement <4 x float> %__W, i64 0
2029 %1 = extractelement <4 x float> %__X, i64 0
2030 %2 = extractelement <4 x float> %__Y, i64 0
2031 %3 = tail call float @llvm.fma.f32(float %0, float %1, float %2) #10
2033 %tobool.i = icmp eq i8 %4, 0
2034 %vecext1.i = extractelement <4 x float> %__Y, i32 0
2036 %vecins.i = insertelement <4 x float> %__Y, float %cond.i, i32 0
2042 ; X86: ## %bb.0: ## %entry
2043 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2044 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2045 ; X86-NEXT: vfmadd231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xb9,0xd1]
2047 ; X86-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2048 ; X86-NEXT: retl ## encoding: [0xc3]
2051 ; X64: ## %bb.0: ## %entry
2052 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2053 ; X64-NEXT: vfmadd231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xb9,0xd1]
2055 ; X64-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2056 ; X64-NEXT: retq ## encoding: [0xc3]
2058 …%0 = tail call <4 x float> @llvm.x86.avx512.mask3.vfmadd.ss(<4 x float> %__W, <4 x float> %__X, <4…
2059 ret <4 x float> %0
2066 ; X86: ## %bb.0: ## %entry
2067 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2068 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2069 ; X86-NEXT: vfmsub213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xab,0xc2]
2071 ; X86-NEXT: retl ## encoding: [0xc3]
2074 ; X64: ## %bb.0: ## %entry
2075 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2076 ; X64-NEXT: vfmsub213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xab,0xc2]
2078 ; X64-NEXT: retq ## encoding: [0xc3]
2080 %0 = extractelement <4 x float> %__W, i64 0
2081 %1 = extractelement <4 x float> %__A, i64 0
2082 %.rhs.i = extractelement <4 x float> %__B, i64 0
2084 %3 = tail call float @llvm.fma.f32(float %0, float %1, float %2) #10
2086 %tobool.i = icmp eq i8 %4, 0
2087 %vecext1.i = extractelement <4 x float> %__W, i32 0
2089 %vecins.i = insertelement <4 x float> %__W, float %cond.i, i32 0
2095 ; X86: ## %bb.0: ## %entry
2096 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2097 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2098 ; X86-NEXT: vfmsub213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xab,0xc2]
2100 ; X86-NEXT: retl ## encoding: [0xc3]
2103 ; X64: ## %bb.0: ## %entry
2104 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2105 ; X64-NEXT: vfmsub213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xab,0xc2]
2107 ; X64-NEXT: retq ## encoding: [0xc3]
2110 …%0 = tail call <4 x float> @llvm.x86.avx512.mask.vfmadd.ss(<4 x float> %__W, <4 x float> %__A, <4 …
2111 ret <4 x float> %0
2116 ; X86: ## %bb.0: ## %entry
2117 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2118 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2119 ; X86-NEXT: vfmsub213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xab,0xc…
2121 ; X86-NEXT: retl ## encoding: [0xc3]
2124 ; X64: ## %bb.0: ## %entry
2125 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2126 ; X64-NEXT: vfmsub213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xab,0xc…
2128 ; X64-NEXT: retq ## encoding: [0xc3]
2130 %0 = extractelement <4 x float> %__A, i64 0
2131 %1 = extractelement <4 x float> %__B, i64 0
2132 %.rhs.i = extractelement <4 x float> %__C, i64 0
2134 %3 = tail call float @llvm.fma.f32(float %0, float %1, float %2) #10
2136 %tobool.i = icmp eq i8 %4, 0
2138 %vecins.i = insertelement <4 x float> %__A, float %cond.i, i32 0
2144 ; X86: ## %bb.0: ## %entry
2145 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2146 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2147 ; X86-NEXT: vfmsub213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xab,0xc…
2149 ; X86-NEXT: retl ## encoding: [0xc3]
2152 ; X64: ## %bb.0: ## %entry
2153 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2154 ; X64-NEXT: vfmsub213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xab,0xc…
2156 ; X64-NEXT: retq ## encoding: [0xc3]
2159 …%0 = tail call <4 x float> @llvm.x86.avx512.maskz.vfmadd.ss(<4 x float> %__A, <4 x float> %__B, <4…
2160 ret <4 x float> %0
2165 ; X86: ## %bb.0: ## %entry
2166 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2167 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2168 ; X86-NEXT: vfmsub231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xbb,0xd1]
2170 ; X86-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2171 ; X86-NEXT: retl ## encoding: [0xc3]
2174 ; X64: ## %bb.0: ## %entry
2175 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2176 ; X64-NEXT: vfmsub231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xbb,0xd1]
2178 ; X64-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2179 ; X64-NEXT: retq ## encoding: [0xc3]
2181 %0 = extractelement <4 x float> %__W, i64 0
2182 %1 = extractelement <4 x float> %__X, i64 0
2183 %.rhs.i = extractelement <4 x float> %__Y, i64 0
2185 %3 = tail call float @llvm.fma.f32(float %0, float %1, float %2) #10
2187 %tobool.i = icmp eq i8 %4, 0
2188 %vecext1.i = extractelement <4 x float> %__Y, i32 0
2190 %vecins.i = insertelement <4 x float> %__Y, float %cond.i, i32 0
2196 ; X86: ## %bb.0: ## %entry
2197 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2198 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2199 ; X86-NEXT: vfmsub231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xbb,0xd1]
2201 ; X86-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2202 ; X86-NEXT: retl ## encoding: [0xc3]
2205 ; X64: ## %bb.0: ## %entry
2206 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2207 ; X64-NEXT: vfmsub231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xbb,0xd1]
2209 ; X64-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2210 ; X64-NEXT: retq ## encoding: [0xc3]
2212 …%0 = tail call <4 x float> @llvm.x86.avx512.mask3.vfmsub.ss(<4 x float> %__W, <4 x float> %__X, <4…
2213 ret <4 x float> %0
2220 ; X86: ## %bb.0: ## %entry
2221 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2222 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2223 ; X86-NEXT: vfnmadd213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xad,0xc2]
2225 ; X86-NEXT: retl ## encoding: [0xc3]
2228 ; X64: ## %bb.0: ## %entry
2229 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2230 ; X64-NEXT: vfnmadd213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xad,0xc2]
2232 ; X64-NEXT: retq ## encoding: [0xc3]
2234 %0 = extractelement <4 x float> %__W, i64 0
2235 %.rhs.i = extractelement <4 x float> %__A, i64 0
2237 %2 = extractelement <4 x float> %__B, i64 0
2238 %3 = tail call float @llvm.fma.f32(float %0, float %1, float %2) #10
2240 %tobool.i = icmp eq i8 %4, 0
2241 %vecext1.i = extractelement <4 x float> %__W, i32 0
2243 %vecins.i = insertelement <4 x float> %__W, float %cond.i, i32 0
2249 ; X86: ## %bb.0: ## %entry
2250 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2251 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2252 ; X86-NEXT: vfnmadd213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xad,0xc2]
2254 ; X86-NEXT: retl ## encoding: [0xc3]
2257 ; X64: ## %bb.0: ## %entry
2258 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2259 ; X64-NEXT: vfnmadd213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xad,0xc2]
2261 ; X64-NEXT: retq ## encoding: [0xc3]
2264 …%0 = tail call <4 x float> @llvm.x86.avx512.mask.vfmadd.ss(<4 x float> %__W, <4 x float> %sub, <4 …
2265 ret <4 x float> %0
2270 ; X86: ## %bb.0: ## %entry
2271 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2272 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2273 ; X86-NEXT: vfnmadd213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xad,0x…
2275 ; X86-NEXT: retl ## encoding: [0xc3]
2278 ; X64: ## %bb.0: ## %entry
2279 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2280 ; X64-NEXT: vfnmadd213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xad,0x…
2282 ; X64-NEXT: retq ## encoding: [0xc3]
2284 %0 = extractelement <4 x float> %__A, i64 0
2285 %.rhs.i = extractelement <4 x float> %__B, i64 0
2287 %2 = extractelement <4 x float> %__C, i64 0
2288 %3 = tail call float @llvm.fma.f32(float %0, float %1, float %2) #10
2290 %tobool.i = icmp eq i8 %4, 0
2292 %vecins.i = insertelement <4 x float> %__A, float %cond.i, i32 0
2298 ; X86: ## %bb.0: ## %entry
2299 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2300 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2301 ; X86-NEXT: vfnmadd213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xad,0x…
2303 ; X86-NEXT: retl ## encoding: [0xc3]
2306 ; X64: ## %bb.0: ## %entry
2307 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2308 ; X64-NEXT: vfnmadd213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xad,0x…
2310 ; X64-NEXT: retq ## encoding: [0xc3]
2313 …%0 = tail call <4 x float> @llvm.x86.avx512.maskz.vfmadd.ss(<4 x float> %__A, <4 x float> %sub, <4…
2314 ret <4 x float> %0
2319 ; X86: ## %bb.0: ## %entry
2320 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2321 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2322 ; X86-NEXT: vfnmadd231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xbd,0xd1]
2324 ; X86-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2325 ; X86-NEXT: retl ## encoding: [0xc3]
2328 ; X64: ## %bb.0: ## %entry
2329 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2330 ; X64-NEXT: vfnmadd231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xbd,0xd1]
2332 ; X64-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2333 ; X64-NEXT: retq ## encoding: [0xc3]
2335 %0 = extractelement <4 x float> %__W, i64 0
2336 %.rhs.i = extractelement <4 x float> %__X, i64 0
2338 %2 = extractelement <4 x float> %__Y, i64 0
2339 %3 = tail call float @llvm.fma.f32(float %0, float %1, float %2) #10
2341 %tobool.i = icmp eq i8 %4, 0
2342 %vecext1.i = extractelement <4 x float> %__Y, i32 0
2344 %vecins.i = insertelement <4 x float> %__Y, float %cond.i, i32 0
2350 ; X86: ## %bb.0: ## %entry
2351 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2352 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2353 ; X86-NEXT: vfnmadd231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xbd,0xd1]
2355 ; X86-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2356 ; X86-NEXT: retl ## encoding: [0xc3]
2359 ; X64: ## %bb.0: ## %entry
2360 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2361 ; X64-NEXT: vfnmadd231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xbd,0xd1]
2363 ; X64-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2364 ; X64-NEXT: retq ## encoding: [0xc3]
2367 …%0 = tail call <4 x float> @llvm.x86.avx512.mask3.vfmadd.ss(<4 x float> %__W, <4 x float> %sub, <4…
2368 ret <4 x float> %0
2373 ; X86: ## %bb.0: ## %entry
2374 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2375 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2376 ; X86-NEXT: vfnmsub213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xaf,0xc2]
2378 ; X86-NEXT: retl ## encoding: [0xc3]
2381 ; X64: ## %bb.0: ## %entry
2382 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2383 ; X64-NEXT: vfnmsub213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xaf,0xc2]
2385 ; X64-NEXT: retq ## encoding: [0xc3]
2387 %0 = extractelement <4 x float> %__W, i64 0
2388 %.rhs.i = extractelement <4 x float> %__A, i64 0
2390 %.rhs7.i = extractelement <4 x float> %__B, i64 0
2392 %3 = tail call float @llvm.fma.f32(float %0, float %1, float %2) #10
2394 %tobool.i = icmp eq i8 %4, 0
2395 %vecext2.i = extractelement <4 x float> %__W, i32 0
2397 %vecins.i = insertelement <4 x float> %__W, float %cond.i, i32 0
2403 ; X86: ## %bb.0: ## %entry
2404 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2405 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2406 ; X86-NEXT: vfnmsub213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xaf,0xc2]
2408 ; X86-NEXT: retl ## encoding: [0xc3]
2411 ; X64: ## %bb.0: ## %entry
2412 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2413 ; X64-NEXT: vfnmsub213ss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0x75,0x09,0xaf,0xc2]
2415 ; X64-NEXT: retq ## encoding: [0xc3]
2419 …%0 = tail call <4 x float> @llvm.x86.avx512.mask.vfmadd.ss(<4 x float> %__W, <4 x float> %sub, <4 …
2420 ret <4 x float> %0
2425 ; X86: ## %bb.0: ## %entry
2426 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2427 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2428 ; X86-NEXT: vfnmsub213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xaf,0x…
2430 ; X86-NEXT: retl ## encoding: [0xc3]
2433 ; X64: ## %bb.0: ## %entry
2434 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2435 ; X64-NEXT: vfnmsub213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xaf,0x…
2437 ; X64-NEXT: retq ## encoding: [0xc3]
2439 %0 = extractelement <4 x float> %__A, i64 0
2440 %.rhs.i = extractelement <4 x float> %__B, i64 0
2442 %.rhs5.i = extractelement <4 x float> %__C, i64 0
2444 %3 = tail call float @llvm.fma.f32(float %0, float %1, float %2) #10
2446 %tobool.i = icmp eq i8 %4, 0
2448 %vecins.i = insertelement <4 x float> %__A, float %cond.i, i32 0
2454 ; X86: ## %bb.0: ## %entry
2455 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2456 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2457 ; X86-NEXT: vfnmsub213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xaf,0x…
2459 ; X86-NEXT: retl ## encoding: [0xc3]
2462 ; X64: ## %bb.0: ## %entry
2463 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2464 ; X64-NEXT: vfnmsub213ss %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0x75,0x89,0xaf,0x…
2466 ; X64-NEXT: retq ## encoding: [0xc3]
2470 …%0 = tail call <4 x float> @llvm.x86.avx512.maskz.vfmadd.ss(<4 x float> %__A, <4 x float> %sub, <4…
2471 ret <4 x float> %0
2476 ; X86: ## %bb.0: ## %entry
2477 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2478 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2479 ; X86-NEXT: vfnmsub231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xbf,0xd1]
2481 ; X86-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2482 ; X86-NEXT: retl ## encoding: [0xc3]
2485 ; X64: ## %bb.0: ## %entry
2486 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2487 ; X64-NEXT: vfnmsub231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xbf,0xd1]
2489 ; X64-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2490 ; X64-NEXT: retq ## encoding: [0xc3]
2492 %0 = extractelement <4 x float> %__W, i64 0
2493 %.rhs.i = extractelement <4 x float> %__X, i64 0
2495 %.rhs7.i = extractelement <4 x float> %__Y, i64 0
2497 %3 = tail call float @llvm.fma.f32(float %0, float %1, float %2) #10
2499 %tobool.i = icmp eq i8 %4, 0
2500 %vecext2.i = extractelement <4 x float> %__Y, i32 0
2502 %vecins.i = insertelement <4 x float> %__Y, float %cond.i, i32 0
2508 ; X86: ## %bb.0: ## %entry
2509 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2510 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2511 ; X86-NEXT: vfnmsub231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xbf,0xd1]
2513 ; X86-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2514 ; X86-NEXT: retl ## encoding: [0xc3]
2517 ; X64: ## %bb.0: ## %entry
2518 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2519 ; X64-NEXT: vfnmsub231ss %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0x7d,0x09,0xbf,0xd1]
2521 ; X64-NEXT: vmovaps %xmm2, %xmm0 ## encoding: [0xc5,0xf8,0x28,0xc2]
2522 ; X64-NEXT: retq ## encoding: [0xc3]
2525 …%0 = tail call <4 x float> @llvm.x86.avx512.mask3.vfmsub.ss(<4 x float> %__W, <4 x float> %sub, <4…
2526 ret <4 x float> %0
2531 ; X86: ## %bb.0: ## %entry
2532 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2533 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2534 ; X86-NEXT: vfmadd213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xa9,0xc2]
2536 ; X86-NEXT: retl ## encoding: [0xc3]
2539 ; X64: ## %bb.0: ## %entry
2540 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2541 ; X64-NEXT: vfmadd213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xa9,0xc2]
2543 ; X64-NEXT: retq ## encoding: [0xc3]
2545 %0 = extractelement <2 x double> %__W, i64 0
2546 %1 = extractelement <2 x double> %__A, i64 0
2547 %2 = extractelement <2 x double> %__B, i64 0
2548 %3 = tail call double @llvm.fma.f64(double %0, double %1, double %2) #10
2550 %tobool.i = icmp eq i8 %4, 0
2551 %vecext1.i = extractelement <2 x double> %__W, i32 0
2553 %vecins.i = insertelement <2 x double> %__W, double %cond.i, i32 0
2559 ; X86: ## %bb.0: ## %entry
2560 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2561 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2562 ; X86-NEXT: vfmadd213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xa9,0xc2]
2564 ; X86-NEXT: retl ## encoding: [0xc3]
2567 ; X64: ## %bb.0: ## %entry
2568 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2569 ; X64-NEXT: vfmadd213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xa9,0xc2]
2571 ; X64-NEXT: retq ## encoding: [0xc3]
2573 …%0 = tail call <2 x double> @llvm.x86.avx512.mask.vfmadd.sd(<2 x double> %__W, <2 x double> %__A, …
2574 ret <2 x double> %0
2581 ; X86: ## %bb.0: ## %entry
2582 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2583 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2584 ; X86-NEXT: vfmadd213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xa9,0xc…
2586 ; X86-NEXT: retl ## encoding: [0xc3]
2589 ; X64: ## %bb.0: ## %entry
2590 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2591 ; X64-NEXT: vfmadd213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xa9,0xc…
2593 ; X64-NEXT: retq ## encoding: [0xc3]
2595 %0 = extractelement <2 x double> %__A, i64 0
2596 %1 = extractelement <2 x double> %__B, i64 0
2597 %2 = extractelement <2 x double> %__C, i64 0
2598 %3 = tail call double @llvm.fma.f64(double %0, double %1, double %2) #10
2600 %tobool.i = icmp eq i8 %4, 0
2602 %vecins.i = insertelement <2 x double> %__A, double %cond.i, i32 0
2608 ; X86: ## %bb.0: ## %entry
2609 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2610 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2611 ; X86-NEXT: vfmadd213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xa9,0xc…
2613 ; X86-NEXT: retl ## encoding: [0xc3]
2616 ; X64: ## %bb.0: ## %entry
2617 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2618 ; X64-NEXT: vfmadd213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xa9,0xc…
2620 ; X64-NEXT: retq ## encoding: [0xc3]
2622 …%0 = tail call <2 x double> @llvm.x86.avx512.maskz.vfmadd.sd(<2 x double> %__A, <2 x double> %__B,…
2623 ret <2 x double> %0
2630 ; X86: ## %bb.0: ## %entry
2631 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2632 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2633 ; X86-NEXT: vfmadd231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xb9,0xd1]
2635 ; X86-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
2636 ; X86-NEXT: retl ## encoding: [0xc3]
2639 ; X64: ## %bb.0: ## %entry
2640 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2641 ; X64-NEXT: vfmadd231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xb9,0xd1]
2643 ; X64-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
2644 ; X64-NEXT: retq ## encoding: [0xc3]
2646 %0 = extractelement <2 x double> %__W, i64 0
2647 %1 = extractelement <2 x double> %__X, i64 0
2648 %2 = extractelement <2 x double> %__Y, i64 0
2649 %3 = tail call double @llvm.fma.f64(double %0, double %1, double %2) #10
2651 %tobool.i = icmp eq i8 %4, 0
2652 %vecext1.i = extractelement <2 x double> %__Y, i32 0
2654 %vecins.i = insertelement <2 x double> %__Y, double %cond.i, i32 0
2660 ; X86: ## %bb.0: ## %entry
2661 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2662 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2663 ; X86-NEXT: vfmadd231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xb9,0xd1]
2665 ; X86-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
2666 ; X86-NEXT: retl ## encoding: [0xc3]
2669 ; X64: ## %bb.0: ## %entry
2670 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2671 ; X64-NEXT: vfmadd231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xb9,0xd1]
2673 ; X64-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
2674 ; X64-NEXT: retq ## encoding: [0xc3]
2676 …%0 = tail call <2 x double> @llvm.x86.avx512.mask3.vfmadd.sd(<2 x double> %__W, <2 x double> %__X,…
2677 ret <2 x double> %0
2684 ; X86: ## %bb.0: ## %entry
2685 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2686 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2687 ; X86-NEXT: vfmsub213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xab,0xc2]
2689 ; X86-NEXT: retl ## encoding: [0xc3]
2692 ; X64: ## %bb.0: ## %entry
2693 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2694 ; X64-NEXT: vfmsub213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xab,0xc2]
2696 ; X64-NEXT: retq ## encoding: [0xc3]
2698 %0 = extractelement <2 x double> %__W, i64 0
2699 %1 = extractelement <2 x double> %__A, i64 0
2700 %.rhs.i = extractelement <2 x double> %__B, i64 0
2702 %3 = tail call double @llvm.fma.f64(double %0, double %1, double %2) #10
2704 %tobool.i = icmp eq i8 %4, 0
2705 %vecext1.i = extractelement <2 x double> %__W, i32 0
2707 %vecins.i = insertelement <2 x double> %__W, double %cond.i, i32 0
2713 ; X86: ## %bb.0: ## %entry
2714 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2715 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2716 ; X86-NEXT: vfmsub213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xab,0xc2]
2718 ; X86-NEXT: retl ## encoding: [0xc3]
2721 ; X64: ## %bb.0: ## %entry
2722 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2723 ; X64-NEXT: vfmsub213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xab,0xc2]
2725 ; X64-NEXT: retq ## encoding: [0xc3]
2728 …%0 = tail call <2 x double> @llvm.x86.avx512.mask.vfmadd.sd(<2 x double> %__W, <2 x double> %__A, …
2729 ret <2 x double> %0
2734 ; X86: ## %bb.0: ## %entry
2735 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2736 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2737 ; X86-NEXT: vfmsub213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xab,0xc…
2739 ; X86-NEXT: retl ## encoding: [0xc3]
2742 ; X64: ## %bb.0: ## %entry
2743 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2744 ; X64-NEXT: vfmsub213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xab,0xc…
2746 ; X64-NEXT: retq ## encoding: [0xc3]
2748 %0 = extractelement <2 x double> %__A, i64 0
2749 %1 = extractelement <2 x double> %__B, i64 0
2750 %.rhs.i = extractelement <2 x double> %__C, i64 0
2752 %3 = tail call double @llvm.fma.f64(double %0, double %1, double %2) #10
2754 %tobool.i = icmp eq i8 %4, 0
2756 %vecins.i = insertelement <2 x double> %__A, double %cond.i, i32 0
2762 ; X86: ## %bb.0: ## %entry
2763 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2764 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2765 ; X86-NEXT: vfmsub213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xab,0xc…
2767 ; X86-NEXT: retl ## encoding: [0xc3]
2770 ; X64: ## %bb.0: ## %entry
2771 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2772 ; X64-NEXT: vfmsub213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xab,0xc…
2774 ; X64-NEXT: retq ## encoding: [0xc3]
2777 …%0 = tail call <2 x double> @llvm.x86.avx512.maskz.vfmadd.sd(<2 x double> %__A, <2 x double> %__B,…
2778 ret <2 x double> %0
2783 ; X86: ## %bb.0: ## %entry
2784 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2785 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2786 ; X86-NEXT: vfmsub231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xbb,0xd1]
2788 ; X86-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
2789 ; X86-NEXT: retl ## encoding: [0xc3]
2792 ; X64: ## %bb.0: ## %entry
2793 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2794 ; X64-NEXT: vfmsub231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xbb,0xd1]
2796 ; X64-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
2797 ; X64-NEXT: retq ## encoding: [0xc3]
2799 %0 = extractelement <2 x double> %__W, i64 0
2800 %1 = extractelement <2 x double> %__X, i64 0
2801 %.rhs.i = extractelement <2 x double> %__Y, i64 0
2803 %3 = tail call double @llvm.fma.f64(double %0, double %1, double %2) #10
2805 %tobool.i = icmp eq i8 %4, 0
2806 %vecext1.i = extractelement <2 x double> %__Y, i32 0
2808 %vecins.i = insertelement <2 x double> %__Y, double %cond.i, i32 0
2814 ; X86: ## %bb.0: ## %entry
2815 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2816 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2817 ; X86-NEXT: vfmsub231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xbb,0xd1]
2819 ; X86-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
2820 ; X86-NEXT: retl ## encoding: [0xc3]
2823 ; X64: ## %bb.0: ## %entry
2824 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2825 ; X64-NEXT: vfmsub231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xbb,0xd1]
2827 ; X64-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
2828 ; X64-NEXT: retq ## encoding: [0xc3]
2830 …%0 = tail call <2 x double> @llvm.x86.avx512.mask3.vfmsub.sd(<2 x double> %__W, <2 x double> %__X,…
2831 ret <2 x double> %0
2838 ; X86: ## %bb.0: ## %entry
2839 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2840 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2841 ; X86-NEXT: vfnmadd213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xad,0xc2]
2843 ; X86-NEXT: retl ## encoding: [0xc3]
2846 ; X64: ## %bb.0: ## %entry
2847 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2848 ; X64-NEXT: vfnmadd213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xad,0xc2]
2850 ; X64-NEXT: retq ## encoding: [0xc3]
2852 %0 = extractelement <2 x double> %__W, i64 0
2853 %.rhs.i = extractelement <2 x double> %__A, i64 0
2855 %2 = extractelement <2 x double> %__B, i64 0
2856 %3 = tail call double @llvm.fma.f64(double %0, double %1, double %2) #10
2858 %tobool.i = icmp eq i8 %4, 0
2859 %vecext1.i = extractelement <2 x double> %__W, i32 0
2861 %vecins.i = insertelement <2 x double> %__W, double %cond.i, i32 0
2867 ; X86: ## %bb.0: ## %entry
2868 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2869 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2870 ; X86-NEXT: vfnmadd213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xad,0xc2]
2872 ; X86-NEXT: retl ## encoding: [0xc3]
2875 ; X64: ## %bb.0: ## %entry
2876 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2877 ; X64-NEXT: vfnmadd213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xad,0xc2]
2879 ; X64-NEXT: retq ## encoding: [0xc3]
2882 …%0 = tail call <2 x double> @llvm.x86.avx512.mask.vfmadd.sd(<2 x double> %__W, <2 x double> %sub, …
2883 ret <2 x double> %0
2888 ; X86: ## %bb.0: ## %entry
2889 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2890 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2891 ; X86-NEXT: vfnmadd213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xad,0x…
2893 ; X86-NEXT: retl ## encoding: [0xc3]
2896 ; X64: ## %bb.0: ## %entry
2897 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2898 ; X64-NEXT: vfnmadd213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xad,0x…
2900 ; X64-NEXT: retq ## encoding: [0xc3]
2902 %0 = extractelement <2 x double> %__A, i64 0
2903 %.rhs.i = extractelement <2 x double> %__B, i64 0
2905 %2 = extractelement <2 x double> %__C, i64 0
2906 %3 = tail call double @llvm.fma.f64(double %0, double %1, double %2) #10
2908 %tobool.i = icmp eq i8 %4, 0
2910 %vecins.i = insertelement <2 x double> %__A, double %cond.i, i32 0
2916 ; X86: ## %bb.0: ## %entry
2917 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2918 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2919 ; X86-NEXT: vfnmadd213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xad,0x…
2921 ; X86-NEXT: retl ## encoding: [0xc3]
2924 ; X64: ## %bb.0: ## %entry
2925 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2926 ; X64-NEXT: vfnmadd213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xad,0x…
2928 ; X64-NEXT: retq ## encoding: [0xc3]
2931 …%0 = tail call <2 x double> @llvm.x86.avx512.maskz.vfmadd.sd(<2 x double> %__A, <2 x double> %sub,…
2932 ret <2 x double> %0
2937 ; X86: ## %bb.0: ## %entry
2938 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2939 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2940 ; X86-NEXT: vfnmadd231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xbd,0xd1]
2942 ; X86-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
2943 ; X86-NEXT: retl ## encoding: [0xc3]
2946 ; X64: ## %bb.0: ## %entry
2947 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2948 ; X64-NEXT: vfnmadd231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xbd,0xd1]
2950 ; X64-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
2951 ; X64-NEXT: retq ## encoding: [0xc3]
2953 %0 = extractelement <2 x double> %__W, i64 0
2954 %.rhs.i = extractelement <2 x double> %__X, i64 0
2956 %2 = extractelement <2 x double> %__Y, i64 0
2957 %3 = tail call double @llvm.fma.f64(double %0, double %1, double %2) #10
2959 %tobool.i = icmp eq i8 %4, 0
2960 %vecext1.i = extractelement <2 x double> %__Y, i32 0
2962 %vecins.i = insertelement <2 x double> %__Y, double %cond.i, i32 0
2968 ; X86: ## %bb.0: ## %entry
2969 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2970 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2971 ; X86-NEXT: vfnmadd231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xbd,0xd1]
2973 ; X86-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
2974 ; X86-NEXT: retl ## encoding: [0xc3]
2977 ; X64: ## %bb.0: ## %entry
2978 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
2979 ; X64-NEXT: vfnmadd231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xbd,0xd1]
2981 ; X64-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
2982 ; X64-NEXT: retq ## encoding: [0xc3]
2985 …%0 = tail call <2 x double> @llvm.x86.avx512.mask3.vfmadd.sd(<2 x double> %__W, <2 x double> %sub,…
2986 ret <2 x double> %0
2991 ; X86: ## %bb.0: ## %entry
2992 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
2993 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
2994 ; X86-NEXT: vfnmsub213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xaf,0xc2]
2996 ; X86-NEXT: retl ## encoding: [0xc3]
2999 ; X64: ## %bb.0: ## %entry
3000 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3001 ; X64-NEXT: vfnmsub213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xaf,0xc2]
3003 ; X64-NEXT: retq ## encoding: [0xc3]
3005 %0 = extractelement <2 x double> %__W, i64 0
3006 %.rhs.i = extractelement <2 x double> %__A, i64 0
3008 %.rhs7.i = extractelement <2 x double> %__B, i64 0
3010 %3 = tail call double @llvm.fma.f64(double %0, double %1, double %2) #10
3012 %tobool.i = icmp eq i8 %4, 0
3013 %vecext2.i = extractelement <2 x double> %__W, i32 0
3015 %vecins.i = insertelement <2 x double> %__W, double %cond.i, i32 0
3021 ; X86: ## %bb.0: ## %entry
3022 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3023 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3024 ; X86-NEXT: vfnmsub213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xaf,0xc2]
3026 ; X86-NEXT: retl ## encoding: [0xc3]
3029 ; X64: ## %bb.0: ## %entry
3030 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3031 ; X64-NEXT: vfnmsub213sd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf2,0xf5,0x09,0xaf,0xc2]
3033 ; X64-NEXT: retq ## encoding: [0xc3]
3037 …%0 = tail call <2 x double> @llvm.x86.avx512.mask.vfmadd.sd(<2 x double> %__W, <2 x double> %sub, …
3038 ret <2 x double> %0
3043 ; X86: ## %bb.0: ## %entry
3044 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3045 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3046 ; X86-NEXT: vfnmsub213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xaf,0x…
3048 ; X86-NEXT: retl ## encoding: [0xc3]
3051 ; X64: ## %bb.0: ## %entry
3052 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3053 ; X64-NEXT: vfnmsub213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xaf,0x…
3055 ; X64-NEXT: retq ## encoding: [0xc3]
3057 %0 = extractelement <2 x double> %__A, i64 0
3058 %.rhs.i = extractelement <2 x double> %__B, i64 0
3060 %.rhs5.i = extractelement <2 x double> %__C, i64 0
3062 %3 = tail call double @llvm.fma.f64(double %0, double %1, double %2) #10
3064 %tobool.i = icmp eq i8 %4, 0
3066 %vecins.i = insertelement <2 x double> %__A, double %cond.i, i32 0
3072 ; X86: ## %bb.0: ## %entry
3073 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3074 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3075 ; X86-NEXT: vfnmsub213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xaf,0x…
3077 ; X86-NEXT: retl ## encoding: [0xc3]
3080 ; X64: ## %bb.0: ## %entry
3081 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3082 ; X64-NEXT: vfnmsub213sd %xmm2, %xmm1, %xmm0 {%k1} {z} ## encoding: [0x62,0xf2,0xf5,0x89,0xaf,0x…
3084 ; X64-NEXT: retq ## encoding: [0xc3]
3088 …%0 = tail call <2 x double> @llvm.x86.avx512.maskz.vfmadd.sd(<2 x double> %__A, <2 x double> %sub,…
3089 ret <2 x double> %0
3094 ; X86: ## %bb.0: ## %entry
3095 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3096 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3097 ; X86-NEXT: vfnmsub231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xbf,0xd1]
3099 ; X86-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
3100 ; X86-NEXT: retl ## encoding: [0xc3]
3103 ; X64: ## %bb.0: ## %entry
3104 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3105 ; X64-NEXT: vfnmsub231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xbf,0xd1]
3107 ; X64-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
3108 ; X64-NEXT: retq ## encoding: [0xc3]
3110 %0 = extractelement <2 x double> %__W, i64 0
3111 %.rhs.i = extractelement <2 x double> %__X, i64 0
3113 %.rhs7.i = extractelement <2 x double> %__Y, i64 0
3115 %3 = tail call double @llvm.fma.f64(double %0, double %1, double %2) #10
3117 %tobool.i = icmp eq i8 %4, 0
3118 %vecext2.i = extractelement <2 x double> %__Y, i32 0
3120 %vecins.i = insertelement <2 x double> %__Y, double %cond.i, i32 0
3126 ; X86: ## %bb.0: ## %entry
3127 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3128 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3129 ; X86-NEXT: vfnmsub231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xbf,0xd1]
3131 ; X86-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
3132 ; X86-NEXT: retl ## encoding: [0xc3]
3135 ; X64: ## %bb.0: ## %entry
3136 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3137 ; X64-NEXT: vfnmsub231sd %xmm1, %xmm0, %xmm2 {%k1} ## encoding: [0x62,0xf2,0xfd,0x09,0xbf,0xd1]
3139 ; X64-NEXT: vmovapd %xmm2, %xmm0 ## encoding: [0xc5,0xf9,0x28,0xc2]
3140 ; X64-NEXT: retq ## encoding: [0xc3]
3143 …%0 = tail call <2 x double> @llvm.x86.avx512.mask3.vfmsub.sd(<2 x double> %__W, <2 x double> %sub,…
3144 ret <2 x double> %0
3149 ; X86: ## %bb.0: ## %entry
3150 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3151 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3152 ; X86-NEXT: vaddss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0x76,0x09,0x58,0xc2]
3153 ; X86-NEXT: retl ## encoding: [0xc3]
3156 ; X64: ## %bb.0: ## %entry
3157 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3158 ; X64-NEXT: vaddss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0x76,0x09,0x58,0xc2]
3159 ; X64-NEXT: retq ## encoding: [0xc3]
3161 %vecext.i.i = extractelement <4 x float> %__B, i32 0
3162 %vecext1.i.i = extractelement <4 x float> %__A, i32 0
3164 %0 = and i8 %__U, 1
3165 %tobool.i = icmp eq i8 %0, 0
3166 %vecext1.i = extractelement <4 x float> %__W, i32 0
3168 %vecins.i = insertelement <4 x float> %__A, float %cond.i, i32 0
3174 ; X86: ## %bb.0: ## %entry
3175 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3176 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3177 ; X86-NEXT: vaddss %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0x7e,0x89,0x58,0xc1]
3178 ; X86-NEXT: retl ## encoding: [0xc3]
3181 ; X64: ## %bb.0: ## %entry
3182 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3183 ; X64-NEXT: vaddss %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0x7e,0x89,0x58,0xc1]
3184 ; X64-NEXT: retq ## encoding: [0xc3]
3186 %vecext.i.i = extractelement <4 x float> %__B, i32 0
3187 %vecext1.i.i = extractelement <4 x float> %__A, i32 0
3189 %0 = and i8 %__U, 1
3190 %tobool.i = icmp eq i8 %0, 0
3192 %vecins.i = insertelement <4 x float> %__A, float %cond.i, i32 0
3198 ; X86: ## %bb.0: ## %entry
3199 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3200 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3201 ; X86-NEXT: vaddsd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0xf7,0x09,0x58,0xc2]
3202 ; X86-NEXT: retl ## encoding: [0xc3]
3205 ; X64: ## %bb.0: ## %entry
3206 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3207 ; X64-NEXT: vaddsd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0xf7,0x09,0x58,0xc2]
3208 ; X64-NEXT: retq ## encoding: [0xc3]
3210 %vecext.i.i = extractelement <2 x double> %__B, i32 0
3211 %vecext1.i.i = extractelement <2 x double> %__A, i32 0
3213 %0 = and i8 %__U, 1
3214 %tobool.i = icmp eq i8 %0, 0
3215 %vecext1.i = extractelement <2 x double> %__W, i32 0
3217 %vecins.i = insertelement <2 x double> %__A, double %cond.i, i32 0
3223 ; X86: ## %bb.0: ## %entry
3224 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3225 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3226 ; X86-NEXT: vaddsd %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0xff,0x89,0x58,0xc1]
3227 ; X86-NEXT: retl ## encoding: [0xc3]
3230 ; X64: ## %bb.0: ## %entry
3231 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3232 ; X64-NEXT: vaddsd %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0xff,0x89,0x58,0xc1]
3233 ; X64-NEXT: retq ## encoding: [0xc3]
3235 %vecext.i.i = extractelement <2 x double> %__B, i32 0
3236 %vecext1.i.i = extractelement <2 x double> %__A, i32 0
3238 %0 = and i8 %__U, 1
3239 %tobool.i = icmp eq i8 %0, 0
3241 %vecins.i = insertelement <2 x double> %__A, double %cond.i, i32 0
3247 ; X86: ## %bb.0: ## %entry
3248 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3249 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3250 ; X86-NEXT: vsubss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0x76,0x09,0x5c,0xc2]
3251 ; X86-NEXT: retl ## encoding: [0xc3]
3254 ; X64: ## %bb.0: ## %entry
3255 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3256 ; X64-NEXT: vsubss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0x76,0x09,0x5c,0xc2]
3257 ; X64-NEXT: retq ## encoding: [0xc3]
3259 %vecext.i.i = extractelement <4 x float> %__B, i32 0
3260 %vecext1.i.i = extractelement <4 x float> %__A, i32 0
3262 %0 = and i8 %__U, 1
3263 %tobool.i = icmp eq i8 %0, 0
3264 %vecext1.i = extractelement <4 x float> %__W, i32 0
3266 %vecins.i = insertelement <4 x float> %__A, float %cond.i, i32 0
3272 ; X86: ## %bb.0: ## %entry
3273 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3274 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3275 ; X86-NEXT: vsubss %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0x7e,0x89,0x5c,0xc1]
3276 ; X86-NEXT: retl ## encoding: [0xc3]
3279 ; X64: ## %bb.0: ## %entry
3280 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3281 ; X64-NEXT: vsubss %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0x7e,0x89,0x5c,0xc1]
3282 ; X64-NEXT: retq ## encoding: [0xc3]
3284 %vecext.i.i = extractelement <4 x float> %__B, i32 0
3285 %vecext1.i.i = extractelement <4 x float> %__A, i32 0
3287 %0 = and i8 %__U, 1
3288 %tobool.i = icmp eq i8 %0, 0
3290 %vecins.i = insertelement <4 x float> %__A, float %cond.i, i32 0
3296 ; X86: ## %bb.0: ## %entry
3297 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3298 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3299 ; X86-NEXT: vsubsd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0xf7,0x09,0x5c,0xc2]
3300 ; X86-NEXT: retl ## encoding: [0xc3]
3303 ; X64: ## %bb.0: ## %entry
3304 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3305 ; X64-NEXT: vsubsd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0xf7,0x09,0x5c,0xc2]
3306 ; X64-NEXT: retq ## encoding: [0xc3]
3308 %vecext.i.i = extractelement <2 x double> %__B, i32 0
3309 %vecext1.i.i = extractelement <2 x double> %__A, i32 0
3311 %0 = and i8 %__U, 1
3312 %tobool.i = icmp eq i8 %0, 0
3313 %vecext1.i = extractelement <2 x double> %__W, i32 0
3315 %vecins.i = insertelement <2 x double> %__A, double %cond.i, i32 0
3321 ; X86: ## %bb.0: ## %entry
3322 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3323 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3324 ; X86-NEXT: vsubsd %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0xff,0x89,0x5c,0xc1]
3325 ; X86-NEXT: retl ## encoding: [0xc3]
3328 ; X64: ## %bb.0: ## %entry
3329 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3330 ; X64-NEXT: vsubsd %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0xff,0x89,0x5c,0xc1]
3331 ; X64-NEXT: retq ## encoding: [0xc3]
3333 %vecext.i.i = extractelement <2 x double> %__B, i32 0
3334 %vecext1.i.i = extractelement <2 x double> %__A, i32 0
3336 %0 = and i8 %__U, 1
3337 %tobool.i = icmp eq i8 %0, 0
3339 %vecins.i = insertelement <2 x double> %__A, double %cond.i, i32 0
3345 ; X86: ## %bb.0: ## %entry
3346 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3347 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3348 ; X86-NEXT: vmulss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0x76,0x09,0x59,0xc2]
3349 ; X86-NEXT: retl ## encoding: [0xc3]
3352 ; X64: ## %bb.0: ## %entry
3353 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3354 ; X64-NEXT: vmulss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0x76,0x09,0x59,0xc2]
3355 ; X64-NEXT: retq ## encoding: [0xc3]
3357 %vecext.i.i = extractelement <4 x float> %__B, i32 0
3358 %vecext1.i.i = extractelement <4 x float> %__A, i32 0
3360 %0 = and i8 %__U, 1
3361 %tobool.i = icmp eq i8 %0, 0
3362 %vecext1.i = extractelement <4 x float> %__W, i32 0
3364 %vecins.i = insertelement <4 x float> %__A, float %cond.i, i32 0
3370 ; X86: ## %bb.0: ## %entry
3371 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3372 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3373 ; X86-NEXT: vmulss %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0x7e,0x89,0x59,0xc1]
3374 ; X86-NEXT: retl ## encoding: [0xc3]
3377 ; X64: ## %bb.0: ## %entry
3378 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3379 ; X64-NEXT: vmulss %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0x7e,0x89,0x59,0xc1]
3380 ; X64-NEXT: retq ## encoding: [0xc3]
3382 %vecext.i.i = extractelement <4 x float> %__B, i32 0
3383 %vecext1.i.i = extractelement <4 x float> %__A, i32 0
3385 %0 = and i8 %__U, 1
3386 %tobool.i = icmp eq i8 %0, 0
3388 %vecins.i = insertelement <4 x float> %__A, float %cond.i, i32 0
3394 ; X86: ## %bb.0: ## %entry
3395 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3396 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3397 ; X86-NEXT: vmulsd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0xf7,0x09,0x59,0xc2]
3398 ; X86-NEXT: retl ## encoding: [0xc3]
3401 ; X64: ## %bb.0: ## %entry
3402 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3403 ; X64-NEXT: vmulsd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0xf7,0x09,0x59,0xc2]
3404 ; X64-NEXT: retq ## encoding: [0xc3]
3406 %vecext.i.i = extractelement <2 x double> %__B, i32 0
3407 %vecext1.i.i = extractelement <2 x double> %__A, i32 0
3409 %0 = and i8 %__U, 1
3410 %tobool.i = icmp eq i8 %0, 0
3411 %vecext1.i = extractelement <2 x double> %__W, i32 0
3413 %vecins.i = insertelement <2 x double> %__A, double %cond.i, i32 0
3419 ; X86: ## %bb.0: ## %entry
3420 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3421 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3422 ; X86-NEXT: vmulsd %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0xff,0x89,0x59,0xc1]
3423 ; X86-NEXT: retl ## encoding: [0xc3]
3426 ; X64: ## %bb.0: ## %entry
3427 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3428 ; X64-NEXT: vmulsd %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0xff,0x89,0x59,0xc1]
3429 ; X64-NEXT: retq ## encoding: [0xc3]
3431 %vecext.i.i = extractelement <2 x double> %__B, i32 0
3432 %vecext1.i.i = extractelement <2 x double> %__A, i32 0
3434 %0 = and i8 %__U, 1
3435 %tobool.i = icmp eq i8 %0, 0
3437 %vecins.i = insertelement <2 x double> %__A, double %cond.i, i32 0
3443 ; X86: ## %bb.0: ## %entry
3444 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3445 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3446 ; X86-NEXT: vdivss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0x76,0x09,0x5e,0xc2]
3447 ; X86-NEXT: retl ## encoding: [0xc3]
3450 ; X64: ## %bb.0: ## %entry
3451 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3452 ; X64-NEXT: vdivss %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0x76,0x09,0x5e,0xc2]
3453 ; X64-NEXT: retq ## encoding: [0xc3]
3455 %0 = extractelement <4 x float> %__A, i64 0
3456 %1 = extractelement <4 x float> %__B, i64 0
3457 %2 = extractelement <4 x float> %__W, i64 0
3458 %3 = fdiv float %0, %1
3460 %5 = extractelement <8 x i1> %4, i64 0
3462 %7 = insertelement <4 x float> %__A, float %6, i64 0
3468 ; X86: ## %bb.0: ## %entry
3469 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3470 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3471 ; X86-NEXT: vdivss %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0x7e,0x89,0x5e,0xc1]
3472 ; X86-NEXT: retl ## encoding: [0xc3]
3475 ; X64: ## %bb.0: ## %entry
3476 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3477 ; X64-NEXT: vdivss %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0x7e,0x89,0x5e,0xc1]
3478 ; X64-NEXT: retq ## encoding: [0xc3]
3480 %0 = extractelement <4 x float> %__A, i64 0
3481 %1 = extractelement <4 x float> %__B, i64 0
3482 %2 = fdiv float %0, %1
3484 %4 = extractelement <8 x i1> %3, i64 0
3486 %6 = insertelement <4 x float> %__A, float %5, i64 0
3492 ; X86: ## %bb.0: ## %entry
3493 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3494 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3495 ; X86-NEXT: vdivsd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0xf7,0x09,0x5e,0xc2]
3496 ; X86-NEXT: retl ## encoding: [0xc3]
3499 ; X64: ## %bb.0: ## %entry
3500 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3501 ; X64-NEXT: vdivsd %xmm2, %xmm1, %xmm0 {%k1} ## encoding: [0x62,0xf1,0xf7,0x09,0x5e,0xc2]
3502 ; X64-NEXT: retq ## encoding: [0xc3]
3504 %0 = extractelement <2 x double> %__A, i64 0
3505 %1 = extractelement <2 x double> %__B, i64 0
3506 %2 = extractelement <2 x double> %__W, i64 0
3507 %3 = fdiv double %0, %1
3509 %5 = extractelement <8 x i1> %4, i64 0
3511 %7 = insertelement <2 x double> %__A, double %6, i64 0
3517 ; X86: ## %bb.0: ## %entry
3518 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax ## encoding: [0x0f,0xb6,0x44,0x24,0x04]
3519 ; X86-NEXT: kmovw %eax, %k1 ## encoding: [0xc5,0xf8,0x92,0xc8]
3520 ; X86-NEXT: vdivsd %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0xff,0x89,0x5e,0xc1]
3521 ; X86-NEXT: retl ## encoding: [0xc3]
3524 ; X64: ## %bb.0: ## %entry
3525 ; X64-NEXT: kmovw %edi, %k1 ## encoding: [0xc5,0xf8,0x92,0xcf]
3526 ; X64-NEXT: vdivsd %xmm1, %xmm0, %xmm0 {%k1} {z} ## encoding: [0x62,0xf1,0xff,0x89,0x5e,0xc1]
3527 ; X64-NEXT: retq ## encoding: [0xc3]
3529 %0 = extractelement <2 x double> %__A, i64 0
3530 %1 = extractelement <2 x double> %__B, i64 0
3531 %2 = fdiv double %0, %1
3533 %4 = extractelement <8 x i1> %3, i64 0
3535 %6 = insertelement <2 x double> %__A, double %5, i64 0