diff options
author | Chris Lattner <sabre@nondot.org> | 2005-12-06 02:10:38 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-12-06 02:10:38 +0000 |
commit | 4172b10ca1adfc1026428e5f522aaab98bd939ad (patch) | |
tree | 3cc398b7781b0de7424bf94dfcdc80a04850733d /lib/Target/PowerPC/PPCISelLowering.h | |
parent | eda80a0decb94d9a01f303ec1a132984afe8ea62 (diff) |
Use new PPC-specific nodes to represent shifts which require the 6-bit
amount handling that PPC provides. These are generated by the lowering code
and prevents the dag combiner from assuming (rightfully) that the shifts
don't only look at 5 bits. This fixes a miscompilation of crafty with
the new front-end.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24615 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCISelLowering.h')
-rw-r--r-- | lib/Target/PowerPC/PPCISelLowering.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/PPCISelLowering.h b/lib/Target/PowerPC/PPCISelLowering.h index d68ac14a85..392e735aa5 100644 --- a/lib/Target/PowerPC/PPCISelLowering.h +++ b/lib/Target/PowerPC/PPCISelLowering.h @@ -49,6 +49,12 @@ namespace llvm { /// GlobalBaseReg - On Darwin, this node represents the result of the mflr /// at function entry, used for PIC code. GlobalBaseReg, + + + /// These nodes represent the 32-bit PPC shifts that operate on 6-bit + /// shift amounts. These nodes are generated by the multi-precision shift + /// code. + SRL, SRA, SHL, }; } |