https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123307
Bug ID: 123307
Summary: signaling FP comparison for equal turned into quiet
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: igor at tachyum dot com
Target Milestone: ---
In the following snipet:
---
int f1(double a, double b) { return __builtin_iseqsig(a, b); }
int f2(double a, double b) { return a >= b && a <= b; }
int f3(double a, double b) { return a <= b && a >= b; }
---
signaling comparison in f2 and f3 turned into a quiet one prior to RTL expand
pass. That can only be done is NaN don't need to be honored