https://gcc.gnu.org/g:3bc7af0e2b06131465b8de560692c7011b45cf22

commit r14-10911-g3bc7af0e2b06131465b8de560692c7011b45cf22
Author: John David Anglin <dang...@gcc.gnu.org>
Date:   Fri Nov 8 16:54:48 2024 -0500

    hppa: Don't use '%' operator in base14_operand
    
    Division is slow on hppa and mode sizes are powers of 2.  So, we
    can use '&' operator to check displacement alignment.
    
    2024-11-08  John David Anglin  <dang...@gcc.gnu.org>
    
    gcc/ChangeLog:
    
            * config/pa/predicates.md (base14_operand): Use '&' operator
            instead of '%' to check displacement alignment.

Diff:
---
 gcc/config/pa/predicates.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/pa/predicates.md b/gcc/config/pa/predicates.md
index 50dffa1138ca..74f75770676e 100644
--- a/gcc/config/pa/predicates.md
+++ b/gcc/config/pa/predicates.md
@@ -285,7 +285,7 @@
       return false;
 
     default:
-      return (INTVAL (op) % GET_MODE_SIZE (mode)) == 0;
+      return (INTVAL (op) & (GET_MODE_SIZE (mode) - 1)) == 0;
     }
 
   return false;

Reply via email to