summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/SystemZ/SystemZPatterns.td
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-11-22 17:28:28 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-11-22 17:28:28 +0000
commitf03789ca3f5592579484d49e5a07ebec3feb5aa2 (patch)
treea7e84ada2d51c79302ad5ca73484358bf5d80b44 /llvm/lib/Target/SystemZ/SystemZPatterns.td
parent77aa674cc40d7eadbb88a37d70c02f6ee3bb1268 (diff)
downloadbcm5719-llvm-f03789ca3f5592579484d49e5a07ebec3feb5aa2.tar.gz
bcm5719-llvm-f03789ca3f5592579484d49e5a07ebec3feb5aa2.zip
[SystemZ] Fix TMHH and TMHL usage for z10 with -O0
I've no idea why I decided to handle TMxx differently from all the other high/low logic operations, but it was a stupid thing to do. The high registers aren't available as separate 32-bit registers on z10, so subreg_h32 can't be used on a GR64 there. I've normally been testing with z196 and with -O3 and so hadn't noticed this until now. llvm-svn: 195473
Diffstat (limited to 'llvm/lib/Target/SystemZ/SystemZPatterns.td')
-rw-r--r--llvm/lib/Target/SystemZ/SystemZPatterns.td8
1 files changed, 0 insertions, 8 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZPatterns.td b/llvm/lib/Target/SystemZ/SystemZPatterns.td
index f3ca60b27ad..7706351e54b 100644
--- a/llvm/lib/Target/SystemZ/SystemZPatterns.td
+++ b/llvm/lib/Target/SystemZ/SystemZPatterns.td
@@ -112,14 +112,6 @@ multiclass CondStores64<Instruction insn, Instruction insninv,
uimm8zx4:$valid, uimm8zx4:$cc)>;
}
-// INSN performs a comparison between a 32-bit register and a constant.
-// Record that it is equivalent to comparing subreg SUBREG of a GR64 with IMM.
-class CompareGR64RI<Instruction insn, SDPatternOperator compare,
- Immediate imm, SubRegIndex subreg>
- : Pat<(compare GR64:$R1, imm:$I2),
- (insn (EXTRACT_SUBREG GR64:$R1, subreg),
- (imm.OperandTransform imm:$I2))>;
-
// Try to use MVC instruction INSN for a load of type LOAD followed by a store
// of the same size. VT is the type of the intermediate (legalized) value and
// LENGTH is the number of bytes loaded by LOAD.
OpenPOWER on IntegriCloud