From 0c585c8d0dd85601a8d116ada99126a48c8ce9fd Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Mon, 13 May 2024 07:14:08 -0600 Subject: [PATCH] [to-be-committed,RISC-V] Improve single inverted bit extraction - v3 So this patch fixes a minor code generation inefficiency that (IIRC) the RAU team discovered a while ago in spec. If we want the inverted value of a single bit we can use bext to extract the bit, then seq to invert the value (if viewed as a 0/1 truth value). The RTL is fairly convoluted, but it's basically a right shift to get the bit into position, bitwise-not then masking off all but the low bit. So it's a 3->2 combine, hidden by the fact that and-not is a define_insn_and_split, so it actually looks like a 2->2 combine. We've run this through Ventana's internal CI (which includes zba_zbb_zbs) and I've run it in my own tester (rv64gc, rv32gcv). I'll wait for the upstream CI to finish with positive results before pushing. gcc/ * config/riscv/bitmanip.md (bextseqzdisi): New patterns. gcc/testsuite/ * gcc.target/riscv/zbs-bext-2.c: New test. * gcc.target/riscv/zbs-bext.c: Fix one of the possible expectes sequences. --- gcc/config/riscv/.riscv.cc.swo | Bin 0 -> 417792 bytes gcc/config/riscv/bitmanip.md | 43 ++++++++++++++++++++ gcc/config/riscv/j | 0 gcc/testsuite/gcc.target/riscv/zbs-bext-2.c | 19 +++++++++ gcc/testsuite/gcc.target/riscv/zbs-bext.c | 2 +- 5 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 gcc/config/riscv/.riscv.cc.swo create mode 100644 gcc/config/riscv/j create mode 100644 gcc/testsuite/gcc.target/riscv/zbs-bext-2.c diff --git a/gcc/config/riscv/.riscv.cc.swo b/gcc/config/riscv/.riscv.cc.swo new file mode 100644 index 0000000000000000000000000000000000000000..77ed37353beebb6074ea3487d8b96723f1f626fe GIT binary patch literal 417792 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�Z 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 Y?&5%azG=us%9?3#BJQMIsUJ=JUumOm)c^nh literal 0 Hc-jL100001 diff --git a/gcc/config/riscv/bitmanip.md b/gcc/config/riscv/bitmanip.md index d76a72d30e02..724511b6df3b 100644 --- a/gcc/config/riscv/bitmanip.md +++ b/gcc/config/riscv/bitmanip.md @@ -711,6 +711,49 @@ "bext\t%0,%1,%2" [(set_attr "type" "bitmanip")]) +;; This is a bext followed by a seqz. Normally this would be a 3->2 split +;; But the and-not pattern with a constant operand is a define_insn_and_split, +;; so this looks like a 2->2 split, which combine rejects. So implement it +;; as a define_insn_and_split as well. +(define_insn_and_split "*bextseqzdisi" + [(set (match_operand:DI 0 "register_operand" "=r") + (and:DI + (not:DI + (subreg:DI + (lshiftrt:SI + (match_operand:SI 1 "register_operand" "r") + (match_operand:QI 2 "register_operand" "r")) 0)) + (const_int 1)))] + "TARGET_64BIT && TARGET_ZBS" + "#" + "&& 1" + [(set (match_dup 0) + (zero_extract:DI (match_dup 1) + (const_int 1) + (zero_extend:DI (match_dup 2)))) + (set (match_dup 0) (eq:DI (match_dup 0) (const_int 0)))] + "operands[1] = gen_lowpart (word_mode, operands[1]);" + [(set_attr "type" "bitmanip")]) + +(define_insn_and_split "*bextseqzdisi" + [(set (match_operand:X 0 "register_operand" "=r") + (and:X + (not:X + (lshiftrt:X + (match_operand:X 1 "register_operand" "r") + (match_operand:QI 2 "register_operand" "r"))) + (const_int 1)))] + "TARGET_ZBS" + "#" + "&& 1" + [(set (match_dup 0) + (zero_extract:X (match_dup 1) + (const_int 1) + (zero_extend:X (match_dup 2)))) + (set (match_dup 0) (eq:X (match_dup 0) (const_int 0)))] + "operands[1] = gen_lowpart (word_mode, operands[1]);" + [(set_attr "type" "bitmanip")]) + ;; When performing `(a & (1UL << bitno)) ? 0 : -1` the combiner ;; usually has the `bitno` typed as X-mode (i.e. no further ;; zero-extension is performed around the bitno). diff --git a/gcc/config/riscv/j b/gcc/config/riscv/j new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/gcc/testsuite/gcc.target/riscv/zbs-bext-2.c b/gcc/testsuite/gcc.target/riscv/zbs-bext-2.c new file mode 100644 index 000000000000..79f120b22863 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/zbs-bext-2.c @@ -0,0 +1,19 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gc_zbs -mabi=lp64" } */ +/* { dg-skip-if "" { *-*-* } { "-O0" "-Og" } } */ + + +_Bool match(const int ch, int fMap) { + return ((fMap & (1<<(ch))) == 0); +} + +_Bool match2(const int ch, int fMap) { + return ((fMap & (1UL<<(ch))) == 0); +} + + +/* { dg-final { scan-assembler-times "bext\t" 2 } } */ +/* { dg-final { scan-assembler-times "seqz\t|xori\t" 2 } } */ +/* { dg-final { scan-assembler-not "sraw\t" } } */ +/* { dg-final { scan-assembler-not "not\t" } } */ +/* { dg-final { scan-assembler-not "andi\t" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/zbs-bext.c b/gcc/testsuite/gcc.target/riscv/zbs-bext.c index ff75dad65285..0db97f5ab596 100644 --- a/gcc/testsuite/gcc.target/riscv/zbs-bext.c +++ b/gcc/testsuite/gcc.target/riscv/zbs-bext.c @@ -38,7 +38,7 @@ long bext64_4(long a, char bitno) /* { dg-final { scan-assembler-times "bexti\t" 1 } } */ /* { dg-final { scan-assembler-times "bext\t" 5 } } */ -/* { dg-final { scan-assembler-times "xori\t|snez\t" 1 } } */ +/* { dg-final { scan-assembler-times "xori\t|seqz\t" 1 } } */ /* { dg-final { scan-assembler-times "addi\t" 1 } } */ /* { dg-final { scan-assembler-times "neg\t" 1 } } */ /* { dg-final { scan-assembler-not {\mandi} } } */ -- 2.47.3