]> git.ipfire.org Git - thirdparty/gcc.git/commit
RISC-V: Add dg-remove-option for z* extensions
authorPatrick O'Neill <patrick@rivosinc.com>
Mon, 24 Jun 2024 19:06:15 +0000 (12:06 -0700)
committerPatrick O'Neill <patrick@rivosinc.com>
Mon, 24 Jun 2024 20:09:46 +0000 (13:09 -0700)
commit580c37f1ef7db8e7a398184eb8f5d7555124d30a
tree0abf4b3fc888b79a5f2fd923f522109c6ad45574
parentf02c70dafd384f0c44d7a0920f4a75a30e267045
RISC-V: Add dg-remove-option for z* extensions

This introduces testsuite support infra for removing extensions.
Since z* extensions don't have ordering requirements the logic for
adding/removing those extensions has also been consolidated.

This fixes RVWMO compile testcases failing on Ztso targets by removing
the extension from the -march string.

gcc/ChangeLog:

* doc/sourcebuild.texi (dg-remove-option): Add documentation.
(dg-add-option): Add documentation for riscv_{a,zaamo,zalrsc,ztso}

gcc/testsuite/ChangeLog:

* gcc.target/riscv/amo/amo-table-a-6-amo-add-1.c: Add dg-remove-options
for ztso.
* gcc.target/riscv/amo/amo-table-a-6-amo-add-2.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-amo-add-3.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-amo-add-4.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-amo-add-5.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-compare-exchange-1.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-compare-exchange-2.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-compare-exchange-3.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-compare-exchange-4.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-compare-exchange-5.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-compare-exchange-6.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-compare-exchange-7.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-fence-1.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-fence-2.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-fence-3.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-fence-4.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-fence-5.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-load-1.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-load-2.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-load-3.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-store-1.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-store-2.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-store-compat-3.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-1.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-2.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-3.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-4.c: Ditto.
* gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-5.c: Ditto.
* gcc.target/riscv/amo/amo-zalrsc-amo-add-1.c: Replace manually
specified -march string with dg-add/remove-options directives.
* gcc.target/riscv/amo/amo-zalrsc-amo-add-2.c: Ditto.
* gcc.target/riscv/amo/amo-zalrsc-amo-add-3.c: Ditto.
* gcc.target/riscv/amo/amo-zalrsc-amo-add-4.c: Ditto.
* gcc.target/riscv/amo/amo-zalrsc-amo-add-5.c: Ditto.
* lib/target-supports-dg.exp: Add dg-remove-options.
* lib/target-supports.exp: Add dg-remove-options and consolidate z*
extension add/remove-option code.

Signed-off-by: Patrick O'Neill <patrick@rivosinc.com>
36 files changed:
gcc/doc/sourcebuild.texi
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-amo-add-1.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-amo-add-2.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-amo-add-3.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-amo-add-4.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-amo-add-5.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-compare-exchange-1.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-compare-exchange-2.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-compare-exchange-3.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-compare-exchange-4.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-compare-exchange-5.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-compare-exchange-6.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-compare-exchange-7.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-fence-1.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-fence-2.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-fence-3.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-fence-4.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-fence-5.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-load-1.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-load-2.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-load-3.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-store-1.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-store-2.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-store-compat-3.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-1.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-2.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-3.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-4.c
gcc/testsuite/gcc.target/riscv/amo/amo-table-a-6-subword-amo-add-5.c
gcc/testsuite/gcc.target/riscv/amo/amo-zalrsc-amo-add-1.c
gcc/testsuite/gcc.target/riscv/amo/amo-zalrsc-amo-add-2.c
gcc/testsuite/gcc.target/riscv/amo/amo-zalrsc-amo-add-3.c
gcc/testsuite/gcc.target/riscv/amo/amo-zalrsc-amo-add-4.c
gcc/testsuite/gcc.target/riscv/amo/amo-zalrsc-amo-add-5.c
gcc/testsuite/lib/target-supports-dg.exp
gcc/testsuite/lib/target-supports.exp