Fixed wrong assertion
authorBenjamin Segovia <segovia.benjamin@gmail.com>
Fri, 4 May 2012 19:22:14 +0000 (19:22 +0000)
committerKeith Packard <keithp@keithp.com>
Fri, 10 Aug 2012 23:17:07 +0000 (16:17 -0700)
backend/src/llvm/llvm_gen_backend.cpp

index c867969..0d95748 100644 (file)
@@ -849,7 +849,6 @@ namespace gbe
   }
 
   void GenWriter::emitFCmpInst(FCmpInst &I) {
-    GBE_ASSERT(I.getType() != Type::getInt1Ty(I.getContext()));
 
     // Get the element type and the number of elements
     uint32_t elemNum;
@@ -883,8 +882,9 @@ namespace gbe
   void GenWriter::regAllocateCastInst(CastInst &I) {
     Value *dstValue = &I;
     Value *srcValue = I.getOperand(0);
+    const auto op = I.getOpcode();
 
-    switch (I.getOpcode())
+    switch (op)
     {
       // When casting pointer to integers, be aware with integers
       case Instruction::PtrToInt:
@@ -918,6 +918,7 @@ namespace gbe
       case Instruction::ZExt:
       case Instruction::FPExt:
       case Instruction::FPTrunc:
+      case Instruction::Trunc:
         this->newRegister(&I);
       break;
       default: NOT_SUPPORTED;
@@ -950,6 +951,7 @@ namespace gbe
       case Instruction::ZExt:
       case Instruction::FPExt:
       case Instruction::FPTrunc:
+      case Instruction::Trunc:
       {
         // Get the element type for a vector
         uint32_t elemNum;