forked from OSchip/llvm-project
[OpenCL] Fix atomic_fetch_add/sub with half type
An error in the tablegen description affects the declarations provided by `-fdeclare-opencl-builtins` for `atomic_fetch_add` and `atomic_fetch_sub`. The atomic argument should be an atomic_half, not an atomic_float.
This commit is contained in:
parent
356705f94f
commit
fe690587be
|
@ -1138,7 +1138,7 @@ let MinVersion = CL20 in {
|
|||
foreach ModOp = ["add", "sub"] in {
|
||||
let Extension = FuncExtFloatAtomicsFp16GlobalAdd in {
|
||||
defm : BuiltinAtomicExplicit<"atomic_fetch_" # ModOp,
|
||||
[Half, PointerType<VolatileType<AtomicFloat>, GlobalAS>, Half]>;
|
||||
[Half, PointerType<VolatileType<AtomicHalf>, GlobalAS>, Half]>;
|
||||
}
|
||||
let Extension = FuncExtFloatAtomicsFp32GlobalAdd in {
|
||||
defm : BuiltinAtomicExplicit<"atomic_fetch_" # ModOp,
|
||||
|
@ -1150,7 +1150,7 @@ let MinVersion = CL20 in {
|
|||
}
|
||||
let Extension = FuncExtFloatAtomicsFp16LocalAdd in {
|
||||
defm : BuiltinAtomicExplicit<"atomic_fetch_" # ModOp,
|
||||
[Half, PointerType<VolatileType<AtomicFloat>, LocalAS>, Half]>;
|
||||
[Half, PointerType<VolatileType<AtomicHalf>, LocalAS>, Half]>;
|
||||
}
|
||||
let Extension = FuncExtFloatAtomicsFp32LocalAdd in {
|
||||
defm : BuiltinAtomicExplicit<"atomic_fetch_" # ModOp,
|
||||
|
@ -1162,7 +1162,7 @@ let MinVersion = CL20 in {
|
|||
}
|
||||
let Extension = FuncExtFloatAtomicsFp16GenericAdd in {
|
||||
defm : BuiltinAtomicExplicit<"atomic_fetch_" # ModOp,
|
||||
[Half, PointerType<VolatileType<AtomicFloat>, GenericAS>, Half]>;
|
||||
[Half, PointerType<VolatileType<AtomicHalf>, GenericAS>, Half]>;
|
||||
}
|
||||
let Extension = FuncExtFloatAtomicsFp32GenericAdd in {
|
||||
defm : BuiltinAtomicExplicit<"atomic_fetch_" # ModOp,
|
||||
|
|
Loading…
Reference in New Issue