diff options
author | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-10-01 13:02:28 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@linux.vnet.ibm.com> | 2013-10-01 13:02:28 +0000 |
commit | 4c8feae136bbb54ba09d8f8dc7e61714270f7cd5 (patch) | |
tree | 2f2a7a5e5d8a4d6f3d8f998ec3221d6ef640004c /lib/Target/SystemZ/SystemZAsmPrinter.cpp | |
parent | 441aeddd56d000ff77460586961a523e41edd205 (diff) | |
download | llvm-4c8feae136bbb54ba09d8f8dc7e61714270f7cd5.tar.gz llvm-4c8feae136bbb54ba09d8f8dc7e61714270f7cd5.tar.bz2 llvm-4c8feae136bbb54ba09d8f8dc7e61714270f7cd5.tar.xz |
[SystemZ] Add patterns to load a constant into a high word (IIHF)
Similar to low words, we can use the shorter LLIHL and LLIHH if it turns
out that the other half of the GR64 isn't live.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191750 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/SystemZ/SystemZAsmPrinter.cpp')
-rw-r--r-- | lib/Target/SystemZ/SystemZAsmPrinter.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/SystemZ/SystemZAsmPrinter.cpp b/lib/Target/SystemZ/SystemZAsmPrinter.cpp index 9ad5c8bdc6..0a89a96862 100644 --- a/lib/Target/SystemZ/SystemZAsmPrinter.cpp +++ b/lib/Target/SystemZ/SystemZAsmPrinter.cpp @@ -82,6 +82,12 @@ void SystemZAsmPrinter::EmitInstruction(const MachineInstr *MI) { .addImm(MI->getOperand(2).getImm()); break; + case SystemZ::IIHF64: + LoweredMI = MCInstBuilder(SystemZ::IIHF) + .addReg(SystemZMC::getRegAsGRH32(MI->getOperand(0).getReg())) + .addImm(MI->getOperand(2).getImm()); + break; + case SystemZ::RISBHH: case SystemZ::RISBHL: LoweredMI = lowerRIEfLow(MI, SystemZ::RISBHG); |