On 2/24/25 3:22 AM, Yuriy Kolerov wrote:
zce must imply zcf but this rule was corrupted after
refactoring in 9e12010b5e724277ea. This may be observed
ater generating an .s file from any source code file with
-mriscv-attribute -march=rv32if_zce -mabi=ilp32 -S
options. A full march will be presented in arch attribute:

     rv32i2p1_f2p2_zicsr2p0_zca1p0_zcb1p0_zce1p0_zcmp1p0_zcmt1p0

As you see, zcf is not presented here though f_zce pair is
passed in -march. According to The RISC-V Instruction
Set Manual:

     Specifying Zce on RV32 with F includes Zca, Zcb, Zcmp,
     Zcmt and Zcf.

        PR target/118906

gcc/ChangeLog:

        * common/config/riscv/riscv-common.cc: fix zce to zcf
        implication.

gcc/testsuite/ChangeLog:

        * gcc.target/riscv/attribute-zce-1.c: New test.
        * gcc.target/riscv/attribute-zce-2.c: New test.
        * gcc.target/riscv/attribute-zce-3.c: New test.
        * gcc.target/riscv/attribute-zce-4.c: New test.
Thanks.  I've pushed this to the trunk.
jeff

Reply via email to