diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-02-07 18:14:39 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-02-07 18:14:39 +0000 |
commit | c0f7569aab704435ba3517b9326b3f20432b1ae2 (patch) | |
tree | 464a19c5e53b004c8382782c6523153e72ee42fa /llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | |
parent | 04cbd988f9452c24dcb0353d674f859761952d21 (diff) | |
download | bcm5719-llvm-c0f7569aab704435ba3517b9326b3f20432b1ae2.tar.gz bcm5719-llvm-c0f7569aab704435ba3517b9326b3f20432b1ae2.zip |
AMDGPU/GlobalISel: Legalize fsqrt
llvm-svn: 353438
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp')
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp index 3a157235bdd..419e7112316 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp @@ -161,6 +161,18 @@ AMDGPULegalizerInfo::AMDGPULegalizerInfo(const GCNSubtarget &ST, .scalarize(0) .clampScalar(0, ST.has16BitInsts() ? S16 : S32, S64); + if (ST.has16BitInsts()) { + getActionDefinitionsBuilder(G_FSQRT) + .legalFor({S32, S64, S16}) + .scalarize(0) + .clampScalar(0, S16, S64); + } else { + getActionDefinitionsBuilder(G_FSQRT) + .legalFor({S32, S64}) + .scalarize(0) + .clampScalar(0, S32, S64); + } + getActionDefinitionsBuilder(G_FPTRUNC) .legalFor({{S32, S64}, {S16, S32}}) .scalarize(0); |