summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-02-25 03:04:36 +0000
committerDan Gohman <gohman@apple.com>2010-02-25 03:04:36 +0000
commitec4e1b67bfd7891a2ef1ddb46007915ef7f28130 (patch)
treeeb6d3693aa6bf98ffe12a33080ffa441e40aa899
parent4a99c34873643eacec5a57302d9a84db11510b97 (diff)
downloadbcm5719-llvm-ec4e1b67bfd7891a2ef1ddb46007915ef7f28130.tar.gz
bcm5719-llvm-ec4e1b67bfd7891a2ef1ddb46007915ef7f28130.zip
Truncate from i64 to i32 is "free" on x86-32, because it involves
just discarding one of the registers. llvm-svn: 97100
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 43d230f0746..eb0a995432e 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -7780,7 +7780,7 @@ bool X86TargetLowering::isTruncateFree(const Type *Ty1, const Type *Ty2) const {
unsigned NumBits2 = Ty2->getPrimitiveSizeInBits();
if (NumBits1 <= NumBits2)
return false;
- return Subtarget->is64Bit() || NumBits1 < 64;
+ return true;
}
bool X86TargetLowering::isTruncateFree(EVT VT1, EVT VT2) const {
@@ -7790,7 +7790,7 @@ bool X86TargetLowering::isTruncateFree(EVT VT1, EVT VT2) const {
unsigned NumBits2 = VT2.getSizeInBits();
if (NumBits1 <= NumBits2)
return false;
- return Subtarget->is64Bit() || NumBits1 < 64;
+ return true;
}
bool X86TargetLowering::isZExtFree(const Type *Ty1, const Type *Ty2) const {
OpenPOWER on IntegriCloud