summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-10-01 13:10:16 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-10-01 13:10:16 +0000
commit7c5c0eabc998ac51e99039eab0bde875e72d7b9f (patch)
tree5211ace373e2217145003f5818cf328773e22063 /llvm/lib
parent012402346fb796e159129676fd022e8e9c68afa4 (diff)
downloadbcm5719-llvm-7c5c0eabc998ac51e99039eab0bde875e72d7b9f.tar.gz
bcm5719-llvm-7c5c0eabc998ac51e99039eab0bde875e72d7b9f.zip
[SystemZ] Allow selects with a high-word destination
llvm-svn: 191751
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/SystemZ/SystemZISelLowering.cpp1
-rw-r--r--llvm/lib/Target/SystemZ/SystemZInstrInfo.td5
2 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp b/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
index cb0f445cf74..46824e60fc4 100644
--- a/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
+++ b/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
@@ -2874,6 +2874,7 @@ SystemZTargetLowering::emitStringWrapper(MachineInstr *MI,
MachineBasicBlock *SystemZTargetLowering::
EmitInstrWithCustomInserter(MachineInstr *MI, MachineBasicBlock *MBB) const {
switch (MI->getOpcode()) {
+ case SystemZ::Select32Mux:
case SystemZ::Select32:
case SystemZ::SelectF32:
case SystemZ::Select64:
diff --git a/llvm/lib/Target/SystemZ/SystemZInstrInfo.td b/llvm/lib/Target/SystemZ/SystemZInstrInfo.td
index 00229260f67..ac1ca3ce18b 100644
--- a/llvm/lib/Target/SystemZ/SystemZInstrInfo.td
+++ b/llvm/lib/Target/SystemZ/SystemZInstrInfo.td
@@ -198,8 +198,9 @@ let Defs = [CC] in {
// Select instructions
//===----------------------------------------------------------------------===//
-def Select32 : SelectWrapper<GR32>;
-def Select64 : SelectWrapper<GR64>;
+def Select32Mux : SelectWrapper<GRX32>, Requires<[FeatureHighWord]>;
+def Select32 : SelectWrapper<GR32>;
+def Select64 : SelectWrapper<GR64>;
defm CondStore8 : CondStores<GR32, nonvolatile_truncstorei8,
nonvolatile_anyextloadi8, bdxaddr20only>;
OpenPOWER on IntegriCloud