@@ -952,13 +952,13 @@ uint __builtin_spirv_OpAtomicISub_p0i32_i32_i32_i32( volatile __private uint *Po
952952
953953uint __builtin_spirv_OpAtomicISub_p1i32_i32_i32_i32 ( volatile __global uint * Pointer , uint Scope , uint Semantics , uint Value )
954954{
955- atomic_operation_1op ( __builtin_IB_atomic_add_global_i32 , uint , (global int * )Pointer , Scope , Semantics , - as_int ( Value ) );
955+ atomic_operation_1op ( __builtin_IB_atomic_sub_global_i32 , uint , (global int * )Pointer , Scope , Semantics , Value );
956956}
957957
958958
959959uint __builtin_spirv_OpAtomicISub_p3i32_i32_i32_i32 ( volatile __local uint * Pointer , uint Scope , uint Semantics , uint Value )
960960{
961- atomic_operation_1op ( __builtin_IB_atomic_add_local_i32 , uint , (local int * )Pointer , Scope , Semantics , - as_int ( Value ) );
961+ atomic_operation_1op ( __builtin_IB_atomic_sub_local_i32 , uint , (local int * )Pointer , Scope , Semantics , Value );
962962}
963963
964964#if (__OPENCL_C_VERSION__ >= CL_VERSION_2_0 )
@@ -967,11 +967,11 @@ uint __builtin_spirv_OpAtomicISub_p4i32_i32_i32_i32( volatile __generic uint *Po
967967{
968968 if (__builtin_spirv_OpGenericCastToPtrExplicit_p3i8_p4i8_i32 (__builtin_astype ((Pointer ), __generic void * ), StorageWorkgroup ))
969969 {
970- atomic_operation_1op ( __builtin_IB_atomic_add_local_i32 , uint , (__local int * )Pointer , Scope , Semantics , - as_int ( Value ) );
970+ atomic_operation_1op ( __builtin_IB_atomic_sub_local_i32 , uint , (__local int * )Pointer , Scope , Semantics , Value );
971971 }
972972 else
973973 {
974- atomic_operation_1op ( __builtin_IB_atomic_add_global_i32 , uint , (__global int * )Pointer , Scope , Semantics , - as_int ( Value ) );
974+ atomic_operation_1op ( __builtin_IB_atomic_sub_global_i32 , uint , (__global int * )Pointer , Scope , Semantics , Value );
975975 }
976976}
977977
@@ -988,7 +988,7 @@ ulong __builtin_spirv_OpAtomicISub_p0i64_i32_i32_i64( volatile __private ulong *
988988
989989ulong __builtin_spirv_OpAtomicISub_p1i64_i32_i32_i64 ( volatile __global ulong * Pointer , uint Scope , uint Semantics , ulong Value )
990990{
991- atomic_operation_1op ( __builtin_IB_atomic_add_global_i64 , ulong , (global long* )Pointer , Scope , Semantics , - as_long ( Value ) );
991+ atomic_operation_1op ( __builtin_IB_atomic_sub_global_i64 , ulong , (global long* )Pointer , Scope , Semantics , Value );
992992}
993993
994994
0 commit comments