[llvm] r371811 - AMDGPU/GlobalISel: Legalize s32->s16 G_SITOFP/G_UITOFP
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 12 21:04:55 PDT 2019
Author: arsenm
Date: Thu Sep 12 21:04:55 2019
New Revision: 371811
URL: http://llvm.org/viewvc/llvm-project?rev=371811&view=rev
Log:
AMDGPU/GlobalISel: Legalize s32->s16 G_SITOFP/G_UITOFP
Modified:
llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-sitofp.mir
llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-uitofp.mir
Modified: llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp?rev=371811&r1=371810&r2=371811&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (original)
+++ llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp Thu Sep 12 21:04:55 2019
@@ -416,7 +416,7 @@ AMDGPULegalizerInfo::AMDGPULegalizerInfo
.scalarize(0);
getActionDefinitionsBuilder({G_SITOFP, G_UITOFP})
- .legalFor({{S32, S32}, {S64, S32}})
+ .legalFor({{S32, S32}, {S64, S32}, {S16, S32}})
.lowerFor({{S32, S64}})
.customFor({{S64, S64}})
.scalarize(0);
Modified: llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-sitofp.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-sitofp.mir?rev=371811&r1=371810&r2=371811&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-sitofp.mir (original)
+++ llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-sitofp.mir Thu Sep 12 21:04:55 2019
@@ -141,3 +141,20 @@ body: |
%1:_(s64) = G_SITOFP %0
$vgpr0_vgpr1 = COPY %1
...
+
+---
+name: test_sitofp_s32_to_s16
+body: |
+ bb.0:
+ liveins: $vgpr0
+
+ ; CHECK-LABEL: name: test_sitofp_s32_to_s16
+ ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
+ ; CHECK: [[SITOFP:%[0-9]+]]:_(s16) = G_SITOFP [[COPY]](s32)
+ ; CHECK: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[SITOFP]](s16)
+ ; CHECK: $vgpr0 = COPY [[ANYEXT]](s32)
+ %0:_(s32) = COPY $vgpr0
+ %1:_(s16) = G_SITOFP %0
+ %2:_(s32) = G_ANYEXT %1
+ $vgpr0 = COPY %2
+...
Modified: llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-uitofp.mir
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-uitofp.mir?rev=371811&r1=371810&r2=371811&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-uitofp.mir (original)
+++ llvm/trunk/test/CodeGen/AMDGPU/GlobalISel/legalize-uitofp.mir Thu Sep 12 21:04:55 2019
@@ -110,3 +110,20 @@ body: |
%1:_(s64) = G_UITOFP %0
$vgpr0_vgpr1 = COPY %1
...
+
+---
+name: test_uitofp_s32_to_s16
+body: |
+ bb.0:
+ liveins: $vgpr0
+
+ ; CHECK-LABEL: name: test_uitofp_s32_to_s16
+ ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0
+ ; CHECK: [[UITOFP:%[0-9]+]]:_(s16) = G_UITOFP [[COPY]](s32)
+ ; CHECK: [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[UITOFP]](s16)
+ ; CHECK: $vgpr0 = COPY [[ANYEXT]](s32)
+ %0:_(s32) = COPY $vgpr0
+ %1:_(s16) = G_UITOFP %0
+ %2:_(s32) = G_ANYEXT %1
+ $vgpr0 = COPY %2
+...
More information about the llvm-commits
mailing list