[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