[llvm-commits] CVS: llvm/lib/Target/X86/InstSelectSimple.cpp

Chris Lattner lattner at cs.uiuc.edu
Tue Jun 15 16:43:01 PDT 2004


Changes in directory llvm/lib/Target/X86:

InstSelectSimple.cpp updated: 1.261 -> 1.262

---
Log message:

Add basic support for the isunordered intrinsic.  The isnan stuff still needs to go



---
Diffs of the changes:  (+9 -0)

Index: llvm/lib/Target/X86/InstSelectSimple.cpp
diff -u llvm/lib/Target/X86/InstSelectSimple.cpp:1.261 llvm/lib/Target/X86/InstSelectSimple.cpp:1.262
--- llvm/lib/Target/X86/InstSelectSimple.cpp:1.261	Fri Jun 11 00:33:49 2004
+++ llvm/lib/Target/X86/InstSelectSimple.cpp	Tue Jun 15 16:36:44 2004
@@ -1664,6 +1664,7 @@
           case Intrinsic::memcpy:
           case Intrinsic::memset:
           case Intrinsic::isnan:
+          case Intrinsic::isunordered:
           case Intrinsic::readport:
           case Intrinsic::writeport:
             // We directly implement these intrinsics
@@ -1742,6 +1743,14 @@
     BuildMI(BB, X86::SETPr, 0, TmpReg2);
     return;
 
+  case Intrinsic::isunordered:
+    TmpReg1 = getReg(CI.getOperand(1));
+    TmpReg2 = getReg(CI.getOperand(2));
+    emitUCOMr(BB, BB->end(), TmpReg2, TmpReg1);
+    TmpReg2 = getReg(CI);
+    BuildMI(BB, X86::SETPr, 0, TmpReg2);
+    return;
+
   case Intrinsic::memcpy: {
     assert(CI.getNumOperands() == 5 && "Illegal llvm.memcpy call!");
     unsigned Align = 1;





More information about the llvm-commits mailing list