projects
/
oota-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f27bb6d
)
64-bit bugfix: 0xFFFF0000 cannot be formed with a single lis.
author
Chris Lattner
<sabre@nondot.org>
Tue, 20 Jun 2006 21:39:30 +0000
(21:39 +0000)
committer
Chris Lattner
<sabre@nondot.org>
Tue, 20 Jun 2006 21:39:30 +0000
(21:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28880
91177308
-0d34-0410-b5e6-
96231b3b80d8
lib/Target/PowerPC/PPCInstrInfo.td
patch
|
blob
|
history
diff --git
a/lib/Target/PowerPC/PPCInstrInfo.td
b/lib/Target/PowerPC/PPCInstrInfo.td
index 943885feac6e60ee0c157af8aa27944037a481bc..3d7eb9a6ca728fdf886ed257007258ca2769e51b 100644
(file)
--- a/
lib/Target/PowerPC/PPCInstrInfo.td
+++ b/
lib/Target/PowerPC/PPCInstrInfo.td
@@
-143,7
+143,11
@@
def immZExt16 : PatLeaf<(imm), [{
def imm16Shifted : PatLeaf<(imm), [{
// imm16Shifted predicate - True if only bits in the top 16-bits of the
// immediate are set. Used by instructions like 'addis'.
- return ((unsigned)N->getValue() & 0xFFFF0000U) == (unsigned)N->getValue();
+ if (N->getValue() & 0xFFFF) return false;
+ if (N->getValueType(0) == MVT::i32)
+ return true;
+ // For 64-bit, make sure it is sext right.
+ return N->getValue() == (uint64_t)(int)N->getValue();
}], HI16>;