-
Notifications
You must be signed in to change notification settings - Fork 10.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PowerPC] Forbid f128 SELECT_CC optimized into fsel #71497
Conversation
fsel only supports f32 and f64.
@@ -8080,7 +8080,8 @@ SDValue PPCTargetLowering::LowerSELECT_CC(SDValue Op, SelectionDAG &DAG) const { | |||
// For more information, see section F.3 of the 2.06 ISA specification. | |||
// With ISA 3.0 | |||
if ((!DAG.getTarget().Options.NoInfsFPMath && !Flags.hasNoInfs()) || | |||
(!DAG.getTarget().Options.NoNaNsFPMath && !Flags.hasNoNaNs())) | |||
(!DAG.getTarget().Options.NoNaNsFPMath && !Flags.hasNoNaNs()) || | |||
ResVT == MVT::f128) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does that mean fsel also does not support ppc_fp128
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, we don't have instruction for ppc_fp128
fsel. The motivating case exists from 097a95f , which sets select_cc f128
as custom, while we don't have that lowering for ppc_fp128
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But 097a95f will not try to custom SELECT_CC
to fsel for ppc_fp128, right? That commit is only for ieee long double.
Do we have other pattern that will generate fsel operating on ppc_fp128 type?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No. PPCISD::FSEL
is only generated in LowerSELECT_CC
, while SELECT_CC ppc_fp128
is expand.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank-you!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems reasonable to me.
Please wait for one day in case @lei137 has other concerns. Thanks for fixing this.
fsel only supports f32 and f64.