@@ -53,14 +53,12 @@ define spir_kernel void @test1(<64 x i32> %src, float addrspace(1)* %dst) {
5353; CHECK-LL-NEXT: [[TMP14:%.*]] = call i32 @llvm.genx.GenISA.firstbitLo(i32 [[TMP13]])
5454; CHECK-LL-NEXT: [[FIRSTACTIVESAMPLER:%.*]] = call <4 x float> addrspace(2752518)* @llvm.genx.GenISA.WaveShuffleIndex.p2752518v4f32(<4 x float> addrspace(2752518)* [[NONUNIFORMSAMPLER]], i32 [[TMP14]], i32 0)
5555; CHECK-LL-NEXT: [[TMP15:%.*]] = icmp eq <4 x float> addrspace(2752518)* [[NONUNIFORMSAMPLER]], [[FIRSTACTIVESAMPLER]]
56- ; CHECK-LL-NEXT: br i1 [[TMP15]], label [[LAST_SEND:%.*]], label [[LATCH:%.*]]
57- ; CHECK-LL: last_send:
5856; CHECK-LL-NEXT: [[TMP16:%.*]] = tail call fast <4 x float> @llvm.genx.GenISA.sampleLptr.v4f32.f32.p2621443__2D_DIM_Resource.p2621443__2D_DIM_Resource.p2752518v4f32(float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, %__2D_DIM_Resource.0 addrspace(2621450)* undef, %__2D_DIM_Resource.0 addrspace(2621450)* [[NONUNIFORMTEXTURE]], <4 x float> addrspace(2752518)* [[FIRSTACTIVESAMPLER]], i32 0, i32 0, i32 0)
59- ; CHECK-LL-NEXT: br label [[UNROLL_MERGE]]
57+ ; CHECK-LL-NEXT: br i1 [[TMP15]], label [[UNROLL_MERGE]], label [[LATCH:%.* ]]
6058; CHECK-LL: latch:
6159; CHECK-LL-NEXT: br label [[PARTIAL_CHECK5]]
6260; CHECK-LL: unroll-merge:
63- ; CHECK-LL-NEXT: [[TMP17:%.*]] = phi <4 x float> [ [[TMP16]], [[LAST_SEND ]] ], [ [[TMP12]], [[PARTIAL_CHECK1]] ], [ [[TMP8]], [[PARTIAL_CHECK3]] ], [ [[TMP4]], [[PARTIAL_CHECK5]] ], !MyUniqueExclusiveLoadMetadata !24
61+ ; CHECK-LL-NEXT: [[TMP17:%.*]] = phi <4 x float> [ [[TMP16]], [[PARTIAL_CHECK ]] ], [ [[TMP12]], [[PARTIAL_CHECK1]] ], [ [[TMP8]], [[PARTIAL_CHECK3]] ], [ [[TMP4]], [[PARTIAL_CHECK5]] ], !MyUniqueExclusiveLoadMetadata !24
6462; CHECK-LL-NEXT: [[OUT:%.*]] = extractelement <4 x float> [[TMP17]], i32 0
6563; CHECK-LL-NEXT: store float [[OUT]], float addrspace(1)* [[DST:%.*]], align 4
6664; CHECK-LL-NEXT: ret void
@@ -86,7 +84,7 @@ define spir_kernel void @test1(<64 x i32> %src, float addrspace(1)* %dst) {
8684; CHECK-VISAASM-NEXT: movs (M1_NM, 1) S31(0) firstActiveSampler6(0,0)<0;1,0>
8785; CHECK-VISAASM-NEXT: movs (M1_NM, 1) %bss(0) texture(0,0)<0;1,0>
8886; CHECK-VISAASM-NEXT: (P2) sample_lz.RGBA (M1, 16) 0x0:uw S31 %bss V0032.0 %null.0 V0040.0
89- ; CHECK-VISAASM-NEXT: (P2) goto (M1, 16) _test1_007_unroll_merge
87+ ; CHECK-VISAASM-NEXT: (P2) goto (M1, 16) _test1_006_unroll_merge
9088;
9189; CHECK-VISAASM: _test1_002_partial_check3:
9290; CHECK-VISAASM-NEXT: setp (M1_NM, 16) P3 0x0:ud
@@ -102,7 +100,7 @@ define spir_kernel void @test1(<64 x i32> %src, float addrspace(1)* %dst) {
102100; CHECK-VISAASM-NEXT: movs (M1_NM, 1) S31(0) firstActiveSampler4(0,0)<0;1,0>
103101; CHECK-VISAASM-NEXT: movs (M1_NM, 1) %bss(0) texture(0,0)<0;1,0>
104102; CHECK-VISAASM-NEXT: (P4) sample_lz.RGBA (M1, 16) 0x0:uw S31 %bss V0032.0 %null.0 V0048.0
105- ; CHECK-VISAASM-NEXT: (P4) goto (M1, 16) _test1_007_unroll_merge
103+ ; CHECK-VISAASM-NEXT: (P4) goto (M1, 16) _test1_006_unroll_merge
106104;
107105; CHECK-VISAASM: _test1_003_partial_check1:
108106; CHECK-VISAASM-NEXT: setp (M1_NM, 16) P5 0x0:ud
@@ -118,7 +116,7 @@ define spir_kernel void @test1(<64 x i32> %src, float addrspace(1)* %dst) {
118116; CHECK-VISAASM-NEXT: movs (M1_NM, 1) S31(0) firstActiveSampler2(0,0)<0;1,0>
119117; CHECK-VISAASM-NEXT: movs (M1_NM, 1) %bss(0) texture(0,0)<0;1,0>
120118; CHECK-VISAASM-NEXT: (P6) sample_lz.RGBA (M1, 16) 0x0:uw S31 %bss V0032.0 %null.0 V0056.0
121- ; CHECK-VISAASM-NEXT: (P6) goto (M1, 16) _test1_007_unroll_merge
119+ ; CHECK-VISAASM-NEXT: (P6) goto (M1, 16) _test1_006_unroll_merge
122120;
123121; CHECK-VISAASM: _test1_004_partial_check:
124122; CHECK-VISAASM-NEXT: setp (M1_NM, 16) P7 0x0:ud
@@ -130,15 +128,13 @@ define spir_kernel void @test1(<64 x i32> %src, float addrspace(1)* %dst) {
130128; CHECK-VISAASM-NEXT: addr_add (M1_NM, 1) A3(0)<1> &sampler_0 ShuffleTmp_2(0,0)<0;1,0>
131129; CHECK-VISAASM-NEXT: mov (M1_NM, 1) firstActiveSampler(0,0)<1> r[A3(0),0]<0;1,0>:ud
132130; CHECK-VISAASM-NEXT: cmp.eq (M1, 16) P8 sampler_0(0,0)<1;1,0> firstActiveSampler(0,0)<0;1,0>
133- ; CHECK-VISAASM-NEXT: (!P8) goto (M1, 16) _test1_001_partial_check5
134- ;
135- ; CHECK-VISAASM: _test1_005_last_send:
136131; CHECK-VISAASM-NEXT: mov (M1, 16) V0064(0,0)<1> 0x0:f
137132; CHECK-VISAASM-NEXT: movs (M1_NM, 1) S31(0) firstActiveSampler(0,0)<0;1,0>
138133; CHECK-VISAASM-NEXT: movs (M1_NM, 1) %bss(0) texture(0,0)<0;1,0>
139134; CHECK-VISAASM-NEXT: (P8) sample_lz.RGBA (M1, 16) 0x0:uw S31 %bss V0032.0 %null.0 V0064.0
135+ ; CHECK-VISAASM-NEXT: (!P8) goto (M1, 16) _test1_001_partial_check5
140136;
141- ; CHECK-VISAASM: _test1_007_unroll_merge :
137+ ; CHECK-VISAASM: _test1_006_unroll_merge :
142138; CHECK-VISAASM-NEXT: mov (M1, 16) out(0,0)<1> V0032(0,0)<1;1,0>
143139; CHECK-VISAASM-NEXT: mov (M1_NM, 1) dst_0(0,0)<1> dst(0,0)<0;1,0>
144140; CHECK-VISAASM-NEXT: mov (M1, 16) dstBroadcast_0(0,0)<2> dst_1(0,0)<0;1,0>
0 commit comments