88
99#ifdef __HLSL_ENABLE_16_BIT
1010// CHECK-LABEL: test_firstbithigh_ushort
11- // CHECK: call i16 @llvm.[[TARGET]].firstbituhigh.i16
12- int test_firstbithigh_ushort (uint16_t p0) {
11+ // CHECK: call i32 @llvm.[[TARGET]].firstbituhigh.i16
12+ uint test_firstbithigh_ushort (uint16_t p0) {
1313 return firstbithigh (p0);
1414}
1515
1616// CHECK-LABEL: test_firstbithigh_ushort2
17- // CHECK: call <2 x i16 > @llvm.[[TARGET]].firstbituhigh.v2i16
18- uint16_t2 test_firstbithigh_ushort2 (uint16_t2 p0) {
17+ // CHECK: call <2 x i32 > @llvm.[[TARGET]].firstbituhigh.v2i16
18+ uint2 test_firstbithigh_ushort2 (uint16_t2 p0) {
1919 return firstbithigh (p0);
2020}
2121
2222// CHECK-LABEL: test_firstbithigh_ushort3
23- // CHECK: call <3 x i16 > @llvm.[[TARGET]].firstbituhigh.v3i16
24- uint16_t3 test_firstbithigh_ushort3 (uint16_t3 p0) {
23+ // CHECK: call <3 x i32 > @llvm.[[TARGET]].firstbituhigh.v3i16
24+ uint3 test_firstbithigh_ushort3 (uint16_t3 p0) {
2525 return firstbithigh (p0);
2626}
2727
2828// CHECK-LABEL: test_firstbithigh_ushort4
29- // CHECK: call <4 x i16 > @llvm.[[TARGET]].firstbituhigh.v4i16
30- uint16_t4 test_firstbithigh_ushort4 (uint16_t4 p0) {
29+ // CHECK: call <4 x i32 > @llvm.[[TARGET]].firstbituhigh.v4i16
30+ uint4 test_firstbithigh_ushort4 (uint16_t4 p0) {
3131 return firstbithigh (p0);
3232}
3333
3434// CHECK-LABEL: test_firstbithigh_short
35- // CHECK: call i16 @llvm.[[TARGET]].firstbitshigh.i16
36- int16_t test_firstbithigh_short (int16_t p0) {
35+ // CHECK: call i32 @llvm.[[TARGET]].firstbitshigh.i16
36+ uint test_firstbithigh_short (int16_t p0) {
3737 return firstbithigh (p0);
3838}
3939
4040// CHECK-LABEL: test_firstbithigh_short2
41- // CHECK: call <2 x i16 > @llvm.[[TARGET]].firstbitshigh.v2i16
42- int16_t2 test_firstbithigh_short2 (int16_t2 p0) {
41+ // CHECK: call <2 x i32 > @llvm.[[TARGET]].firstbitshigh.v2i16
42+ uint2 test_firstbithigh_short2 (int16_t2 p0) {
4343 return firstbithigh (p0);
4444}
4545
4646// CHECK-LABEL: test_firstbithigh_short3
47- // CHECK: call <3 x i16 > @llvm.[[TARGET]].firstbitshigh.v3i16
48- int16_t3 test_firstbithigh_short3 (int16_t3 p0) {
47+ // CHECK: call <3 x i32 > @llvm.[[TARGET]].firstbitshigh.v3i16
48+ uint3 test_firstbithigh_short3 (int16_t3 p0) {
4949 return firstbithigh (p0);
5050}
5151
5252// CHECK-LABEL: test_firstbithigh_short4
53- // CHECK: call <4 x i16 > @llvm.[[TARGET]].firstbitshigh.v4i16
54- int16_t4 test_firstbithigh_short4 (int16_t4 p0) {
53+ // CHECK: call <4 x i32 > @llvm.[[TARGET]].firstbitshigh.v4i16
54+ uint4 test_firstbithigh_short4 (int16_t4 p0) {
5555 return firstbithigh (p0);
5656}
5757#endif // __HLSL_ENABLE_16_BIT
@@ -81,73 +81,73 @@ uint4 test_firstbithigh_uint4(uint4 p0) {
8181}
8282
8383// CHECK-LABEL: test_firstbithigh_ulong
84- // CHECK: call i64 @llvm.[[TARGET]].firstbituhigh.i64
85- uint64_t test_firstbithigh_ulong (uint64_t p0) {
84+ // CHECK: call i32 @llvm.[[TARGET]].firstbituhigh.i64
85+ uint test_firstbithigh_ulong (uint64_t p0) {
8686 return firstbithigh (p0);
8787}
8888
8989// CHECK-LABEL: test_firstbithigh_ulong2
90- // CHECK: call <2 x i64 > @llvm.[[TARGET]].firstbituhigh.v2i64
91- uint64_t2 test_firstbithigh_ulong2 (uint64_t2 p0) {
90+ // CHECK: call <2 x i32 > @llvm.[[TARGET]].firstbituhigh.v2i64
91+ uint2 test_firstbithigh_ulong2 (uint64_t2 p0) {
9292 return firstbithigh (p0);
9393}
9494
9595// CHECK-LABEL: test_firstbithigh_ulong3
96- // CHECK: call <3 x i64 > @llvm.[[TARGET]].firstbituhigh.v3i64
97- uint64_t3 test_firstbithigh_ulong3 (uint64_t3 p0) {
96+ // CHECK: call <3 x i32 > @llvm.[[TARGET]].firstbituhigh.v3i64
97+ uint3 test_firstbithigh_ulong3 (uint64_t3 p0) {
9898 return firstbithigh (p0);
9999}
100100
101101// CHECK-LABEL: test_firstbithigh_ulong4
102- // CHECK: call <4 x i64 > @llvm.[[TARGET]].firstbituhigh.v4i64
103- uint64_t4 test_firstbithigh_ulong4 (uint64_t4 p0) {
102+ // CHECK: call <4 x i32 > @llvm.[[TARGET]].firstbituhigh.v4i64
103+ uint4 test_firstbithigh_ulong4 (uint64_t4 p0) {
104104 return firstbithigh (p0);
105105}
106106
107107// CHECK-LABEL: test_firstbithigh_int
108108// CHECK: call i32 @llvm.[[TARGET]].firstbitshigh.i32
109- int test_firstbithigh_int (int p0) {
109+ uint test_firstbithigh_int (int p0) {
110110 return firstbithigh (p0);
111111}
112112
113113// CHECK-LABEL: test_firstbithigh_int2
114114// CHECK: call <2 x i32> @llvm.[[TARGET]].firstbitshigh.v2i32
115- int2 test_firstbithigh_int2 (int2 p0) {
115+ uint2 test_firstbithigh_int2 (int2 p0) {
116116 return firstbithigh (p0);
117117}
118118
119119// CHECK-LABEL: test_firstbithigh_int3
120120// CHECK: call <3 x i32> @llvm.[[TARGET]].firstbitshigh.v3i32
121- int3 test_firstbithigh_int3 (int3 p0) {
121+ uint3 test_firstbithigh_int3 (int3 p0) {
122122 return firstbithigh (p0);
123123}
124124
125125// CHECK-LABEL: test_firstbithigh_int4
126126// CHECK: call <4 x i32> @llvm.[[TARGET]].firstbitshigh.v4i32
127- int4 test_firstbithigh_int4 (int4 p0) {
127+ uint4 test_firstbithigh_int4 (int4 p0) {
128128 return firstbithigh (p0);
129129}
130130
131131// CHECK-LABEL: test_firstbithigh_long
132- // CHECK: call i64 @llvm.[[TARGET]].firstbitshigh.i64
133- int64_t test_firstbithigh_long (int64_t p0) {
132+ // CHECK: call i32 @llvm.[[TARGET]].firstbitshigh.i64
133+ uint test_firstbithigh_long (int64_t p0) {
134134 return firstbithigh (p0);
135135}
136136
137137// CHECK-LABEL: test_firstbithigh_long2
138- // CHECK: call <2 x i64 > @llvm.[[TARGET]].firstbitshigh.v2i64
139- int64_t2 test_firstbithigh_long2 (int64_t2 p0) {
138+ // CHECK: call <2 x i32 > @llvm.[[TARGET]].firstbitshigh.v2i64
139+ uint2 test_firstbithigh_long2 (int64_t2 p0) {
140140 return firstbithigh (p0);
141141}
142142
143143// CHECK-LABEL: test_firstbithigh_long3
144- // CHECK: call <3 x i64 > @llvm.[[TARGET]].firstbitshigh.v3i64
145- int64_t3 test_firstbithigh_long3 (int64_t3 p0) {
144+ // CHECK: call <3 x i32 > @llvm.[[TARGET]].firstbitshigh.v3i64
145+ uint3 test_firstbithigh_long3 (int64_t3 p0) {
146146 return firstbithigh (p0);
147147}
148148
149149// CHECK-LABEL: test_firstbithigh_long4
150- // CHECK: call <4 x i64 > @llvm.[[TARGET]].firstbitshigh.v4i64
151- int64_t4 test_firstbithigh_long4 (int64_t4 p0) {
150+ // CHECK: call <4 x i32 > @llvm.[[TARGET]].firstbitshigh.v4i64
151+ uint4 test_firstbithigh_long4 (int64_t4 p0) {
152152 return firstbithigh (p0);
153153}
0 commit comments