On 7/9/24 1:10 AM, Fei Gao wrote:
According to Zc-1.0.4-3.pdf from
https://github.com/riscvarchive/riscv-code-size-reduction/releases/tag/v1.0.4-3
The rule is that:
- C always implies Zca
- C+F implies Zcf (RV32 only)
- C+D implies Zcd

Signed-off-by: Fei Gao <gao...@eswincomputing.com>

gcc/ChangeLog:

        * common/config/riscv/riscv-common.cc:
        c implies zca, and conditionally zcf & zcd.

gcc/testsuite/ChangeLog:

        * gcc.target/riscv/attribute-15.c: adapt TC.
        * gcc.target/riscv/attribute-18.c: likewise.
        * gcc.target/riscv/pr110696.c: likewise.
        * gcc.target/riscv/rvv/base/abi-callee-saved-1-zcmp.c: likewise.
        * gcc.target/riscv/rvv/base/abi-callee-saved-2-zcmp.c: likewise.
        * gcc.target/riscv/rvv/base/pr114352-1.c: likewise.
        * gcc.target/riscv/rvv/base/pr114352-3.c: likewise.
        * gcc.target/riscv/arch-39.c: New test.
        * gcc.target/riscv/arch-40.c: New test.
It looks like this is failing the pre-commit testing:

New Failures Across All Affected Targets (8 targets / 8 total targets)
FAIL: gcc.target/riscv/attribute-16.c   -O0   scan-assembler .attribute arch, 
"rv32i2p1_m2p0_a2p0_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1p0"
FAIL: gcc.target/riscv/attribute-16.c   -O1   scan-assembler .attribute arch, 
"rv32i2p1_m2p0_a2p0_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1p0"
FAIL: gcc.target/riscv/attribute-16.c   -O2   scan-assembler .attribute arch, 
"rv32i2p1_m2p0_a2p0_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1p0"
FAIL: gcc.target/riscv/attribute-16.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none   scan-assembler .attribute arch, 
"rv32i2p1_m2p0_a2p0_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1p0"
FAIL: gcc.target/riscv/attribute-16.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects   scan-assembler .attribute arch, 
"rv32i2p1_m2p0_a2p0_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1p0"
FAIL: gcc.target/riscv/attribute-16.c   -O3 -g   scan-assembler .attribute arch, 
"rv32i2p1_m2p0_a2p0_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1p0"
FAIL: gcc.target/riscv/attribute-16.c   -Os   scan-assembler .attribute arch, 
"rv32i2p1_m2p0_a2p0_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1p0"
FAIL: gcc.target/riscv/attribute-17.c   -O0   scan-assembler .attribute arch, 
"rv32i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1p0"
FAIL: gcc.target/riscv/attribute-17.c   -O1   scan-assembler .attribute arch, 
"rv32i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1p0"
FAIL: gcc.target/riscv/attribute-17.c   -O2   scan-assembler .attribute arch, 
"rv32i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1p0"
FAIL: gcc.target/riscv/attribute-17.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none   scan-assembler .attribute arch, 
"rv32i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1p0"
FAIL: gcc.target/riscv/attribute-17.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects   scan-assembler .attribute arch, 
"rv32i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1p0"
FAIL: gcc.target/riscv/attribute-17.c   -O3 -g   scan-assembler .attribute arch, 
"rv32i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1p0"
FAIL: gcc.target/riscv/attribute-17.c   -Os   scan-assembler .attribute arch, 
"rv32i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1p0"
FAIL: gcc.target/riscv/pr110696.c   -O0   scan-assembler .attribute arch, 
"rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_v1p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1_zca1p0_zcd1p0_zve32f1p0_zve32x1p0_zve64d1p0_zve64f1p0_zve64x1p0_zvl1024b1p0_zvl128b1p0_zvl2048b1p0_zvl256b1p0_zvl32b1p0_zvl4096b1p0_zvl512b1p0_zvl64b1p0"
FAIL: gcc.target/riscv/pr110696.c   -O1   scan-assembler .attribute arch, 
"rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_v1p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1_zca1p0_zcd1p0_zve32f1p0_zve32x1p0_zve64d1p0_zve64f1p0_zve64x1p0_zvl1024b1p0_zvl128b1p0_zvl2048b1p0_zvl256b1p0_zvl32b1p0_zvl4096b1p0_zvl512b1p0_zvl64b1p0"
FAIL: gcc.target/riscv/pr110696.c   -O2   scan-assembler .attribute arch, 
"rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_v1p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1_zca1p0_zcd1p0_zve32f1p0_zve32x1p0_zve64d1p0_zve64f1p0_zve64x1p0_zvl1024b1p0_zvl128b1p0_zvl2048b1p0_zvl256b1p0_zvl32b1p0_zvl4096b1p0_zvl512b1p0_zvl64b1p0"
FAIL: gcc.target/riscv/pr110696.c   -O2 -flto -fno-use-linker-plugin -flto-partition=none 
  scan-assembler .attribute arch, 
"rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_v1p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1_zca1p0_zcd1p0_zve32f1p0_zve32x1p0_zve64d1p0_zve64f1p0_zve64x1p0_zvl1024b1p0_zvl128b1p0_zvl2048b1p0_zvl256b1p0_zvl32b1p0_zvl4096b1p0_zvl512b1p0_zvl64b1p0"
FAIL: gcc.target/riscv/pr110696.c   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects   
scan-assembler .attribute arch, 
"rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_v1p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1_zca1p0_zcd1p0_zve32f1p0_zve32x1p0_zve64d1p0_zve64f1p0_zve64x1p0_zvl1024b1p0_zvl128b1p0_zvl2048b1p0_zvl256b1p0_zvl32b1p0_zvl4096b1p0_zvl512b1p0_zvl64b1p0"
FAIL: gcc.target/riscv/pr110696.c   -O3 -g   scan-assembler .attribute arch, 
"rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_v1p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1_zca1p0_zcd1p0_zve32f1p0_zve32x1p0_zve64d1p0_zve64f1p0_zve64x1p0_zvl1024b1p0_zvl128b1p0_zvl2048b1p0_zvl256b1p0_zvl32b1p0_zvl4096b1p0_zvl512b1p0_zvl64b1p0"
FAIL: gcc.target/riscv/pr110696.c   -Os   scan-assembler .attribute arch, 
"rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_v1p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1_zca1p0_zcd1p0_zve32f1p0_zve32x1p0_zve64d1p0_zve64f1p0_zve64x1p0_zvl1024b1p0_zvl128b1p0_zvl2048b1p0_zvl256b1p0_zvl32b1p0_zvl4096b1p0_zvl512b1p0_zvl64b1p0"
FAIL: gcc.target/riscv/rvv/base/pr114352-1.c scan-assembler .attribute arch, 
"rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1_zca1p0_zcd1p0"
FAIL: gcc.target/riscv/rvv/base/pr114352-1.c scan-assembler .option arch, 
rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_v1p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1_zca1p0_zcd1p0_zve32f1p0_zve32x1p0_zve64d1p0_zve64f1p0_zve64x1p0_zvl128b1p0_zvl32b1p0_zvl64b1p0
FAIL: gcc.target/riscv/rvv/base/pr114352-3.c scan-assembler .attribute arch, 
"rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1_zca1p0_zcd1p0"
FAIL: gcc.target/riscv/rvv/base/pr114352-3.c scan-assembler .option arch, 
rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_v1p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1_zca1p0_zcd1p0_zve32f1p0_zve32x1p0_zve64d1p0_zve64f1p0_zve64x1p0_zvl128b1p0_zvl32b1p0_zvl64b1p0
FAIL: gcc.target/riscv/rvv/base/pr114352-3.c scan-assembler .option arch, 
rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zaamo1p0_zalrsc1_zca1p0_zcd1p0_zbb1p0
FAIL: gcc.target/riscv/rvv/base/pr114352-3.c scan-assembler .option arch, 
rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zfh1p0_zfhmin1p0_zaamo1p0_zalrsc1_zca1p0_zcd1p0


You probably want to address those new failures before committing, even with Kito's LGTM.

jeff

Reply via email to