diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2022-10-20 10:37:33 +0100 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2022-10-20 10:37:33 +0100 |
commit | 6bec66640597e2604f51fc1642c7d279164cd442 (patch) | |
tree | 798eb6a2df4cb7c6f12f0117a98e1be0f723ccf8 /gcc/value-range.h | |
parent | 8e2b5cf7cde999582d1b8fff021faa487c8e34b0 (diff) | |
download | gcc-6bec66640597e2604f51fc1642c7d279164cd442.zip gcc-6bec66640597e2604f51fc1642c7d279164cd442.tar.gz gcc-6bec66640597e2604f51fc1642c7d279164cd442.tar.bz2 |
aarch64: Fix matching of BRKNS
Unlike other flag-setting SVE instructions, BRKNS sets the flags
based on an all-true governing predicate, rather than the GP operand.
gcc/
* config/aarch64/iterators.md (SVE_BRKP): New iterator.
* config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
(*aarch64_brkn_ptest): Likewise.
(*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
(*aarch64_brk<brk_op>_ptest): Likewise.
gcc/testsuite/
* gcc.target/aarch64/sve/acle/general/brkn_1.c: Expect separate
PTEST instructions.
* gcc.target/aarch64/sve/acle/general/brkn_2.c: New test.
Diffstat (limited to 'gcc/value-range.h')
0 files changed, 0 insertions, 0 deletions