https://gcc.gnu.org/g:fe10ca6e3cf583640155812b230a0153ce4dc7b7
commit r16-455-gfe10ca6e3cf583640155812b230a0153ce4dc7b7 Author: Richard Earnshaw <rearn...@arm.com> Date: Mon Mar 31 18:06:54 2025 +0100 arm: select CCFPEmode for LTGT [PR91323] Besides Arm, there are three other ports that define both CCFPmode and CCFPEmode. AArch64 and Sparc return CCFPEmode for LTGT; the other, Visium, doesn't support LTGT at all. AArch64 was changed in r8-5286-g8332c5ee8c5f3b, and Sparc with r10-2926-g000a5f8d23c04c. I suspect this issue is latent on Arm because cbranch?f4 and cstore?f4 reject LTGT and UNEQ and we fall back to a generic expansion which happens to work. Nevertheless, this patch updates the relevant bits of the Arm port to match the specification introduced in r10-2926-g000a5f8d23c04c. gcc/ChangeLog: PR target/91323 * config/arm/arm.cc (arm_select_cc_mode): Use CCFPEmode for LTGT. Diff: --- gcc/config/arm/arm.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc index fccddb0e7bc5..6bdb68aa7881 100644 --- a/gcc/config/arm/arm.cc +++ b/gcc/config/arm/arm.cc @@ -16211,13 +16211,13 @@ arm_select_cc_mode (enum rtx_code op, rtx x, rtx y) case UNGT: case UNGE: case UNEQ: - case LTGT: return CCFPmode; case LT: case LE: case GT: case GE: + case LTGT: return (flag_finite_math_only ? CCFPmode : CCFPEmode);