11; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2- ; RUN: llc < %s -mtriple=i686-unknown -mattr=+sse4.1 -show-mc-encoding | FileCheck %s --check-prefixes=SSE,X32 -SSE
3- ; RUN: llc < %s -mtriple=i686-unknown -mattr=+avx -show-mc-encoding | FileCheck %s --check-prefixes=AVX,X32 -AVX
4- ; RUN: llc < %s -mtriple=i686-unknown -mattr=+avx512vl -show-mc-encoding | FileCheck %s --check-prefixes=AVX512VL,X32 -AVX512VL
2+ ; RUN: llc < %s -mtriple=i686-unknown -mattr=+sse4.1 -show-mc-encoding | FileCheck %s --check-prefixes=SSE,X86 -SSE
3+ ; RUN: llc < %s -mtriple=i686-unknown -mattr=+avx -show-mc-encoding | FileCheck %s --check-prefixes=AVX,X86 -AVX
4+ ; RUN: llc < %s -mtriple=i686-unknown -mattr=+avx512vl -show-mc-encoding | FileCheck %s --check-prefixes=AVX512VL,X86 -AVX512VL
55; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse4.1 -show-mc-encoding | FileCheck %s --check-prefixes=SSE,X64-SSE
66; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx -show-mc-encoding | FileCheck %s --check-prefixes=AVX,X64-AVX
77; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+avx512vl -show-mc-encoding | FileCheck %s --check-prefixes=AVX512VL,X64-AVX512VL
@@ -76,29 +76,29 @@ define <4 x double> @fpext_8f32_to_4f64(<8 x float> %a) {
7676
7777; PR11674
7878define void @fpext_frommem (ptr %in , ptr %out ) {
79- ; X32 -SSE-LABEL: fpext_frommem:
80- ; X32 -SSE: # %bb.0: # %entry
81- ; X32 -SSE-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
82- ; X32 -SSE-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
83- ; X32 -SSE-NEXT: cvtps2pd (%ecx), %xmm0 # encoding: [0x0f,0x5a,0x01]
84- ; X32 -SSE-NEXT: movups %xmm0, (%eax) # encoding: [0x0f,0x11,0x00]
85- ; X32 -SSE-NEXT: retl # encoding: [0xc3]
79+ ; X86 -SSE-LABEL: fpext_frommem:
80+ ; X86 -SSE: # %bb.0: # %entry
81+ ; X86 -SSE-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
82+ ; X86 -SSE-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
83+ ; X86 -SSE-NEXT: cvtps2pd (%ecx), %xmm0 # encoding: [0x0f,0x5a,0x01]
84+ ; X86 -SSE-NEXT: movups %xmm0, (%eax) # encoding: [0x0f,0x11,0x00]
85+ ; X86 -SSE-NEXT: retl # encoding: [0xc3]
8686;
87- ; X32 -AVX-LABEL: fpext_frommem:
88- ; X32 -AVX: # %bb.0: # %entry
89- ; X32 -AVX-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
90- ; X32 -AVX-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
91- ; X32 -AVX-NEXT: vcvtps2pd (%ecx), %xmm0 # encoding: [0xc5,0xf8,0x5a,0x01]
92- ; X32 -AVX-NEXT: vmovups %xmm0, (%eax) # encoding: [0xc5,0xf8,0x11,0x00]
93- ; X32 -AVX-NEXT: retl # encoding: [0xc3]
87+ ; X86 -AVX-LABEL: fpext_frommem:
88+ ; X86 -AVX: # %bb.0: # %entry
89+ ; X86 -AVX-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
90+ ; X86 -AVX-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
91+ ; X86 -AVX-NEXT: vcvtps2pd (%ecx), %xmm0 # encoding: [0xc5,0xf8,0x5a,0x01]
92+ ; X86 -AVX-NEXT: vmovups %xmm0, (%eax) # encoding: [0xc5,0xf8,0x11,0x00]
93+ ; X86 -AVX-NEXT: retl # encoding: [0xc3]
9494;
95- ; X32 -AVX512VL-LABEL: fpext_frommem:
96- ; X32 -AVX512VL: # %bb.0: # %entry
97- ; X32 -AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
98- ; X32 -AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
99- ; X32 -AVX512VL-NEXT: vcvtps2pd (%ecx), %xmm0 # EVEX TO VEX Compression encoding: [0xc5,0xf8,0x5a,0x01]
100- ; X32 -AVX512VL-NEXT: vmovups %xmm0, (%eax) # EVEX TO VEX Compression encoding: [0xc5,0xf8,0x11,0x00]
101- ; X32 -AVX512VL-NEXT: retl # encoding: [0xc3]
95+ ; X86 -AVX512VL-LABEL: fpext_frommem:
96+ ; X86 -AVX512VL: # %bb.0: # %entry
97+ ; X86 -AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
98+ ; X86 -AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
99+ ; X86 -AVX512VL-NEXT: vcvtps2pd (%ecx), %xmm0 # EVEX TO VEX Compression encoding: [0xc5,0xf8,0x5a,0x01]
100+ ; X86 -AVX512VL-NEXT: vmovups %xmm0, (%eax) # EVEX TO VEX Compression encoding: [0xc5,0xf8,0x11,0x00]
101+ ; X86 -AVX512VL-NEXT: retl # encoding: [0xc3]
102102;
103103; X64-SSE-LABEL: fpext_frommem:
104104; X64-SSE: # %bb.0: # %entry
@@ -125,33 +125,33 @@ entry:
125125}
126126
127127define void @fpext_frommem4 (ptr %in , ptr %out ) {
128- ; X32 -SSE-LABEL: fpext_frommem4:
129- ; X32 -SSE: # %bb.0: # %entry
130- ; X32 -SSE-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
131- ; X32 -SSE-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
132- ; X32 -SSE-NEXT: cvtps2pd (%ecx), %xmm0 # encoding: [0x0f,0x5a,0x01]
133- ; X32 -SSE-NEXT: cvtps2pd 8(%ecx), %xmm1 # encoding: [0x0f,0x5a,0x49,0x08]
134- ; X32 -SSE-NEXT: movups %xmm1, 16(%eax) # encoding: [0x0f,0x11,0x48,0x10]
135- ; X32 -SSE-NEXT: movups %xmm0, (%eax) # encoding: [0x0f,0x11,0x00]
136- ; X32 -SSE-NEXT: retl # encoding: [0xc3]
128+ ; X86 -SSE-LABEL: fpext_frommem4:
129+ ; X86 -SSE: # %bb.0: # %entry
130+ ; X86 -SSE-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
131+ ; X86 -SSE-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
132+ ; X86 -SSE-NEXT: cvtps2pd (%ecx), %xmm0 # encoding: [0x0f,0x5a,0x01]
133+ ; X86 -SSE-NEXT: cvtps2pd 8(%ecx), %xmm1 # encoding: [0x0f,0x5a,0x49,0x08]
134+ ; X86 -SSE-NEXT: movups %xmm1, 16(%eax) # encoding: [0x0f,0x11,0x48,0x10]
135+ ; X86 -SSE-NEXT: movups %xmm0, (%eax) # encoding: [0x0f,0x11,0x00]
136+ ; X86 -SSE-NEXT: retl # encoding: [0xc3]
137137;
138- ; X32 -AVX-LABEL: fpext_frommem4:
139- ; X32 -AVX: # %bb.0: # %entry
140- ; X32 -AVX-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
141- ; X32 -AVX-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
142- ; X32 -AVX-NEXT: vcvtps2pd (%ecx), %ymm0 # encoding: [0xc5,0xfc,0x5a,0x01]
143- ; X32 -AVX-NEXT: vmovups %ymm0, (%eax) # encoding: [0xc5,0xfc,0x11,0x00]
144- ; X32 -AVX-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
145- ; X32 -AVX-NEXT: retl # encoding: [0xc3]
138+ ; X86 -AVX-LABEL: fpext_frommem4:
139+ ; X86 -AVX: # %bb.0: # %entry
140+ ; X86 -AVX-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
141+ ; X86 -AVX-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
142+ ; X86 -AVX-NEXT: vcvtps2pd (%ecx), %ymm0 # encoding: [0xc5,0xfc,0x5a,0x01]
143+ ; X86 -AVX-NEXT: vmovups %ymm0, (%eax) # encoding: [0xc5,0xfc,0x11,0x00]
144+ ; X86 -AVX-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
145+ ; X86 -AVX-NEXT: retl # encoding: [0xc3]
146146;
147- ; X32 -AVX512VL-LABEL: fpext_frommem4:
148- ; X32 -AVX512VL: # %bb.0: # %entry
149- ; X32 -AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
150- ; X32 -AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
151- ; X32 -AVX512VL-NEXT: vcvtps2pd (%ecx), %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x5a,0x01]
152- ; X32 -AVX512VL-NEXT: vmovups %ymm0, (%eax) # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x11,0x00]
153- ; X32 -AVX512VL-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
154- ; X32 -AVX512VL-NEXT: retl # encoding: [0xc3]
147+ ; X86 -AVX512VL-LABEL: fpext_frommem4:
148+ ; X86 -AVX512VL: # %bb.0: # %entry
149+ ; X86 -AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
150+ ; X86 -AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
151+ ; X86 -AVX512VL-NEXT: vcvtps2pd (%ecx), %ymm0 # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x5a,0x01]
152+ ; X86 -AVX512VL-NEXT: vmovups %ymm0, (%eax) # EVEX TO VEX Compression encoding: [0xc5,0xfc,0x11,0x00]
153+ ; X86 -AVX512VL-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
154+ ; X86 -AVX512VL-NEXT: retl # encoding: [0xc3]
155155;
156156; X64-SSE-LABEL: fpext_frommem4:
157157; X64-SSE: # %bb.0: # %entry
@@ -182,39 +182,39 @@ entry:
182182}
183183
184184define void @fpext_frommem8 (ptr %in , ptr %out ) {
185- ; X32 -SSE-LABEL: fpext_frommem8:
186- ; X32 -SSE: # %bb.0: # %entry
187- ; X32 -SSE-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
188- ; X32 -SSE-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
189- ; X32 -SSE-NEXT: cvtps2pd 8(%ecx), %xmm0 # encoding: [0x0f,0x5a,0x41,0x08]
190- ; X32 -SSE-NEXT: cvtps2pd (%ecx), %xmm1 # encoding: [0x0f,0x5a,0x09]
191- ; X32 -SSE-NEXT: cvtps2pd 24(%ecx), %xmm2 # encoding: [0x0f,0x5a,0x51,0x18]
192- ; X32 -SSE-NEXT: cvtps2pd 16(%ecx), %xmm3 # encoding: [0x0f,0x5a,0x59,0x10]
193- ; X32 -SSE-NEXT: movups %xmm3, 32(%eax) # encoding: [0x0f,0x11,0x58,0x20]
194- ; X32 -SSE-NEXT: movups %xmm2, 48(%eax) # encoding: [0x0f,0x11,0x50,0x30]
195- ; X32 -SSE-NEXT: movups %xmm1, (%eax) # encoding: [0x0f,0x11,0x08]
196- ; X32 -SSE-NEXT: movups %xmm0, 16(%eax) # encoding: [0x0f,0x11,0x40,0x10]
197- ; X32 -SSE-NEXT: retl # encoding: [0xc3]
185+ ; X86 -SSE-LABEL: fpext_frommem8:
186+ ; X86 -SSE: # %bb.0: # %entry
187+ ; X86 -SSE-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
188+ ; X86 -SSE-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
189+ ; X86 -SSE-NEXT: cvtps2pd 8(%ecx), %xmm0 # encoding: [0x0f,0x5a,0x41,0x08]
190+ ; X86 -SSE-NEXT: cvtps2pd (%ecx), %xmm1 # encoding: [0x0f,0x5a,0x09]
191+ ; X86 -SSE-NEXT: cvtps2pd 24(%ecx), %xmm2 # encoding: [0x0f,0x5a,0x51,0x18]
192+ ; X86 -SSE-NEXT: cvtps2pd 16(%ecx), %xmm3 # encoding: [0x0f,0x5a,0x59,0x10]
193+ ; X86 -SSE-NEXT: movups %xmm3, 32(%eax) # encoding: [0x0f,0x11,0x58,0x20]
194+ ; X86 -SSE-NEXT: movups %xmm2, 48(%eax) # encoding: [0x0f,0x11,0x50,0x30]
195+ ; X86 -SSE-NEXT: movups %xmm1, (%eax) # encoding: [0x0f,0x11,0x08]
196+ ; X86 -SSE-NEXT: movups %xmm0, 16(%eax) # encoding: [0x0f,0x11,0x40,0x10]
197+ ; X86 -SSE-NEXT: retl # encoding: [0xc3]
198198;
199- ; X32 -AVX-LABEL: fpext_frommem8:
200- ; X32 -AVX: # %bb.0: # %entry
201- ; X32 -AVX-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
202- ; X32 -AVX-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
203- ; X32 -AVX-NEXT: vcvtps2pd (%ecx), %ymm0 # encoding: [0xc5,0xfc,0x5a,0x01]
204- ; X32 -AVX-NEXT: vcvtps2pd 16(%ecx), %ymm1 # encoding: [0xc5,0xfc,0x5a,0x49,0x10]
205- ; X32 -AVX-NEXT: vmovups %ymm1, 32(%eax) # encoding: [0xc5,0xfc,0x11,0x48,0x20]
206- ; X32 -AVX-NEXT: vmovups %ymm0, (%eax) # encoding: [0xc5,0xfc,0x11,0x00]
207- ; X32 -AVX-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
208- ; X32 -AVX-NEXT: retl # encoding: [0xc3]
199+ ; X86 -AVX-LABEL: fpext_frommem8:
200+ ; X86 -AVX: # %bb.0: # %entry
201+ ; X86 -AVX-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
202+ ; X86 -AVX-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
203+ ; X86 -AVX-NEXT: vcvtps2pd (%ecx), %ymm0 # encoding: [0xc5,0xfc,0x5a,0x01]
204+ ; X86 -AVX-NEXT: vcvtps2pd 16(%ecx), %ymm1 # encoding: [0xc5,0xfc,0x5a,0x49,0x10]
205+ ; X86 -AVX-NEXT: vmovups %ymm1, 32(%eax) # encoding: [0xc5,0xfc,0x11,0x48,0x20]
206+ ; X86 -AVX-NEXT: vmovups %ymm0, (%eax) # encoding: [0xc5,0xfc,0x11,0x00]
207+ ; X86 -AVX-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
208+ ; X86 -AVX-NEXT: retl # encoding: [0xc3]
209209;
210- ; X32 -AVX512VL-LABEL: fpext_frommem8:
211- ; X32 -AVX512VL: # %bb.0: # %entry
212- ; X32 -AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
213- ; X32 -AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
214- ; X32 -AVX512VL-NEXT: vcvtps2pd (%ecx), %zmm0 # encoding: [0x62,0xf1,0x7c,0x48,0x5a,0x01]
215- ; X32 -AVX512VL-NEXT: vmovups %zmm0, (%eax) # encoding: [0x62,0xf1,0x7c,0x48,0x11,0x00]
216- ; X32 -AVX512VL-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
217- ; X32 -AVX512VL-NEXT: retl # encoding: [0xc3]
210+ ; X86 -AVX512VL-LABEL: fpext_frommem8:
211+ ; X86 -AVX512VL: # %bb.0: # %entry
212+ ; X86 -AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08]
213+ ; X86 -AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04]
214+ ; X86 -AVX512VL-NEXT: vcvtps2pd (%ecx), %zmm0 # encoding: [0x62,0xf1,0x7c,0x48,0x5a,0x01]
215+ ; X86 -AVX512VL-NEXT: vmovups %zmm0, (%eax) # encoding: [0x62,0xf1,0x7c,0x48,0x11,0x00]
216+ ; X86 -AVX512VL-NEXT: vzeroupper # encoding: [0xc5,0xf8,0x77]
217+ ; X86 -AVX512VL-NEXT: retl # encoding: [0xc3]
218218;
219219; X64-SSE-LABEL: fpext_frommem8:
220220; X64-SSE: # %bb.0: # %entry
@@ -251,26 +251,26 @@ entry:
251251}
252252
253253define <2 x double > @fpext_fromconst () {
254- ; X32 -SSE-LABEL: fpext_fromconst:
255- ; X32 -SSE: # %bb.0: # %entry
256- ; X32 -SSE-NEXT: movaps {{.*#+}} xmm0 = [1.0E+0,-2.0E+0]
257- ; X32 -SSE-NEXT: # encoding: [0x0f,0x28,0x05,A,A,A,A]
258- ; X32 -SSE-NEXT: # fixup A - offset: 3, value: {{\.?LCPI[0-9]+_[0-9]+}}, kind: FK_Data_4
259- ; X32 -SSE-NEXT: retl # encoding: [0xc3]
254+ ; X86 -SSE-LABEL: fpext_fromconst:
255+ ; X86 -SSE: # %bb.0: # %entry
256+ ; X86 -SSE-NEXT: movaps {{.*#+}} xmm0 = [1.0E+0,-2.0E+0]
257+ ; X86 -SSE-NEXT: # encoding: [0x0f,0x28,0x05,A,A,A,A]
258+ ; X86 -SSE-NEXT: # fixup A - offset: 3, value: {{\.?LCPI[0-9]+_[0-9]+}}, kind: FK_Data_4
259+ ; X86 -SSE-NEXT: retl # encoding: [0xc3]
260260;
261- ; X32 -AVX-LABEL: fpext_fromconst:
262- ; X32 -AVX: # %bb.0: # %entry
263- ; X32 -AVX-NEXT: vmovaps {{.*#+}} xmm0 = [1.0E+0,-2.0E+0]
264- ; X32 -AVX-NEXT: # encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
265- ; X32 -AVX-NEXT: # fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}, kind: FK_Data_4
266- ; X32 -AVX-NEXT: retl # encoding: [0xc3]
261+ ; X86 -AVX-LABEL: fpext_fromconst:
262+ ; X86 -AVX: # %bb.0: # %entry
263+ ; X86 -AVX-NEXT: vmovaps {{.*#+}} xmm0 = [1.0E+0,-2.0E+0]
264+ ; X86 -AVX-NEXT: # encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
265+ ; X86 -AVX-NEXT: # fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}, kind: FK_Data_4
266+ ; X86 -AVX-NEXT: retl # encoding: [0xc3]
267267;
268- ; X32 -AVX512VL-LABEL: fpext_fromconst:
269- ; X32 -AVX512VL: # %bb.0: # %entry
270- ; X32 -AVX512VL-NEXT: vmovaps {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0 # EVEX TO VEX Compression xmm0 = [1.0E+0,-2.0E+0]
271- ; X32 -AVX512VL-NEXT: # encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
272- ; X32 -AVX512VL-NEXT: # fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}, kind: FK_Data_4
273- ; X32 -AVX512VL-NEXT: retl # encoding: [0xc3]
268+ ; X86 -AVX512VL-LABEL: fpext_fromconst:
269+ ; X86 -AVX512VL: # %bb.0: # %entry
270+ ; X86 -AVX512VL-NEXT: vmovaps {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0 # EVEX TO VEX Compression xmm0 = [1.0E+0,-2.0E+0]
271+ ; X86 -AVX512VL-NEXT: # encoding: [0xc5,0xf8,0x28,0x05,A,A,A,A]
272+ ; X86 -AVX512VL-NEXT: # fixup A - offset: 4, value: {{\.?LCPI[0-9]+_[0-9]+}}, kind: FK_Data_4
273+ ; X86 -AVX512VL-NEXT: retl # encoding: [0xc3]
274274;
275275; X64-SSE-LABEL: fpext_fromconst:
276276; X64-SSE: # %bb.0: # %entry
@@ -301,26 +301,26 @@ entry:
301301
302302; Make sure we don't narrow a volatile load.
303303define <2 x double > @PR42079 (ptr %x ) {
304- ; X32 -SSE-LABEL: PR42079:
305- ; X32 -SSE: # %bb.0:
306- ; X32 -SSE-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x04]
307- ; X32 -SSE-NEXT: movaps (%eax), %xmm0 # encoding: [0x0f,0x28,0x00]
308- ; X32 -SSE-NEXT: cvtps2pd %xmm0, %xmm0 # encoding: [0x0f,0x5a,0xc0]
309- ; X32 -SSE-NEXT: retl # encoding: [0xc3]
304+ ; X86 -SSE-LABEL: PR42079:
305+ ; X86 -SSE: # %bb.0:
306+ ; X86 -SSE-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x04]
307+ ; X86 -SSE-NEXT: movaps (%eax), %xmm0 # encoding: [0x0f,0x28,0x00]
308+ ; X86 -SSE-NEXT: cvtps2pd %xmm0, %xmm0 # encoding: [0x0f,0x5a,0xc0]
309+ ; X86 -SSE-NEXT: retl # encoding: [0xc3]
310310;
311- ; X32 -AVX-LABEL: PR42079:
312- ; X32 -AVX: # %bb.0:
313- ; X32 -AVX-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x04]
314- ; X32 -AVX-NEXT: vmovaps (%eax), %xmm0 # encoding: [0xc5,0xf8,0x28,0x00]
315- ; X32 -AVX-NEXT: vcvtps2pd %xmm0, %xmm0 # encoding: [0xc5,0xf8,0x5a,0xc0]
316- ; X32 -AVX-NEXT: retl # encoding: [0xc3]
311+ ; X86 -AVX-LABEL: PR42079:
312+ ; X86 -AVX: # %bb.0:
313+ ; X86 -AVX-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x04]
314+ ; X86 -AVX-NEXT: vmovaps (%eax), %xmm0 # encoding: [0xc5,0xf8,0x28,0x00]
315+ ; X86 -AVX-NEXT: vcvtps2pd %xmm0, %xmm0 # encoding: [0xc5,0xf8,0x5a,0xc0]
316+ ; X86 -AVX-NEXT: retl # encoding: [0xc3]
317317;
318- ; X32 -AVX512VL-LABEL: PR42079:
319- ; X32 -AVX512VL: # %bb.0:
320- ; X32 -AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x04]
321- ; X32 -AVX512VL-NEXT: vmovaps (%eax), %xmm0 # EVEX TO VEX Compression encoding: [0xc5,0xf8,0x28,0x00]
322- ; X32 -AVX512VL-NEXT: vcvtps2pd %xmm0, %xmm0 # EVEX TO VEX Compression encoding: [0xc5,0xf8,0x5a,0xc0]
323- ; X32 -AVX512VL-NEXT: retl # encoding: [0xc3]
318+ ; X86 -AVX512VL-LABEL: PR42079:
319+ ; X86 -AVX512VL: # %bb.0:
320+ ; X86 -AVX512VL-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x04]
321+ ; X86 -AVX512VL-NEXT: vmovaps (%eax), %xmm0 # EVEX TO VEX Compression encoding: [0xc5,0xf8,0x28,0x00]
322+ ; X86 -AVX512VL-NEXT: vcvtps2pd %xmm0, %xmm0 # EVEX TO VEX Compression encoding: [0xc5,0xf8,0x5a,0xc0]
323+ ; X86 -AVX512VL-NEXT: retl # encoding: [0xc3]
324324;
325325; X64-SSE-LABEL: PR42079:
326326; X64-SSE: # %bb.0:
0 commit comments