forked from OSchip/llvm-project
NVPTX: Make the llvm.nvvm.shfl intrinsics and builtin names consistent
The intrinsics here use nvvm, but the builtins and tablegen variable names were using ptx. Stick to the modern names here. llvm-svn: 274662
This commit is contained in:
parent
820ca5404c
commit
b3745b6d24
|
@ -3752,41 +3752,41 @@ def int_ptx_bar_sync : Intrinsic<[], [llvm_i32_ty], [IntrConvergent]>,
|
|||
//
|
||||
|
||||
// shfl.down.b32 dest, val, offset, mask_and_clamp
|
||||
def int_ptx_shfl_down_i32 :
|
||||
def int_nvvm_shfl_down_i32 :
|
||||
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
|
||||
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.down.i32">,
|
||||
GCCBuiltin<"__builtin_ptx_shfl_down_i32">;
|
||||
def int_ptx_shfl_down_f32 :
|
||||
GCCBuiltin<"__nvvm_shfl_down_i32">;
|
||||
def int_nvvm_shfl_down_f32 :
|
||||
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_i32_ty, llvm_i32_ty],
|
||||
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.down.f32">,
|
||||
GCCBuiltin<"__builtin_ptx_shfl_down_f32">;
|
||||
GCCBuiltin<"__nvvm_shfl_down_f32">;
|
||||
|
||||
// shfl.up.b32 dest, val, offset, mask_and_clamp
|
||||
def int_ptx_shfl_up_i32 :
|
||||
def int_nvvm_shfl_up_i32 :
|
||||
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
|
||||
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.up.i32">,
|
||||
GCCBuiltin<"__builtin_ptx_shfl_up_i32">;
|
||||
def int_ptx_shfl_up_f32 :
|
||||
GCCBuiltin<"__nvvm_shfl_up_i32">;
|
||||
def int_nvvm_shfl_up_f32 :
|
||||
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_i32_ty, llvm_i32_ty],
|
||||
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.up.f32">,
|
||||
GCCBuiltin<"__builtin_ptx_shfl_up_f32">;
|
||||
GCCBuiltin<"__nvvm_shfl_up_f32">;
|
||||
|
||||
// shfl.bfly.b32 dest, val, offset, mask_and_clamp
|
||||
def int_ptx_shfl_bfly_i32 :
|
||||
def int_nvvm_shfl_bfly_i32 :
|
||||
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
|
||||
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.bfly.i32">,
|
||||
GCCBuiltin<"__builtin_ptx_shfl_bfly_i32">;
|
||||
def int_ptx_shfl_bfly_f32 :
|
||||
GCCBuiltin<"__nvvm_shfl_bfly_i32">;
|
||||
def int_nvvm_shfl_bfly_f32 :
|
||||
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_i32_ty, llvm_i32_ty],
|
||||
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.bfly.f32">,
|
||||
GCCBuiltin<"__builtin_ptx_shfl_bfly_f32">;
|
||||
GCCBuiltin<"__nvvm_shfl_bfly_f32">;
|
||||
|
||||
// shfl.idx.b32 dest, val, lane, mask_and_clamp
|
||||
def int_ptx_shfl_idx_i32 :
|
||||
def int_nvvm_shfl_idx_i32 :
|
||||
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
|
||||
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.idx.i32">,
|
||||
GCCBuiltin<"__builtin_ptx_shfl_idx_i32">;
|
||||
def int_ptx_shfl_idx_f32 :
|
||||
GCCBuiltin<"__nvvm_shfl_idx_i32">;
|
||||
def int_nvvm_shfl_idx_f32 :
|
||||
Intrinsic<[llvm_float_ty], [llvm_float_ty, llvm_i32_ty, llvm_i32_ty],
|
||||
[IntrNoMem, IntrConvergent], "llvm.nvvm.shfl.idx.f32">,
|
||||
GCCBuiltin<"__builtin_ptx_shfl_idx_f32">;
|
||||
GCCBuiltin<"__nvvm_shfl_idx_f32">;
|
||||
|
|
|
@ -96,14 +96,14 @@ multiclass SHFL<NVPTXRegClass regclass, string mode, Intrinsic IntOp> {
|
|||
[(set regclass:$dst, (IntOp regclass:$src, imm:$offset, imm:$mask))]>;
|
||||
}
|
||||
|
||||
defm INT_SHFL_DOWN_I32 : SHFL<Int32Regs, "down", int_ptx_shfl_down_i32>;
|
||||
defm INT_SHFL_DOWN_F32 : SHFL<Float32Regs, "down", int_ptx_shfl_down_f32>;
|
||||
defm INT_SHFL_UP_I32 : SHFL<Int32Regs, "up", int_ptx_shfl_up_i32>;
|
||||
defm INT_SHFL_UP_F32 : SHFL<Float32Regs, "up", int_ptx_shfl_up_f32>;
|
||||
defm INT_SHFL_BFLY_I32 : SHFL<Int32Regs, "bfly", int_ptx_shfl_bfly_i32>;
|
||||
defm INT_SHFL_BFLY_F32 : SHFL<Float32Regs, "bfly", int_ptx_shfl_bfly_f32>;
|
||||
defm INT_SHFL_IDX_I32 : SHFL<Int32Regs, "idx", int_ptx_shfl_idx_i32>;
|
||||
defm INT_SHFL_IDX_F32 : SHFL<Float32Regs, "idx", int_ptx_shfl_idx_f32>;
|
||||
defm INT_SHFL_DOWN_I32 : SHFL<Int32Regs, "down", int_nvvm_shfl_down_i32>;
|
||||
defm INT_SHFL_DOWN_F32 : SHFL<Float32Regs, "down", int_nvvm_shfl_down_f32>;
|
||||
defm INT_SHFL_UP_I32 : SHFL<Int32Regs, "up", int_nvvm_shfl_up_i32>;
|
||||
defm INT_SHFL_UP_F32 : SHFL<Float32Regs, "up", int_nvvm_shfl_up_f32>;
|
||||
defm INT_SHFL_BFLY_I32 : SHFL<Int32Regs, "bfly", int_nvvm_shfl_bfly_i32>;
|
||||
defm INT_SHFL_BFLY_F32 : SHFL<Float32Regs, "bfly", int_nvvm_shfl_bfly_f32>;
|
||||
defm INT_SHFL_IDX_I32 : SHFL<Int32Regs, "idx", int_nvvm_shfl_idx_i32>;
|
||||
defm INT_SHFL_IDX_F32 : SHFL<Float32Regs, "idx", int_nvvm_shfl_idx_f32>;
|
||||
|
||||
} // isConvergent = 1
|
||||
|
||||
|
|
Loading…
Reference in New Issue