[llvm-commits] CVS: llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
Reid Spencer
reid at x10sys.com
Thu May 3 20:37:56 PDT 2007
Changes in directory llvm/lib/ExecutionEngine/Interpreter:
Execution.cpp updated: 1.180 -> 1.181
---
Log message:
Bitcast all the bits of a floating point value, not just one. The zero
extension is needed because the constructor for the Destination value
causes the APInt to have a bit width of 1.
Patch by Guoling Han.
---
Diffs of the changes: (+2 -0)
Execution.cpp | 2 ++
1 files changed, 2 insertions(+)
Index: llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
diff -u llvm/lib/ExecutionEngine/Interpreter/Execution.cpp:1.180 llvm/lib/ExecutionEngine/Interpreter/Execution.cpp:1.181
--- llvm/lib/ExecutionEngine/Interpreter/Execution.cpp:1.180 Thu Apr 26 13:19:35 2007
+++ llvm/lib/ExecutionEngine/Interpreter/Execution.cpp Thu May 3 22:37:38 2007
@@ -1087,8 +1087,10 @@
Dest.PointerVal = Src.PointerVal;
} else if (DstTy->isInteger()) {
if (SrcTy == Type::FloatTy) {
+ Dest.IntVal.zext(sizeof(Src.FloatVal) * 8);
Dest.IntVal.floatToBits(Src.FloatVal);
} else if (SrcTy == Type::DoubleTy) {
+ Dest.IntVal.zext(sizeof(Src.DoubleVal) * 8);
Dest.IntVal.doubleToBits(Src.DoubleVal);
} else if (SrcTy->isInteger()) {
Dest.IntVal = Src.IntVal;
More information about the llvm-commits
mailing list