From d6fe757b39297c1c0cf243acee860d045726c184 Mon Sep 17 00:00:00 2001 From: Jivan Hakobyan Date: Fri, 29 Sep 2023 21:21:02 -0600 Subject: [PATCH] RISC-V: Add type attribute in *_not_const 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 (*_not_const): Added type attribute --- 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 0f45bad14d04..a9c8275fca7b 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 -- 2.47.3