@@ -178,7 +178,7 @@ define void @test5(half %x, ptr %y) {
178178;
179179; X86-LABEL: test5:
180180; X86: # %bb.0:
181- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm0
181+ ; X86-NEXT: vmovsh {{.*# +}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
182182; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
183183; X86-NEXT: vmovsh %xmm0, (%eax)
184184; X86-NEXT: retl
@@ -189,13 +189,13 @@ define void @test5(half %x, ptr %y) {
189189define half @test7 (ptr %x ) {
190190; X64-LABEL: test7:
191191; X64: # %bb.0:
192- ; X64-NEXT: vmovsh (%rdi), % xmm0
192+ ; X64-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
193193; X64-NEXT: retq
194194;
195195; X86-LABEL: test7:
196196; X86: # %bb.0:
197197; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
198- ; X86-NEXT: vmovsh (%eax), % xmm0
198+ ; X86-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
199199; X86-NEXT: retl
200200 %y = load i16 , ptr %x
201201 %res = bitcast i16 %y to half
@@ -253,13 +253,13 @@ define <32 x i16> @test10c(ptr %x) {
253253define <8 x half > @test11 (ptr %x ) {
254254; X64-LABEL: test11:
255255; X64: # %bb.0:
256- ; X64-NEXT: vmovsh (%rdi), % xmm0
256+ ; X64-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
257257; X64-NEXT: retq
258258;
259259; X86-LABEL: test11:
260260; X86: # %bb.0:
261261; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
262- ; X86-NEXT: vmovsh (%eax), % xmm0
262+ ; X86-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
263263; X86-NEXT: retl
264264 %y = load half , ptr %x , align 2
265265 %res = insertelement <8 x half >zeroinitializer , half %y , i32 0
@@ -269,13 +269,13 @@ define <8 x half> @test11(ptr %x) {
269269define <16 x half > @test11b (ptr %x ) {
270270; X64-LABEL: test11b:
271271; X64: # %bb.0:
272- ; X64-NEXT: vmovsh (%rdi), % xmm0
272+ ; X64-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
273273; X64-NEXT: retq
274274;
275275; X86-LABEL: test11b:
276276; X86: # %bb.0:
277277; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
278- ; X86-NEXT: vmovsh (%eax), % xmm0
278+ ; X86-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
279279; X86-NEXT: retl
280280 %y = load half , ptr %x , align 2
281281 %res = insertelement <16 x half >zeroinitializer , half %y , i32 0
@@ -285,13 +285,13 @@ define <16 x half> @test11b(ptr %x) {
285285define <32 x half > @test11c (ptr %x ) {
286286; X64-LABEL: test11c:
287287; X64: # %bb.0:
288- ; X64-NEXT: vmovsh (%rdi), % xmm0
288+ ; X64-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
289289; X64-NEXT: retq
290290;
291291; X86-LABEL: test11c:
292292; X86: # %bb.0:
293293; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
294- ; X86-NEXT: vmovsh (%eax), % xmm0
294+ ; X86-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
295295; X86-NEXT: retl
296296 %y = load half , ptr %x , align 2
297297 %res = insertelement <32 x half >zeroinitializer , half %y , i32 0
@@ -307,7 +307,7 @@ define <8 x half> @test14(half %x) {
307307;
308308; X86-LABEL: test14:
309309; X86: # %bb.0:
310- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm0
310+ ; X86-NEXT: vmovsh {{.*# +}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
311311; X86-NEXT: retl
312312 %res = insertelement <8 x half >zeroinitializer , half %x , i32 0
313313 ret <8 x half >%res
@@ -322,7 +322,7 @@ define <16 x half> @test14b(half %x) {
322322;
323323; X86-LABEL: test14b:
324324; X86: # %bb.0:
325- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm0
325+ ; X86-NEXT: vmovsh {{.*# +}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
326326; X86-NEXT: retl
327327 %res = insertelement <16 x half >zeroinitializer , half %x , i32 0
328328 ret <16 x half >%res
@@ -337,7 +337,7 @@ define <32 x half> @test14c(half %x) {
337337;
338338; X86-LABEL: test14c:
339339; X86: # %bb.0:
340- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm0
340+ ; X86-NEXT: vmovsh {{.*# +}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
341341; X86-NEXT: retl
342342 %res = insertelement <32 x half >zeroinitializer , half %x , i32 0
343343 ret <32 x half >%res
@@ -1253,7 +1253,7 @@ define half @test_movw2(i16 %x) {
12531253;
12541254; X86-LABEL: test_movw2:
12551255; X86: # %bb.0:
1256- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm0
1256+ ; X86-NEXT: vmovsh {{.*# +}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
12571257; X86-NEXT: retl
12581258 %res = bitcast i16 %x to half
12591259 ret half %res
@@ -1358,7 +1358,7 @@ define half @extract_f16_8(<32 x half> %x, i64 %idx) nounwind {
13581358; X64-NEXT: subq $128, %rsp
13591359; X64-NEXT: andl $31, %edi
13601360; X64-NEXT: vmovaps %zmm0, (%rsp)
1361- ; X64-NEXT: vmovsh (%rsp,%rdi,2), %xmm0
1361+ ; X64-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
13621362; X64-NEXT: movq %rbp, %rsp
13631363; X64-NEXT: popq %rbp
13641364; X64-NEXT: vzeroupper
@@ -1373,7 +1373,7 @@ define half @extract_f16_8(<32 x half> %x, i64 %idx) nounwind {
13731373; X86-NEXT: movl 8(%ebp), %eax
13741374; X86-NEXT: andl $31, %eax
13751375; X86-NEXT: vmovaps %zmm0, (%esp)
1376- ; X86-NEXT: vmovsh (%esp,%eax,2), %xmm0
1376+ ; X86-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
13771377; X86-NEXT: movl %ebp, %esp
13781378; X86-NEXT: popl %ebp
13791379; X86-NEXT: vzeroupper
@@ -1392,7 +1392,7 @@ define half @extract_f16_9(<64 x half> %x, i64 %idx) nounwind {
13921392; X64-NEXT: andl $63, %edi
13931393; X64-NEXT: vmovaps %zmm1, {{[0-9]+}}(%rsp)
13941394; X64-NEXT: vmovaps %zmm0, (%rsp)
1395- ; X64-NEXT: vmovsh (%rsp,%rdi,2), %xmm0
1395+ ; X64-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
13961396; X64-NEXT: movq %rbp, %rsp
13971397; X64-NEXT: popq %rbp
13981398; X64-NEXT: vzeroupper
@@ -1408,7 +1408,7 @@ define half @extract_f16_9(<64 x half> %x, i64 %idx) nounwind {
14081408; X86-NEXT: andl $63, %eax
14091409; X86-NEXT: vmovaps %zmm1, {{[0-9]+}}(%esp)
14101410; X86-NEXT: vmovaps %zmm0, (%esp)
1411- ; X86-NEXT: vmovsh (%esp,%eax,2), %xmm0
1411+ ; X86-NEXT: vmovsh {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
14121412; X86-NEXT: movl %ebp, %esp
14131413; X86-NEXT: popl %ebp
14141414; X86-NEXT: vzeroupper
@@ -1797,11 +1797,11 @@ define <8 x half> @build_vector_xxxxuuuu(half %a0, half %a1, half %a2, half %a3)
17971797;
17981798; X86-LABEL: build_vector_xxxxuuuu:
17991799; X86: # %bb.0:
1800- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm0
1801- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm1
1800+ ; X86-NEXT: vmovsh {{.*# +}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
1801+ ; X86-NEXT: vmovsh {{.*# +}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero
18021802; X86-NEXT: vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
1803- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm1
1804- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm2
1803+ ; X86-NEXT: vmovsh {{.*# +}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero
1804+ ; X86-NEXT: vmovsh {{.*# +}} xmm2 = mem[0],zero,zero,zero,zero,zero,zero,zero
18051805; X86-NEXT: vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
18061806; X86-NEXT: vinsertps {{.*#+}} xmm0 = xmm0[0],xmm1[0],zero,zero
18071807; X86-NEXT: retl
@@ -1823,11 +1823,11 @@ define <8 x half> @build_vector_uuuuxxxx(half %a0, half %a1, half %a2, half %a3)
18231823;
18241824; X86-LABEL: build_vector_uuuuxxxx:
18251825; X86: # %bb.0:
1826- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm0
1827- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm1
1826+ ; X86-NEXT: vmovsh {{.*# +}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
1827+ ; X86-NEXT: vmovsh {{.*# +}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero
18281828; X86-NEXT: vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
1829- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm1
1830- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm2
1829+ ; X86-NEXT: vmovsh {{.*# +}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero
1830+ ; X86-NEXT: vmovsh {{.*# +}} xmm2 = mem[0],zero,zero,zero,zero,zero,zero,zero
18311831; X86-NEXT: vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
18321832; X86-NEXT: vpunpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
18331833; X86-NEXT: vpbroadcastq %xmm0, %xmm0
@@ -1853,18 +1853,18 @@ define <8 x half> @build_vector_xxxxxxxx(half %a0, half %a1, half %a2, half %a3,
18531853;
18541854; X86-LABEL: build_vector_xxxxxxxx:
18551855; X86: # %bb.0:
1856- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm0
1857- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm1
1856+ ; X86-NEXT: vmovsh {{.*# +}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
1857+ ; X86-NEXT: vmovsh {{.*# +}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero
18581858; X86-NEXT: vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
1859- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm1
1860- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm2
1859+ ; X86-NEXT: vmovsh {{.*# +}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero
1860+ ; X86-NEXT: vmovsh {{.*# +}} xmm2 = mem[0],zero,zero,zero,zero,zero,zero,zero
18611861; X86-NEXT: vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
18621862; X86-NEXT: vpunpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
1863- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm1
1864- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm2
1863+ ; X86-NEXT: vmovsh {{.*# +}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero
1864+ ; X86-NEXT: vmovsh {{.*# +}} xmm2 = mem[0],zero,zero,zero,zero,zero,zero,zero
18651865; X86-NEXT: vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
1866- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm2
1867- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm3
1866+ ; X86-NEXT: vmovsh {{.*# +}} xmm2 = mem[0],zero,zero,zero,zero,zero,zero,zero
1867+ ; X86-NEXT: vmovsh {{.*# +}} xmm3 = mem[0],zero,zero,zero,zero,zero,zero,zero
18681868; X86-NEXT: vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]
18691869; X86-NEXT: vpunpckldq {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
18701870; X86-NEXT: vpunpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
@@ -1895,18 +1895,18 @@ define <16 x half> @build_vector_xxxxuuuuuuuuxxxx(half %a0, half %a1, half %a2,
18951895;
18961896; X86-LABEL: build_vector_xxxxuuuuuuuuxxxx:
18971897; X86: # %bb.0:
1898- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm0
1899- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm1
1898+ ; X86-NEXT: vmovsh {{.*# +}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
1899+ ; X86-NEXT: vmovsh {{.*# +}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero
19001900; X86-NEXT: vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
1901- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm1
1902- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm2
1901+ ; X86-NEXT: vmovsh {{.*# +}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero
1902+ ; X86-NEXT: vmovsh {{.*# +}} xmm2 = mem[0],zero,zero,zero,zero,zero,zero,zero
19031903; X86-NEXT: vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
19041904; X86-NEXT: vpunpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
1905- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm1
1906- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm2
1905+ ; X86-NEXT: vmovsh {{.*# +}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero
1906+ ; X86-NEXT: vmovsh {{.*# +}} xmm2 = mem[0],zero,zero,zero,zero,zero,zero,zero
19071907; X86-NEXT: vpunpcklwd {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1],xmm1[2],xmm2[2],xmm1[3],xmm2[3]
1908- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm2
1909- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm3
1908+ ; X86-NEXT: vmovsh {{.*# +}} xmm2 = mem[0],zero,zero,zero,zero,zero,zero,zero
1909+ ; X86-NEXT: vmovsh {{.*# +}} xmm3 = mem[0],zero,zero,zero,zero,zero,zero,zero
19101910; X86-NEXT: vpunpcklwd {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1],xmm2[2],xmm3[2],xmm2[3],xmm3[3]
19111911; X86-NEXT: vinsertps {{.*#+}} xmm1 = xmm1[0],xmm2[0],zero,zero
19121912; X86-NEXT: vpbroadcastq %xmm0, %xmm0
@@ -2006,10 +2006,10 @@ define <8 x half> @test21(half %a, half %b, half %c) nounwind {
20062006;
20072007; X86-LABEL: test21:
20082008; X86: # %bb.0:
2009- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm0
2010- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm1
2009+ ; X86-NEXT: vmovsh {{.*# +}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero
2010+ ; X86-NEXT: vmovsh {{.*# +}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero
20112011; X86-NEXT: vpunpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
2012- ; X86-NEXT: vmovsh {{[0-9] +}}(%esp), % xmm1
2012+ ; X86-NEXT: vmovsh {{.*# +}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero
20132013; X86-NEXT: vpunpckldq {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
20142014; X86-NEXT: vpxor %xmm1, %xmm1, %xmm1
20152015; X86-NEXT: vpbroadcastw %xmm1, %xmm1
0 commit comments