https://gcc.gnu.org/g:40bf0770563501f4c6d7e92cdaa1fa36dddd1caa

commit r15-7717-g40bf0770563501f4c6d7e92cdaa1fa36dddd1caa
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Wed Feb 26 19:28:09 2025 +0100

    arm: Fix up REVERSE_CONDITION macro [PR119002]
    
    The linaro CI found my PR119002 patch broke bootstrap on arm.
    Seems the problem is that it has incorrect REVERSE_CONDITION macro
    definition.
    All other target's REVERSE_CONDITION definitions and the default one
    just use the macro's arguments, while arm.h definition uses the MODE
    argument but uses code instead of CODE (the first argument).
    This happens to work because before my patch the only use of the
    macro was in jump.cc with
      /* First see if machine description supplies us way to reverse the
         comparison.  Give it priority over everything else to allow
         machine description to do tricks.  */
      if (GET_MODE_CLASS (mode) == MODE_CC
          && REVERSIBLE_CC_MODE (mode))
        return REVERSE_CONDITION (code, mode);
    but in my patch it is used with GT rather than code.
    
    2025-02-26  Jakub Jelinek  <ja...@redhat.com>
    
            PR rtl-optimization/119002
            * config/arm/arm.h (REVERSE_CONDITION): Use CODE - the macro
            argument - in the macro rather than code.

Diff:
---
 gcc/config/arm/arm.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 73ca00a8de35..8472b7561272 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -2261,8 +2261,8 @@ extern int making_const_table;
 
 #define REVERSE_CONDITION(CODE,MODE) \
   (((MODE) == CCFPmode || (MODE) == CCFPEmode) \
-   ? reverse_condition_maybe_unordered (code) \
-   : reverse_condition (code))
+   ? reverse_condition_maybe_unordered (CODE) \
+   : reverse_condition (CODE))
 
 #define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \
   ((VALUE) = GET_MODE_UNIT_BITSIZE (MODE), 2)

Reply via email to