Skip to content

Commit 1248bd1

Browse files
Krebrov001igcbot
authored andcommitted
Changes in code.
1 parent 5cfe41e commit 1248bd1

File tree

2 files changed

+58
-0
lines changed

2 files changed

+58
-0
lines changed

IGC/BiFModule/Languages/OpenCL/PreRelease/IBiF_Bit_Instructions.cl

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,16 @@ INLINE TYPE##VEC_SIZE OVERLOADABLE FUNC( TYPE##VEC_SIZE base ) { \
169169
return __builtin_spirv_##OP##_v##VEC_SIZE##ABBR_TYPE(base); \
170170
}
171171

172+
#define GEN_DEFINITION_BFREV_SIGNED( FUNC, OP, TYPE, ABBR_TYPE ) \
173+
INLINE TYPE OVERLOADABLE FUNC( TYPE base ) { \
174+
return as_##TYPE( __builtin_spirv_##OP##_##ABBR_TYPE( as_##u##TYPE( base ) ) ); \
175+
}
176+
177+
#define GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, TYPE, ABBR_TYPE, VEC_SIZE ) \
178+
INLINE TYPE##VEC_SIZE OVERLOADABLE FUNC( TYPE##VEC_SIZE base ) { \
179+
return as_##TYPE##VEC_SIZE( __builtin_spirv_##OP##_v##VEC_SIZE##ABBR_TYPE( as_##u##TYPE##VEC_SIZE(base) ) ); \
180+
}
181+
172182
#define GEN_DEFINITIONS_BFREV( FUNC, OP ) \
173183
GEN_DEFINITION_BFREV( FUNC, OP, uchar, i8) \
174184
GEN_VECTOR_DEFINITION_BFREV( FUNC, OP, uchar, i8, 2) \
@@ -194,6 +204,30 @@ INLINE TYPE##VEC_SIZE OVERLOADABLE FUNC( TYPE##VEC_SIZE base ) { \
194204
GEN_VECTOR_DEFINITION_BFREV( FUNC, OP, ulong, i64, 4) \
195205
GEN_VECTOR_DEFINITION_BFREV( FUNC, OP, ulong, i64, 8) \
196206
GEN_VECTOR_DEFINITION_BFREV( FUNC, OP, ulong, i64, 16) \
207+
GEN_DEFINITION_BFREV_SIGNED( FUNC, OP, char, i8) \
208+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, char, i8, 2) \
209+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, char, i8, 3) \
210+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, char, i8, 4) \
211+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, char, i8, 8) \
212+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, char, i8, 16) \
213+
GEN_DEFINITION_BFREV_SIGNED( FUNC, OP, short, i16) \
214+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, short, i16, 2) \
215+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, short, i16, 3) \
216+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, short, i16, 4) \
217+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, short, i16, 8) \
218+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, short, i16, 16 ) \
219+
GEN_DEFINITION_BFREV_SIGNED( FUNC, OP, int, i32) \
220+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, int, i32, 2) \
221+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, int, i32, 3) \
222+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, int, i32, 4) \
223+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, int, i32, 8) \
224+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, int, i32, 16) \
225+
GEN_DEFINITION_BFREV_SIGNED( FUNC, OP, long, i64) \
226+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, long, i64, 2) \
227+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, long, i64, 3) \
228+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, long, i64, 4) \
229+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, long, i64, 8) \
230+
GEN_VECTOR_DEFINITION_BFREV_SIGNED( FUNC, OP, long, i64, 16)
197231

198232
GEN_DEFINITIONS_BFI( intel_bfi, BitFieldInsert )
199233
GEN_DEFINITIONS_SBFE( intel_sbfe, OpBitFieldSExtract )

