summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2019-04-22 15:10:42 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2019-04-22 15:10:42 +0000
commit8f624abc1d9943d80c93f95c19e33aac67d8a47d (patch)
tree25a472a422eb6cc76e159f733c1c0486336810f6 /llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
parentf5c7f3ad33eb66ee80648f0ca040b0f6e1731e0a (diff)
downloadbcm5719-llvm-8f624abc1d9943d80c93f95c19e33aac67d8a47d.tar.gz
bcm5719-llvm-8f624abc1d9943d80c93f95c19e33aac67d8a47d.zip
GlobalISel: Legalize scalar G_EXTRACT sources
llvm-svn: 358892
Diffstat (limited to 'llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp')
-rw-r--r--llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
index 71e7b169ad0..4b592b33987 100644
--- a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
@@ -902,6 +902,13 @@ LegalizerHelper::widenScalarExtract(MachineInstr &MI, unsigned TypeIdx,
return Legalized;
}
+ if (SrcTy.isScalar()) {
+ Observer.changingInstr(MI);
+ widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ANYEXT);
+ Observer.changedInstr(MI);
+ return Legalized;
+ }
+
if (!SrcTy.isVector())
return UnableToLegalize;
OpenPOWER on IntegriCloud