]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
RISC-V: Add vector registers in TARGET_CONDITIONAL_REGISTER_USAGE
authorzhongjuzhe <juzhe.zhong@rivai.ai>
Tue, 30 Aug 2022 06:27:52 +0000 (14:27 +0800)
committerKito Cheng <kito.cheng@sifive.com>
Thu, 1 Sep 2022 02:01:54 +0000 (10:01 +0800)
gcc/ChangeLog:

* config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector
registers.

gcc/config/riscv/riscv.cc

index 30cbf00542e9c8b2f342cafafffad430baaffb53..675d92c0961b304a0acd98701e091754ef673c02 100644 (file)
@@ -5438,6 +5438,15 @@ riscv_conditional_register_usage (void)
       for (int regno = FP_REG_FIRST; regno <= FP_REG_LAST; regno++)
        call_used_regs[regno] = 1;
     }
+
+  if (!TARGET_VECTOR)
+    {
+      for (int regno = V_REG_FIRST; regno <= V_REG_LAST; regno++)
+       fixed_regs[regno] = call_used_regs[regno] = 1;
+
+      fixed_regs[VTYPE_REGNUM] = call_used_regs[VTYPE_REGNUM] = 1;
+      fixed_regs[VL_REGNUM] = call_used_regs[VL_REGNUM] = 1;
+    }
 }
 
 /* Return a register priority for hard reg REGNO.  */