[llvm-commits] [llvm] r148869 - in /llvm/trunk: lib/Target/Mips/MipsInstrFPU.td test/CodeGen/Mips/mips64ext.ll

Akira Hatanaka ahatanaka at mips.com
Tue Jan 24 14:05:25 PST 2012


Author: ahatanak
Date: Tue Jan 24 16:05:25 2012
New Revision: 148869

URL: http://llvm.org/viewvc/llvm-project?rev=148869&view=rev
Log:
Pattern for f32 to i64 conversion.


Modified:
    llvm/trunk/lib/Target/Mips/MipsInstrFPU.td
    llvm/trunk/test/CodeGen/Mips/mips64ext.ll

Modified: llvm/trunk/lib/Target/Mips/MipsInstrFPU.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsInstrFPU.td?rev=148869&r1=148868&r2=148869&view=diff
==============================================================================
--- llvm/trunk/lib/Target/Mips/MipsInstrFPU.td (original)
+++ llvm/trunk/lib/Target/Mips/MipsInstrFPU.td Tue Jan 24 16:05:25 2012
@@ -337,6 +337,7 @@
             (CVT_D64_L (DMTC1 CPU64Regs:$src))>;
 
   def : Pat<(i32 (fp_to_sint FGR64:$src)), (MFC1 (TRUNC_W_D64 FGR64:$src))>;
+  def : Pat<(i64 (fp_to_sint FGR32:$src)), (DMFC1 (TRUNC_L_S FGR32:$src))>;    
   def : Pat<(i64 (fp_to_sint FGR64:$src)), (DMFC1 (TRUNC_L_D64 FGR64:$src))>;
 
   def : Pat<(f32 (fround FGR64:$src)), (CVT_S_D64 FGR64:$src)>;

Modified: llvm/trunk/test/CodeGen/Mips/mips64ext.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Mips/mips64ext.ll?rev=148869&r1=148868&r2=148869&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Mips/mips64ext.ll (original)
+++ llvm/trunk/test/CodeGen/Mips/mips64ext.ll Tue Jan 24 16:05:25 2012
@@ -17,3 +17,10 @@
   ret i64 %conv
 }
 
+define i64 @i64_float(float %f) nounwind readnone {
+entry:
+; CHECK: trunc.l.s 
+  %conv = fptosi float %f to i64
+  ret i64 %conv
+}
+





More information about the llvm-commits mailing list