mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-19 19:12:56 +02:00
CodeGen: add sensible defaults for the ISD::FROUND operation
Some exotic types didn't know how to handle FROUND, which ARM64 uses. llvm-svn: 205088
This commit is contained in:
parent
77278bf93c
commit
0ce72b4b72
@ -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…
Reference in New Issue
Block a user