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);

Reply via email to