IGC/BiFModule/Languages/OpenCL/PreRelease/opencl_cth_pre_release.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1660,6 +1660,12 @@ uchar3 __attribute__((overloadable)) intel_bfrev(uchar3 base);
16601660
uchar4 __attribute__((overloadable)) intel_bfrev(uchar4 base);
16611661
uchar8 __attribute__((overloadable)) intel_bfrev(uchar8 base);
16621662
uchar16 __attribute__((overloadable)) intel_bfrev(uchar16 base);
1663+
char __attribute__((overloadable)) intel_bfrev(char base);
1664+
char2 __attribute__((overloadable)) intel_bfrev(char2 base);
1665+
char3 __attribute__((overloadable)) intel_bfrev(char3 base);
1666+
char4 __attribute__((overloadable)) intel_bfrev(char4 base);
1667+
char8 __attribute__((overloadable)) intel_bfrev(char8 base);
1668+
char16 __attribute__((overloadable)) intel_bfrev(char16 base);
16631669

16641670
// bfrev i16
16651671
ushort __attribute__((overloadable)) intel_bfrev(ushort base);
@@ -1668,6 +1674,12 @@ ushort3 __attribute__((overloadable)) intel_bfrev(ushort3 base);
16681674
ushort4 __attribute__((overloadable)) intel_bfrev(ushort4 base);
16691675
ushort8 __attribute__((overloadable)) intel_bfrev(ushort8 base);
16701676
ushort16 __attribute__((overloadable)) intel_bfrev(ushort16 base);
1677+
short __attribute__((overloadable)) intel_bfrev(short base);
1678+
short2 __attribute__((overloadable)) intel_bfrev(short2 base);
1679+
short3 __attribute__((overloadable)) intel_bfrev(short3 base);
1680+
short4 __attribute__((overloadable)) intel_bfrev(short4 base);
1681+
short8 __attribute__((overloadable)) intel_bfrev(short8 base);
1682+
short16 __attribute__((overloadable)) intel_bfrev(short16 base);
16711683

16721684
// bfrev i32
16731685
uint __attribute__((overloadable)) intel_bfrev(uint base);
@@ -1676,6 +1688,12 @@ uint3 __attribute__((overloadable)) intel_bfrev(uint3 base);
16761688
uint4 __attribute__((overloadable)) intel_bfrev(uint4 base);
16771689
uint8 __attribute__((overloadable)) intel_bfrev(uint8 base);
16781690
uint16 __attribute__((overloadable)) intel_bfrev(uint16 base);
1691+
int __attribute__((overloadable)) intel_bfrev(int base);
1692+
int2 __attribute__((overloadable)) intel_bfrev(int2 base);
1693+
int3 __attribute__((overloadable)) intel_bfrev(int3 base);
1694+
int4 __attribute__((overloadable)) intel_bfrev(int4 base);
1695+
int8 __attribute__((overloadable)) intel_bfrev(int8 base);
1696+
int16 __attribute__((overloadable)) intel_bfrev(int16 base);
16791697

16801698
// bfrev i64
16811699
ulong __attribute__((overloadable)) intel_bfrev(ulong base);
@@ -1684,6 +1702,12 @@ ulong3 __attribute__((overloadable)) intel_bfrev(ulong3 base);
16841702
ulong4 __attribute__((overloadable)) intel_bfrev(ulong4 base);
16851703
ulong8 __attribute__((overloadable)) intel_bfrev(ulong8 base);
16861704
ulong16 __attribute__((overloadable)) intel_bfrev(ulong16 base);
1705+
long __attribute__((overloadable)) intel_bfrev(long base);
1706+
long2 __attribute__((overloadable)) intel_bfrev(long2 base);
1707+
long3 __attribute__((overloadable)) intel_bfrev(long3 base);
1708+
long4 __attribute__((overloadable)) intel_bfrev(long4 base);
1709+
long8 __attribute__((overloadable)) intel_bfrev(long8 base);
1710+
long16 __attribute__((overloadable)) intel_bfrev(long16 base);
16871711
#endif // defined(cl_intel_bit_instructions)
16881712

16891713
#ifdef cl_intel_subgroups_ballot

0 commit comments

Comments
 (0)