|
69 | 69 |
|
70 | 70 | // DPP8 |
71 | 71 | #define uint_dpp8(X,S) __builtin_amdgcn_mov_dpp8(X,S) |
72 | | -#define ulong_dpp8(X,S) ({ \ |
73 | | - uint2 __x = AS_UINT2(X); \ |
74 | | - uint2 __r; \ |
75 | | - __r.lo = uint_dpp8(__x.lo, S); \ |
76 | | - __r.hi = uint_dpp8(__x.hi, S); \ |
77 | | - AS_ULONG(__r); \ |
78 | | -}) |
79 | | -#define int_dpp8(X,S) AS_INT(uint_dpp8(AS_UINT(X),S)) |
80 | | -#define long_dpp8(X,S) AS_LONG(ulong_dpp8(AS_ULONG(X),S)) |
81 | | -#define float_dpp8(X,S) AS_FLOAT(uint_dpp8(AS_UINT(X),S)) |
82 | | -#define double_dpp8(X,S) AS_DOUBLE(ulong_dpp8(AS_ULONG(X),S)) |
83 | | -#define half_dpp8(X,S) AS_HALF((ushort)uint_dpp8((uint)AS_USHORT(X),S)) |
| 72 | +#define ulong_dpp8(X,S) __builtin_amdgcn_mov_dpp8(X,S) |
| 73 | +#define int_dpp8(X,S) __builtin_amdgcn_mov_dpp8(X,S) |
| 74 | +#define long_dpp8(X,S) __builtin_amdgcn_mov_dpp8(X,S) |
| 75 | +#define float_dpp8(X,S) __builtin_amdgcn_mov_dpp8(X,S) |
| 76 | +#define double_dpp8(X,S) __builtin_amdgcn_mov_dpp8(X,S) |
| 77 | +#define half_dpp8(X,S) __builtin_amdgcn_mov_dpp8(X,S) |
84 | 78 |
|
85 | 79 | // permlane16 |
86 | 80 | #define uint_permlane16(ID,X,S0,S1,W) __builtin_amdgcn_permlane16(ID,X,S0,S1,false,W) |
|
0 commit comments