summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
diff options
context:
space:
mode:
authorChangpeng Fang <changpeng.fang@gmail.com>2018-01-18 22:08:53 +0000
committerChangpeng Fang <changpeng.fang@gmail.com>2018-01-18 22:08:53 +0000
commit4737e892def6f22ede1d8145569d4ddf147bdb02 (patch)
tree789dcab821d5a5a1914d21b9c64b234c58e9d789 /llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
parent668e6b4b05075ab410f020d96e98986ae98d78da (diff)
downloadbcm5719-llvm-4737e892def6f22ede1d8145569d4ddf147bdb02.tar.gz
bcm5719-llvm-4737e892def6f22ede1d8145569d4ddf147bdb02.zip
AMDGPU/SI: Add d16 support for image intrinsics.
Summary: This patch implements d16 support for image load, image store and image sample intrinsics. Reviewers: Matt, Brian. Differential Revision: https://reviews.llvm.org/D3991 llvm-svn: 322903
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
index 2b0aa301885..0ec2e8ebd34 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
@@ -4002,6 +4002,83 @@ const char* AMDGPUTargetLowering::getTargetNodeName(unsigned Opcode) const {
NODE_NAME_CASE(BUFFER_ATOMIC_OR)
NODE_NAME_CASE(BUFFER_ATOMIC_XOR)
NODE_NAME_CASE(BUFFER_ATOMIC_CMPSWAP)
+ NODE_NAME_CASE(IMAGE_LOAD)
+ NODE_NAME_CASE(IMAGE_LOAD_MIP)
+ NODE_NAME_CASE(IMAGE_STORE)
+ NODE_NAME_CASE(IMAGE_STORE_MIP)
+ // Basic sample.
+ NODE_NAME_CASE(IMAGE_SAMPLE)
+ NODE_NAME_CASE(IMAGE_SAMPLE_CL)
+ NODE_NAME_CASE(IMAGE_SAMPLE_D)
+ NODE_NAME_CASE(IMAGE_SAMPLE_D_CL)
+ NODE_NAME_CASE(IMAGE_SAMPLE_L)
+ NODE_NAME_CASE(IMAGE_SAMPLE_B)
+ NODE_NAME_CASE(IMAGE_SAMPLE_B_CL)
+ NODE_NAME_CASE(IMAGE_SAMPLE_LZ)
+ NODE_NAME_CASE(IMAGE_SAMPLE_CD)
+ NODE_NAME_CASE(IMAGE_SAMPLE_CD_CL)
+ // Sample with comparison.
+ NODE_NAME_CASE(IMAGE_SAMPLE_C)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_CL)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_D)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_D_CL)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_L)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_B)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_B_CL)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_LZ)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_CD)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_CD_CL)
+ // Sample with offsets.
+ NODE_NAME_CASE(IMAGE_SAMPLE_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_CL_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_D_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_D_CL_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_L_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_B_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_B_CL_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_LZ_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_CD_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_CD_CL_O)
+ // Sample with comparison and offsets.
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_CL_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_D_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_D_CL_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_L_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_B_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_B_CL_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_LZ_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_CD_O)
+ NODE_NAME_CASE(IMAGE_SAMPLE_C_CD_CL_O)
+ // Basic gather4.
+ NODE_NAME_CASE(IMAGE_GATHER4)
+ NODE_NAME_CASE(IMAGE_GATHER4_CL)
+ NODE_NAME_CASE(IMAGE_GATHER4_L)
+ NODE_NAME_CASE(IMAGE_GATHER4_B)
+ NODE_NAME_CASE(IMAGE_GATHER4_B_CL)
+ NODE_NAME_CASE(IMAGE_GATHER4_LZ)
+ // Gather4 with comparison.
+ NODE_NAME_CASE(IMAGE_GATHER4_C)
+ NODE_NAME_CASE(IMAGE_GATHER4_C_CL)
+ NODE_NAME_CASE(IMAGE_GATHER4_C_L)
+ NODE_NAME_CASE(IMAGE_GATHER4_C_B)
+ NODE_NAME_CASE(IMAGE_GATHER4_C_B_CL)
+ NODE_NAME_CASE(IMAGE_GATHER4_C_LZ)
+ // Gather4 with offsets.
+ NODE_NAME_CASE(IMAGE_GATHER4_O)
+ NODE_NAME_CASE(IMAGE_GATHER4_CL_O)
+ NODE_NAME_CASE(IMAGE_GATHER4_L_O)
+ NODE_NAME_CASE(IMAGE_GATHER4_B_O)
+ NODE_NAME_CASE(IMAGE_GATHER4_B_CL_O)
+ NODE_NAME_CASE(IMAGE_GATHER4_LZ_O)
+ // Gather4 with comparison and offsets.
+ NODE_NAME_CASE(IMAGE_GATHER4_C_O)
+ NODE_NAME_CASE(IMAGE_GATHER4_C_CL_O)
+ NODE_NAME_CASE(IMAGE_GATHER4_C_L_O)
+ NODE_NAME_CASE(IMAGE_GATHER4_C_B_O)
+ NODE_NAME_CASE(IMAGE_GATHER4_C_B_CL_O)
+ NODE_NAME_CASE(IMAGE_GATHER4_C_LZ_O)
+
case AMDGPUISD::LAST_AMDGPU_ISD_NUMBER: break;
}
return nullptr;
OpenPOWER on IntegriCloud