@@ -140,11 +140,11 @@ EnableIfBitcastBroadcast<T, IdT> GroupBroadcast(T x, IdT local_id) {
140
140
GroupIdT GroupLocalId = static_cast <GroupIdT>(local_id);
141
141
using BroadcastT = ConvertToNativeBroadcastType_t<T>;
142
142
using OCLIdT = detail::ConvertToOpenCLType_t<GroupIdT>;
143
- auto BroadcastX = detail:: bit_cast<BroadcastT>(x);
143
+ auto BroadcastX = bit_cast<BroadcastT>(x);
144
144
OCLIdT OCLId = detail::convertDataToType<GroupIdT, OCLIdT>(GroupLocalId);
145
145
BroadcastT Result =
146
146
__spirv_GroupBroadcast (group_scope<Group>::value, BroadcastX, OCLId);
147
- return detail:: bit_cast<T>(Result);
147
+ return bit_cast<T>(Result);
148
148
}
149
149
template <typename Group, typename T, typename IdT>
150
150
EnableIfGenericBroadcast<T, IdT> GroupBroadcast (T x, IdT local_id) {
@@ -190,11 +190,11 @@ EnableIfBitcastBroadcast<T> GroupBroadcast(T x, id<Dimensions> local_id) {
190
190
for (int i = 0 ; i < Dimensions; ++i) {
191
191
VecId[i] = local_id[Dimensions - i - 1 ];
192
192
}
193
- auto BroadcastX = detail:: bit_cast<BroadcastT>(x);
193
+ auto BroadcastX = bit_cast<BroadcastT>(x);
194
194
OCLIdT OCLId = detail::convertDataToType<IdT, OCLIdT>(VecId);
195
195
BroadcastT Result =
196
196
__spirv_GroupBroadcast (group_scope<Group>::value, BroadcastX, OCLId);
197
- return detail:: bit_cast<T>(Result);
197
+ return bit_cast<T>(Result);
198
198
}
199
199
template <typename Group, typename T, int Dimensions>
200
200
EnableIfGenericBroadcast<T> GroupBroadcast (T x, id<Dimensions> local_id) {
@@ -284,11 +284,11 @@ AtomicCompareExchange(multi_ptr<T, AddressSpace> MPtr,
284
284
auto *PtrInt =
285
285
reinterpret_cast <typename multi_ptr<I, AddressSpace>::pointer_t >(
286
286
MPtr.get ());
287
- I DesiredInt = detail:: bit_cast<I>(Desired);
288
- I ExpectedInt = detail:: bit_cast<I>(Expected);
287
+ I DesiredInt = bit_cast<I>(Desired);
288
+ I ExpectedInt = bit_cast<I>(Expected);
289
289
I ResultInt = __spirv_AtomicCompareExchange (
290
290
PtrInt, SPIRVScope, SPIRVSuccess, SPIRVFailure, DesiredInt, ExpectedInt);
291
- return detail:: bit_cast<T>(ResultInt);
291
+ return bit_cast<T>(ResultInt);
292
292
}
293
293
294
294
template <typename T, access::address_space AddressSpace>
@@ -312,7 +312,7 @@ AtomicLoad(multi_ptr<T, AddressSpace> MPtr, ONEAPI::memory_scope Scope,
312
312
auto SPIRVOrder = getMemorySemanticsMask (Order);
313
313
auto SPIRVScope = getScope (Scope);
314
314
I ResultInt = __spirv_AtomicLoad (PtrInt, SPIRVScope, SPIRVOrder);
315
- return detail:: bit_cast<T>(ResultInt);
315
+ return bit_cast<T>(ResultInt);
316
316
}
317
317
318
318
template <typename T, access::address_space AddressSpace>
@@ -335,7 +335,7 @@ AtomicStore(multi_ptr<T, AddressSpace> MPtr, ONEAPI::memory_scope Scope,
335
335
MPtr.get ());
336
336
auto SPIRVOrder = getMemorySemanticsMask (Order);
337
337
auto SPIRVScope = getScope (Scope);
338
- I ValueInt = detail:: bit_cast<I>(Value);
338
+ I ValueInt = bit_cast<I>(Value);
339
339
__spirv_AtomicStore (PtrInt, SPIRVScope, SPIRVOrder, ValueInt);
340
340
}
341
341
@@ -359,10 +359,10 @@ AtomicExchange(multi_ptr<T, AddressSpace> MPtr, ONEAPI::memory_scope Scope,
359
359
MPtr.get ());
360
360
auto SPIRVOrder = getMemorySemanticsMask (Order);
361
361
auto SPIRVScope = getScope (Scope);
362
- I ValueInt = detail:: bit_cast<I>(Value);
362
+ I ValueInt = bit_cast<I>(Value);
363
363
I ResultInt =
364
364
__spirv_AtomicExchange (PtrInt, SPIRVScope, SPIRVOrder, ValueInt);
365
- return detail:: bit_cast<T>(ResultInt);
365
+ return bit_cast<T>(ResultInt);
366
366
}
367
367
368
368
template <typename T, access::address_space AddressSpace>
@@ -600,57 +600,57 @@ using ConvertToNativeShuffleType_t = select_cl_scalar_integral_unsigned_t<T>;
600
600
template <typename T>
601
601
EnableIfBitcastShuffle<T> SubgroupShuffle (T x, id<1 > local_id) {
602
602
using ShuffleT = ConvertToNativeShuffleType_t<T>;
603
- auto ShuffleX = detail:: bit_cast<ShuffleT>(x);
603
+ auto ShuffleX = bit_cast<ShuffleT>(x);
604
604
#ifndef __NVPTX__
605
605
ShuffleT Result = __spirv_SubgroupShuffleINTEL (
606
606
ShuffleX, static_cast <uint32_t >(local_id.get (0 )));
607
607
#else
608
608
ShuffleT Result =
609
609
__nvvm_shfl_sync_idx_i32 (membermask (), ShuffleX, local_id.get (0 ), 0x1f );
610
610
#endif
611
- return detail:: bit_cast<T>(Result);
611
+ return bit_cast<T>(Result);
612
612
}
613
613
614
614
template <typename T>
615
615
EnableIfBitcastShuffle<T> SubgroupShuffleXor (T x, id<1 > local_id) {
616
616
using ShuffleT = ConvertToNativeShuffleType_t<T>;
617
- auto ShuffleX = detail:: bit_cast<ShuffleT>(x);
617
+ auto ShuffleX = bit_cast<ShuffleT>(x);
618
618
#ifndef __NVPTX__
619
619
ShuffleT Result = __spirv_SubgroupShuffleXorINTEL (
620
620
ShuffleX, static_cast <uint32_t >(local_id.get (0 )));
621
621
#else
622
622
ShuffleT Result =
623
623
__nvvm_shfl_sync_bfly_i32 (membermask (), ShuffleX, local_id.get (0 ), 0x1f );
624
624
#endif
625
- return detail:: bit_cast<T>(Result);
625
+ return bit_cast<T>(Result);
626
626
}
627
627
628
628
template <typename T>
629
629
EnableIfBitcastShuffle<T> SubgroupShuffleDown (T x, id<1 > local_id) {
630
630
using ShuffleT = ConvertToNativeShuffleType_t<T>;
631
- auto ShuffleX = detail:: bit_cast<ShuffleT>(x);
631
+ auto ShuffleX = bit_cast<ShuffleT>(x);
632
632
#ifndef __NVPTX__
633
633
ShuffleT Result = __spirv_SubgroupShuffleDownINTEL (
634
634
ShuffleX, ShuffleX, static_cast <uint32_t >(local_id.get (0 )));
635
635
#else
636
636
ShuffleT Result =
637
637
__nvvm_shfl_sync_down_i32 (membermask (), ShuffleX, local_id.get (0 ), 0x1f );
638
638
#endif
639
- return detail:: bit_cast<T>(Result);
639
+ return bit_cast<T>(Result);
640
640
}
641
641
642
642
template <typename T>
643
643
EnableIfBitcastShuffle<T> SubgroupShuffleUp (T x, id<1 > local_id) {
644
644
using ShuffleT = ConvertToNativeShuffleType_t<T>;
645
- auto ShuffleX = detail:: bit_cast<ShuffleT>(x);
645
+ auto ShuffleX = bit_cast<ShuffleT>(x);
646
646
#ifndef __NVPTX__
647
647
ShuffleT Result = __spirv_SubgroupShuffleUpINTEL (
648
648
ShuffleX, ShuffleX, static_cast <uint32_t >(local_id.get (0 )));
649
649
#else
650
650
ShuffleT Result =
651
651
__nvvm_shfl_sync_up_i32 (membermask (), ShuffleX, local_id.get (0 ), 0 );
652
652
#endif
653
- return detail:: bit_cast<T>(Result);
653
+ return bit_cast<T>(Result);
654
654
}
655
655
656
656
// Generic shuffles may require multiple calls to SubgroupShuffle
0 commit comments