[gcc(refs/vendors/riscv/heads/gcc-13-with-riscv-opts)] RISC-V: Add type attribute in *<optab>_not_const<mode> pattern

Jeff Law law@gcc.gnu.org
Mon Oct 9 12:50:43 GMT 2023


https://gcc.gnu.org/g:2f7b0c65e7627334e74a4b3ca39b14536b872bff

commit 2f7b0c65e7627334e74a4b3ca39b14536b872bff
Author: Jivan Hakobyan <jivanhakobyan9@gmail.com>
Date:   Fri Sep 29 21:21:02 2023 -0600

    RISC-V: Add type attribute in *<optab>_not_const<mode> pattern
    
    After f088b768d01a commit riscv_sched_variable_issue function requires
    that all insns should have a type attribute.
    
    When I sent my previous patch there was no such limitation.
    Currently, I have regressions on my tests. This patch fixes them.
    
    gcc/ChangeLog:
            * config/riscv/bitmanip.md (*<optab>_not_const<mode>): Added type attribute
    
    (cherry picked from commit d6fe757b39297c1c0cf243acee860d045726c184)

Diff:
---
 gcc/config/riscv/bitmanip.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gcc/config/riscv/bitmanip.md b/gcc/config/riscv/bitmanip.md
index 0f45bad14d0..a9c8275fca7 100644
--- a/gcc/config/riscv/bitmanip.md
+++ b/gcc/config/riscv/bitmanip.md
@@ -225,7 +225,9 @@
   "#"
   "&& reload_completed"
   [(set (match_dup 3) (match_dup 2))
-   (set (match_dup 0) (bitmanip_bitwise:X (not:X (match_dup 1)) (match_dup 3)))])
+   (set (match_dup 0) (bitmanip_bitwise:X (not:X (match_dup 1)) (match_dup 3)))]
+  ""
+  [(set_attr "type" "bitmanip")])
 
 ;; '(a >= 0) ? b : 0' is emitted branchless (from if-conversion).  Without a
 ;; bit of extra help for combine (i.e., the below split), we end up emitting


More information about the Gcc-cvs mailing list