aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/SystemZ/SystemZInstrInfo.cpp
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-10-01 12:11:47 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-10-01 12:11:47 +0000
commitced450f0e6266eb8c2624fc1895cbc2749d715c3 (patch)
tree1f12f564ed9f888409bda19564d7cf132a894f9c /lib/Target/SystemZ/SystemZInstrInfo.cpp
parent55d7d83b6c9e55fa73d667660c8e90f92999385b (diff)
downloadexternal_llvm-ced450f0e6266eb8c2624fc1895cbc2749d715c3.zip
external_llvm-ced450f0e6266eb8c2624fc1895cbc2749d715c3.tar.gz
external_llvm-ced450f0e6266eb8c2624fc1895cbc2749d715c3.tar.bz2
[SystemZ] Add sign-extending high-word loads (LBH and LHH)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191740 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZInstrInfo.cpp')
-rw-r--r--lib/Target/SystemZ/SystemZInstrInfo.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZInstrInfo.cpp b/lib/Target/SystemZ/SystemZInstrInfo.cpp
index 798fa33..a1c0c36 100644
--- a/lib/Target/SystemZ/SystemZInstrInfo.cpp
+++ b/lib/Target/SystemZ/SystemZInstrInfo.cpp
@@ -806,6 +806,14 @@ SystemZInstrInfo::expandPostRAPseudo(MachineBasicBlock::iterator MI) const {
splitMove(MI, SystemZ::STD);
return true;
+ case SystemZ::LBMux:
+ expandRXYPseudo(MI, SystemZ::LB, SystemZ::LBH);
+ return true;
+
+ case SystemZ::LHMux:
+ expandRXYPseudo(MI, SystemZ::LH, SystemZ::LHH);
+ return true;
+
case SystemZ::LMux:
expandRXYPseudo(MI, SystemZ::L, SystemZ::LFH);
return true;