mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 00:32:55 +00:00
CodeGen: add sensible defaults for the ISD::FROUND operation
Some exotic types didn't know how to handle FROUND, which ARM64 uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205088 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
bc702ae152
commit
483b0e996c
@ -205,6 +205,11 @@ static void InitLibcallNames(const char **Names, const TargetMachine &TM) {
|
||||
Names[RTLIB::FLOOR_F80] = "floorl";
|
||||
Names[RTLIB::FLOOR_F128] = "floorl";
|
||||
Names[RTLIB::FLOOR_PPCF128] = "floorl";
|
||||
Names[RTLIB::ROUND_F32] = "roundf";
|
||||
Names[RTLIB::ROUND_F64] = "round";
|
||||
Names[RTLIB::ROUND_F80] = "roundl";
|
||||
Names[RTLIB::ROUND_F128] = "roundl";
|
||||
Names[RTLIB::ROUND_PPCF128] = "roundl";
|
||||
Names[RTLIB::COPYSIGN_F32] = "copysignf";
|
||||
Names[RTLIB::COPYSIGN_F64] = "copysign";
|
||||
Names[RTLIB::COPYSIGN_F80] = "copysignl";
|
||||
@ -760,6 +765,7 @@ void TargetLoweringBase::initActions() {
|
||||
setOperationAction(ISD::FCEIL, MVT::f16, Expand);
|
||||
setOperationAction(ISD::FRINT, MVT::f16, Expand);
|
||||
setOperationAction(ISD::FTRUNC, MVT::f16, Expand);
|
||||
setOperationAction(ISD::FROUND, MVT::f16, Expand);
|
||||
setOperationAction(ISD::FLOG , MVT::f32, Expand);
|
||||
setOperationAction(ISD::FLOG2, MVT::f32, Expand);
|
||||
setOperationAction(ISD::FLOG10, MVT::f32, Expand);
|
||||
@ -770,6 +776,7 @@ void TargetLoweringBase::initActions() {
|
||||
setOperationAction(ISD::FCEIL, MVT::f32, Expand);
|
||||
setOperationAction(ISD::FRINT, MVT::f32, Expand);
|
||||
setOperationAction(ISD::FTRUNC, MVT::f32, Expand);
|
||||
setOperationAction(ISD::FROUND, MVT::f32, Expand);
|
||||
setOperationAction(ISD::FLOG , MVT::f64, Expand);
|
||||
setOperationAction(ISD::FLOG2, MVT::f64, Expand);
|
||||
setOperationAction(ISD::FLOG10, MVT::f64, Expand);
|
||||
@ -780,6 +787,7 @@ void TargetLoweringBase::initActions() {
|
||||
setOperationAction(ISD::FCEIL, MVT::f64, Expand);
|
||||
setOperationAction(ISD::FRINT, MVT::f64, Expand);
|
||||
setOperationAction(ISD::FTRUNC, MVT::f64, Expand);
|
||||
setOperationAction(ISD::FROUND, MVT::f64, Expand);
|
||||
setOperationAction(ISD::FLOG , MVT::f128, Expand);
|
||||
setOperationAction(ISD::FLOG2, MVT::f128, Expand);
|
||||
setOperationAction(ISD::FLOG10, MVT::f128, Expand);
|
||||
@ -790,6 +798,7 @@ void TargetLoweringBase::initActions() {
|
||||
setOperationAction(ISD::FCEIL, MVT::f128, Expand);
|
||||
setOperationAction(ISD::FRINT, MVT::f128, Expand);
|
||||
setOperationAction(ISD::FTRUNC, MVT::f128, Expand);
|
||||
setOperationAction(ISD::FROUND, MVT::f128, Expand);
|
||||
|
||||
// Default ISD::TRAP to expand (which turns it into abort).
|
||||
setOperationAction(ISD::TRAP, MVT::Other, Expand);
|
||||
|
Loading…
x
Reference in New Issue
Block a user