[llvm-commits] CVS: llvm/lib/Target/ARM/ARMISelLowering.cpp

Evan Cheng evan.cheng at apple.com
Wed Jan 31 01:31:14 PST 2007



Changes in directory llvm/lib/Target/ARM:

ARMISelLowering.cpp updated: 1.9 -> 1.10
---
Log message:

Specify the right CC for comparison libcalls.


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

 ARMISelLowering.cpp |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+)


Index: llvm/lib/Target/ARM/ARMISelLowering.cpp
diff -u llvm/lib/Target/ARM/ARMISelLowering.cpp:1.9 llvm/lib/Target/ARM/ARMISelLowering.cpp:1.10
--- llvm/lib/Target/ARM/ARMISelLowering.cpp:1.9	Wed Jan 31 02:40:13 2007
+++ llvm/lib/Target/ARM/ARMISelLowering.cpp	Wed Jan 31 03:30:58 2007
@@ -58,6 +58,16 @@
     setLibcallName(RTLIB::OGE_F32, "__gesf2vfp");
     setLibcallName(RTLIB::OGT_F32, "__gtsf2vfp");
     setLibcallName(RTLIB::UO_F32,  "__unordsf2vfp");
+    setLibcallName(RTLIB::O_F32,   "__unordsf2vfp");
+
+    setCmpLibcallCC(RTLIB::OEQ_F32, ISD::SETNE);
+    setCmpLibcallCC(RTLIB::UNE_F32, ISD::SETNE);
+    setCmpLibcallCC(RTLIB::OLT_F32, ISD::SETNE);
+    setCmpLibcallCC(RTLIB::OLE_F32, ISD::SETNE);
+    setCmpLibcallCC(RTLIB::OGE_F32, ISD::SETNE);
+    setCmpLibcallCC(RTLIB::OGT_F32, ISD::SETNE);
+    setCmpLibcallCC(RTLIB::UO_F32,  ISD::SETNE);
+    setCmpLibcallCC(RTLIB::O_F32,   ISD::SETEQ);
 
     // Double-precision comparisons.
     setLibcallName(RTLIB::OEQ_F64, "__eqdf2vfp");
@@ -67,6 +77,16 @@
     setLibcallName(RTLIB::OGE_F64, "__gedf2vfp");
     setLibcallName(RTLIB::OGT_F64, "__gtdf2vfp");
     setLibcallName(RTLIB::UO_F64,  "__unorddf2vfp");
+    setLibcallName(RTLIB::O_F64,   "__unorddf2vfp");
+
+    setCmpLibcallCC(RTLIB::OEQ_F64, ISD::SETNE);
+    setCmpLibcallCC(RTLIB::UNE_F64, ISD::SETNE);
+    setCmpLibcallCC(RTLIB::OLT_F64, ISD::SETNE);
+    setCmpLibcallCC(RTLIB::OLE_F64, ISD::SETNE);
+    setCmpLibcallCC(RTLIB::OGE_F64, ISD::SETNE);
+    setCmpLibcallCC(RTLIB::OGT_F64, ISD::SETNE);
+    setCmpLibcallCC(RTLIB::UO_F64,  ISD::SETNE);
+    setCmpLibcallCC(RTLIB::O_F64,   ISD::SETEQ);
 
     // Floating-point to integer conversions.
     // i64 conversions are done via library routines even when generating VFP






More information about the llvm-commits mailing list