[llvm-commits] [llvm] r38514 - in /llvm/trunk/lib/Target/X86: X86FloatingPoint.cpp X86InstrFPStack.td

Dale Johannesen dalej at apple.com
Tue Jul 10 14:53:30 PDT 2007


Author: johannes
Date: Tue Jul 10 16:53:30 2007
New Revision: 38514

URL: http://llvm.org/viewvc/llvm-project?rev=38514&view=rev
Log:
Fix fp_constant_op failure.

Modified:
    llvm/trunk/lib/Target/X86/X86FloatingPoint.cpp
    llvm/trunk/lib/Target/X86/X86InstrFPStack.td

Modified: llvm/trunk/lib/Target/X86/X86FloatingPoint.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86FloatingPoint.cpp?rev=38514&r1=38513&r2=38514&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86FloatingPoint.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86FloatingPoint.cpp Tue Jul 10 16:53:30 2007
@@ -326,8 +326,9 @@
 static const TableEntry OpcodeTable[] = {
   { X86::ABS_Fp32     , X86::ABS_F     },
   { X86::ABS_Fp64     , X86::ABS_F     },
-  { X86::ADD_Fp32m   , X86::ADD_F32m  },
-  { X86::ADD_Fp64m   , X86::ADD_F64m  },
+  { X86::ADD_Fp32m    , X86::ADD_F32m  },
+  { X86::ADD_Fp64m    , X86::ADD_F64m  },
+  { X86::ADD_Fp64m32  , X86::ADD_F32m  },
   { X86::ADD_FpI16m32 , X86::ADD_FI16m },
   { X86::ADD_FpI16m64 , X86::ADD_FI16m },
   { X86::ADD_FpI32m32 , X86::ADD_FI32m },
@@ -354,12 +355,14 @@
   { X86::COS_Fp64     , X86::COS_F     },
   { X86::DIVR_Fp32m   , X86::DIVR_F32m },
   { X86::DIVR_Fp64m   , X86::DIVR_F64m },
+  { X86::DIVR_Fp64m32 , X86::DIVR_F32m },
   { X86::DIVR_FpI16m32, X86::DIVR_FI16m},
   { X86::DIVR_FpI16m64, X86::DIVR_FI16m},
   { X86::DIVR_FpI32m32, X86::DIVR_FI32m},
   { X86::DIVR_FpI32m64, X86::DIVR_FI32m},
   { X86::DIV_Fp32m    , X86::DIV_F32m  },
   { X86::DIV_Fp64m    , X86::DIV_F64m  },
+  { X86::DIV_Fp64m32  , X86::DIV_F32m  },
   { X86::DIV_FpI16m32 , X86::DIV_FI16m },
   { X86::DIV_FpI16m64 , X86::DIV_FI16m },
   { X86::DIV_FpI32m32 , X86::DIV_FI32m },
@@ -390,6 +393,7 @@
   { X86::LD_Fp64m     , X86::LD_F64m   },
   { X86::MUL_Fp32m    , X86::MUL_F32m  },
   { X86::MUL_Fp64m    , X86::MUL_F64m  },
+  { X86::MUL_Fp64m32  , X86::MUL_F32m  },
   { X86::MUL_FpI16m32 , X86::MUL_FI16m },
   { X86::MUL_FpI16m64 , X86::MUL_FI16m },
   { X86::MUL_FpI32m32 , X86::MUL_FI32m },
@@ -403,12 +407,14 @@
   { X86::ST_Fp64m32   , X86::ST_F32m   },
   { X86::SUBR_Fp32m   , X86::SUBR_F32m },
   { X86::SUBR_Fp64m   , X86::SUBR_F64m },
+  { X86::SUBR_Fp64m32 , X86::SUBR_F32m },
   { X86::SUBR_FpI16m32, X86::SUBR_FI16m},
   { X86::SUBR_FpI16m64, X86::SUBR_FI16m},
   { X86::SUBR_FpI32m32, X86::SUBR_FI32m},
   { X86::SUBR_FpI32m64, X86::SUBR_FI32m},
   { X86::SUB_Fp32m    , X86::SUB_F32m  },
   { X86::SUB_Fp64m    , X86::SUB_F64m  },
+  { X86::SUB_Fp64m32  , X86::SUB_F32m  },
   { X86::SUB_FpI16m32 , X86::SUB_FI16m },
   { X86::SUB_FpI16m64 , X86::SUB_FI16m },
   { X86::SUB_FpI32m32 , X86::SUB_FI32m },

Modified: llvm/trunk/lib/Target/X86/X86InstrFPStack.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrFPStack.td?rev=38514&r1=38513&r2=38514&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrFPStack.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrFPStack.td Tue Jul 10 16:53:30 2007
@@ -172,6 +172,9 @@
 def _Fp64m  : FpI<(ops RFP64:$dst, RFP64:$src1, f64mem:$src2), OneArgFPRW,
                   [(set RFP64:$dst, 
                     (OpNode RFP64:$src1, (loadf64 addr:$src2)))]>;
+def _Fp64m32: FpI<(ops RFP64:$dst, RFP64:$src1, f32mem:$src2), OneArgFPRW,
+                  [(set RFP64:$dst, 
+                    (OpNode RFP64:$src1, (extloadf32 addr:$src2)))]>;
 def _F32m  : FPI<0xD8, fp, (ops f32mem:$src), 
                  !strconcat("f", !strconcat(asmstring, "{s} $src"))>;
 def _F64m  : FPI<0xDC, fp, (ops f64mem:$src), 





More information about the llvm-commits mailing list