mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-10 02:36:06 +00:00
Make a bunch of floating point operations on vectors Expand so that instruction selection won't fail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168028 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f48ef5594f
commit
44e394cf61
@ -347,6 +347,16 @@ PPCTargetLowering::PPCTargetLowering(PPCTargetMachine &TM)
|
||||
setOperationAction(ISD::UREM, VT, Expand);
|
||||
setOperationAction(ISD::FDIV, VT, Expand);
|
||||
setOperationAction(ISD::FNEG, VT, Expand);
|
||||
setOperationAction(ISD::FSQRT, VT, Expand);
|
||||
setOperationAction(ISD::FLOG, VT, Expand);
|
||||
setOperationAction(ISD::FLOG10, VT, Expand);
|
||||
setOperationAction(ISD::FLOG2, VT, Expand);
|
||||
setOperationAction(ISD::FEXP, VT, Expand);
|
||||
setOperationAction(ISD::FEXP2, VT, Expand);
|
||||
setOperationAction(ISD::FSIN, VT, Expand);
|
||||
setOperationAction(ISD::FCOS, VT, Expand);
|
||||
setOperationAction(ISD::FABS, VT, Expand);
|
||||
setOperationAction(ISD::FPOWI, VT, Expand);
|
||||
setOperationAction(ISD::FFLOOR, VT, Expand);
|
||||
setOperationAction(ISD::FCEIL, VT, Expand);
|
||||
setOperationAction(ISD::FTRUNC, VT, Expand);
|
||||
@ -378,12 +388,6 @@ PPCTargetLowering::PPCTargetLowering(PPCTargetMachine &TM)
|
||||
setLoadExtAction(ISD::EXTLOAD, VT, Expand);
|
||||
}
|
||||
|
||||
for (unsigned i = (unsigned)MVT::FIRST_FP_VECTOR_VALUETYPE;
|
||||
i <= (unsigned)MVT::LAST_FP_VECTOR_VALUETYPE; ++i) {
|
||||
MVT::SimpleValueType VT = (MVT::SimpleValueType)i;
|
||||
setOperationAction(ISD::FSQRT, VT, Expand);
|
||||
}
|
||||
|
||||
// We can custom expand all VECTOR_SHUFFLEs to VPERM, others we can handle
|
||||
// with merges, splats, etc.
|
||||
setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v16i8, Custom);
|
||||
|
Loading…
x
Reference in New Issue
Block a user