mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-26 12:20:42 +00:00
X86TTI: Add accurate costs for itofp operations, based on the actual instruction counts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178459 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -271,10 +271,33 @@ unsigned X86TTI::getCastInstrCost(unsigned Opcode, Type *Dst, Type *Src) const {
|
||||
{ ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i32, 1 },
|
||||
{ ISD::TRUNCATE, MVT::v4i32, MVT::v4i64, 1 },
|
||||
{ ISD::TRUNCATE, MVT::v8i16, MVT::v8i32, 1 },
|
||||
{ ISD::SINT_TO_FP, MVT::v8f32, MVT::v8i8, 1 },
|
||||
{ ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i8, 1 },
|
||||
{ ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i8, 1 },
|
||||
{ ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i8, 1 },
|
||||
|
||||
{ ISD::SINT_TO_FP, MVT::v8f32, MVT::v8i1, 8 },
|
||||
{ ISD::SINT_TO_FP, MVT::v8f32, MVT::v8i8, 8 },
|
||||
{ ISD::SINT_TO_FP, MVT::v8f32, MVT::v8i16, 5 },
|
||||
{ ISD::SINT_TO_FP, MVT::v8f32, MVT::v8i32, 1 },
|
||||
{ ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i1, 3 },
|
||||
{ ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i8, 3 },
|
||||
{ ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i16, 3 },
|
||||
{ ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i32, 1 },
|
||||
{ ISD::SINT_TO_FP, MVT::v4f64, MVT::v4i1, 3 },
|
||||
{ ISD::SINT_TO_FP, MVT::v4f64, MVT::v4i8, 3 },
|
||||
{ ISD::SINT_TO_FP, MVT::v4f64, MVT::v4i16, 3 },
|
||||
{ ISD::SINT_TO_FP, MVT::v4f64, MVT::v4i32, 1 },
|
||||
|
||||
{ ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i1, 6 },
|
||||
{ ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i8, 5 },
|
||||
{ ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i16, 5 },
|
||||
{ ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i32, 9 },
|
||||
{ ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i1, 7 },
|
||||
{ ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i8, 2 },
|
||||
{ ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i16, 2 },
|
||||
{ ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i32, 6 },
|
||||
{ ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i1, 7 },
|
||||
{ ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i8, 2 },
|
||||
{ ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i16, 2 },
|
||||
{ ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i32, 6 },
|
||||
|
||||
{ ISD::FP_TO_SINT, MVT::v8i8, MVT::v8f32, 1 },
|
||||
{ ISD::FP_TO_SINT, MVT::v4i8, MVT::v4f32, 1 },
|
||||
{ ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i1, 6 },
|
||||
|
||||
Reference in New Issue
Block a user