@@ -119,42 +119,3 @@ entry:
119119 %2 = call <4 x i32 > @llvm.dx.firstbitshigh.v4i16 (<4 x i16 > %a )
120120 ret <4 x i32 > %2
121121}
122-
123- define noundef <4 x i32 > @test_firstbituhigh_vec4_i64 (<4 x i64 > noundef %a ) {
124- entry:
125- ; CHECK: [[ee0:%.*]] = extractelement <4 x i64> %a, i64 0
126- ; CHECK: [[ie0:%.*]] = call i32 @dx.op.unaryBits.i64(i32 33, i64 [[ee0]])
127- ; CHECK: [[ee1:%.*]] = extractelement <4 x i64> %a, i64 1
128- ; CHECK: [[ie1:%.*]] = call i32 @dx.op.unaryBits.i64(i32 33, i64 [[ee1]])
129- ; CHECK: [[ee2:%.*]] = extractelement <4 x i64> %a, i64 2
130- ; CHECK: [[ie2:%.*]] = call i32 @dx.op.unaryBits.i64(i32 33, i64 [[ee2]])
131- ; CHECK: [[ee3:%.*]] = extractelement <4 x i64> %a, i64 3
132- ; CHECK: [[ie3:%.*]] = call i32 @dx.op.unaryBits.i64(i32 33, i64 [[ee3]])
133- ; CHECK: [[rt0:%.*]] = insertelement <4 x i32> poison, i32 [[ie0]], i64 0
134- ; CHECK: [[rt1:%.*]] = insertelement <4 x i32> [[rt0]], i32 [[ie1]], i64 1
135- ; CHECK: [[rt2:%.*]] = insertelement <4 x i32> [[rt1]], i32 [[ie2]], i64 2
136- ; CHECK: [[rt3:%.*]] = insertelement <4 x i32> [[rt2]], i32 [[ie3]], i64 3
137- ; CHECK: ret <4 x i32> [[rt3]]
138- %2 = call <4 x i32 > @llvm.dx.firstbituhigh.v4i64 (<4 x i64 > %a )
139- ret <4 x i32 > %2
140- }
141-
142- define noundef <4 x i32 > @test_firstbitshigh_vec4_i64 (<4 x i64 > noundef %a ) {
143- entry:
144- ; CHECK: [[ee0:%.*]] = extractelement <4 x i64> %a, i64 0
145- ; CHECK: [[ie0:%.*]] = call i32 @dx.op.unaryBits.i64(i32 34, i64 [[ee0]])
146- ; CHECK: [[ee1:%.*]] = extractelement <4 x i64> %a, i64 1
147- ; CHECK: [[ie1:%.*]] = call i32 @dx.op.unaryBits.i64(i32 34, i64 [[ee1]])
148- ; CHECK: [[ee2:%.*]] = extractelement <4 x i64> %a, i64 2
149- ; CHECK: [[ie2:%.*]] = call i32 @dx.op.unaryBits.i64(i32 34, i64 [[ee2]])
150- ; CHECK: [[ee3:%.*]] = extractelement <4 x i64> %a, i64 3
151- ; CHECK: [[ie3:%.*]] = call i32 @dx.op.unaryBits.i64(i32 34, i64 [[ee3]])
152- ; CHECK: [[rt0:%.*]] = insertelement <4 x i32> poison, i32 [[ie0]], i64 0
153- ; CHECK: [[rt1:%.*]] = insertelement <4 x i32> [[rt0]], i32 [[ie1]], i64 1
154- ; CHECK: [[rt2:%.*]] = insertelement <4 x i32> [[rt1]], i32 [[ie2]], i64 2
155- ; CHECK: [[rt3:%.*]] = insertelement <4 x i32> [[rt2]], i32 [[ie3]], i64 3
156- ; CHECK: ret <4 x i32> [[rt3]]
157- ; CHECK: fex
158- %2 = call <4 x i32 > @llvm.dx.firstbitshigh.v4i64 (<4 x i64 > %a )
159- ret <4 x i32 > %2
160- }
0 commit comments