diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-04-22 15:10:42 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-04-22 15:10:42 +0000 |
| commit | 8f624abc1d9943d80c93f95c19e33aac67d8a47d (patch) | |
| tree | 25a472a422eb6cc76e159f733c1c0486336810f6 /llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp | |
| parent | f5c7f3ad33eb66ee80648f0ca040b0f6e1731e0a (diff) | |
| download | bcm5719-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.cpp | 7 |
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; |

