[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