From: wangpc The condition is RISCV_FUSE_ZEXTH, which is a mistake.
gcc/ChangeLog: * config/riscv/riscv.cc (riscv_macro_fusion_pair_p): Fix condition. --- gcc/config/riscv/riscv.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc index 8ae65760b6e..87a62119b01 100644 --- a/gcc/config/riscv/riscv.cc +++ b/gcc/config/riscv/riscv.cc @@ -8089,7 +8089,7 @@ riscv_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr) return false; if (simple_sets_p && (riscv_fusion_enabled_p (RISCV_FUSE_ZEXTW) || - riscv_fusion_enabled_p (RISCV_FUSE_ZEXTH))) + riscv_fusion_enabled_p (RISCV_FUSE_ZEXTWS))) { /* We are trying to match the following: prev (slli) == (set (reg:DI rD) -- 2.20.1