aboutsummaryrefslogtreecommitdiff
path: root/gcc/value-range.h
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2022-10-20 10:37:33 +0100
committerRichard Sandiford <richard.sandiford@arm.com>2022-10-20 10:37:33 +0100
commit6bec66640597e2604f51fc1642c7d279164cd442 (patch)
tree798eb6a2df4cb7c6f12f0117a98e1be0f723ccf8 /gcc/value-range.h
parent8e2b5cf7cde999582d1b8fff021faa487c8e34b0 (diff)
downloadgcc-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