aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
diff options
context:
space:
mode:
authorScott Michel <scottm@aero.org>2008-11-20 05:01:09 +0000
committerScott Michel <scottm@aero.org>2008-11-20 05:01:09 +0000
commit4379efced76ef5b4e90d1e235e745acd2bc2a9e9 (patch)
tree7904c6d7df4c51bfd44029c19900298a41a31816 /lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
parentd43390498291c475a6e277fcd5d3bbf5abd3b41e (diff)
CellSPU: Custom lower truncating stores of i8 to i1 (should not have been
promote), fix signed conversion of indexed offsets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59707 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp')
-rw-r--r--lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp b/lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
index 2fdac3376c..3037ba30fa 100644
--- a/lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
+++ b/lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp
@@ -189,9 +189,10 @@ namespace {
assert(MO.isImm() &&
"printMemRegImmS10 first operand is not immedate");
int64_t value = int64_t(MI->getOperand(OpNo).getImm());
- assert((value >= -(1 << (9+4)) && value <= (1 << (9+4)) - 1)
+ int16_t value16 = int16_t(value);
+ assert((value16 >= -(1 << (9+4)) && value16 <= (1 << (9+4)) - 1)
&& "Invalid dform s10 offset argument");
- O << value << "(";
+ O << value16 << "(";
printOperand(MI, OpNo+1);
O << ")";
}