Do not try to use i8 and i16 versions of FP_TO_U/SINT soft float library calls
authorMichael Kuperstein <michael.m.kuperstein@intel.com>
Tue, 15 Dec 2015 12:55:50 +0000 (12:55 +0000)
committerMichael Kuperstein <michael.m.kuperstein@intel.com>
Tue, 15 Dec 2015 12:55:50 +0000 (12:55 +0000)
commit926403958d366588237c34b740cb944b3524d344
tree270ecc27563cb4c0ddd243834c052580af0fcf37
parenteaa28289cda4e67adf000ecb5e01b4d96ba17603
Do not try to use i8 and i16 versions of FP_TO_U/SINT soft float library calls

It appears that neither compiler-rt nor the gnu soft-float libraries actually
implement these conversions. Instead of emitting calls to library functions
that don't exist, handle it similarly to the way we handle i8 -> float and
i16 -> float conversions: call the i32 library function, and adjust the type.

Differential Revision: http://reviews.llvm.org/D15151

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255643 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/RuntimeLibcalls.h
lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
lib/CodeGen/SelectionDAG/LegalizeTypes.h
lib/CodeGen/TargetLoweringBase.cpp
test/CodeGen/X86/soft-sitofp.ll