Changes in directory llvm/lib/Target/X86:
X86ISelLowering.cpp updated: 1.45 -> 1.46 --- Log message: SSE does not support i64 SINT_TO_FP (FP stack doesn't either, but we custom expand it), so ask legalizer to expand i32 UINT_TO_FP. --- Diffs of the changes: (+6 -1) X86ISelLowering.cpp | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletion(-) Index: llvm/lib/Target/X86/X86ISelLowering.cpp diff -u llvm/lib/Target/X86/X86ISelLowering.cpp:1.45 llvm/lib/Target/X86/X86ISelLowering.cpp:1.46 --- llvm/lib/Target/X86/X86ISelLowering.cpp:1.45 Mon Jan 16 18:37:42 2006 +++ llvm/lib/Target/X86/X86ISelLowering.cpp Mon Jan 16 20:32:49 2006 @@ -52,7 +52,12 @@ setOperationAction(ISD::UINT_TO_FP , MVT::i1 , Promote); setOperationAction(ISD::UINT_TO_FP , MVT::i8 , Promote); setOperationAction(ISD::UINT_TO_FP , MVT::i16 , Promote); - setOperationAction(ISD::UINT_TO_FP , MVT::i32 , Promote); + + if (X86ScalarSSE) + // No SSE i64 SINT_TO_FP, so expand i32 UINT_TO_FP instead. + setOperationAction(ISD::UINT_TO_FP , MVT::i32 , Expand); + else + setOperationAction(ISD::UINT_TO_FP , MVT::i32 , Promote); // Promote i1/i8 SINT_TO_FP to larger SINT_TO_FP's, as X86 doesn't have // this operation. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits