aboutsummaryrefslogtreecommitdiff
path: root/gcc/system.h
diff options
context:
space:
mode:
authorPhilipp Tomsich <philipp.tomsich@vrull.eu>2022-10-16 12:48:26 +0200
committerPhilipp Tomsich <philipp.tomsich@vrull.eu>2022-11-18 21:17:50 +0100
commit60d2bcc55bcc0991c0e58e97edf4a69e847e82c6 (patch)
tree9a2f3f295f0e6e763fb4a3c36b068c302e8de1b6 /gcc/system.h
parentbc6beecb4d64fcd82988f840fdad45a69d73c7bb (diff)
downloadgcc-60d2bcc55bcc0991c0e58e97edf4a69e847e82c6.zip
gcc-60d2bcc55bcc0991c0e58e97edf4a69e847e82c6.tar.gz
gcc-60d2bcc55bcc0991c0e58e97edf4a69e847e82c6.tar.bz2
RISC-V: Handle "(a & twobits) == singlebit" in branches using Zbs
Use Zbs when generating a sequence for "if ((a & twobits) == singlebit) ..." that can be expressed as bexti + bexti + andn. gcc/ChangeLog: * config/riscv/bitmanip.md (*branch<X:mode>_mask_twobits_equals_singlebit): Handle "if ((a & T) == C)" using Zbs, when T has 2 bits set and C has one of these tow bits set. * config/riscv/predicates.md (const_twobits_not_arith_operand): New predicate. gcc/testsuite/ChangeLog: * gcc.target/riscv/zbs-if_then_else-01.c: New test.
Diffstat (limited to 'gcc/system.h')
0 files changed, 0 insertions, 0 deletions