LGTM, thanks!
在 2026/9/9 10:02, Xi Ruoyao 写道:
gcc/ * config/loongarch/loongarch.md (bitreverseqi2): Disable on LA32R. gcc/testsuite/ * gcc.target/loongarch/bitreverse-la32r.c: New test. --- Bootstrapped and regtested on loongarch64-linux-gnu. Ok for trunk? gcc/config/loongarch/loongarch.md | 2 +- gcc/testsuite/gcc.target/loongarch/bitreverse-la32r.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.target/loongarch/bitreverse-la32r.c diff --git a/gcc/config/loongarch/loongarch.md b/gcc/config/loongarch/loongarch.md index ecf1563270f..cccb0ed8612 100644 --- a/gcc/config/loongarch/loongarch.md +++ b/gcc/config/loongarch/loongarch.md @@ -4771,7 +4771,7 @@ (define_insn "bitreverseqi2" (define_expand "bitreversehi2" [(set (match_operand:HI 0 "register_operand" "=r") (bitreverse:HI (match_operand:HI 1 "register_operand" "r")))] - "" + "TARGET_64BIT || TARGET_32BIT_S" { rtx t = gen_reg_rtx (word_mode);diff --git a/gcc/testsuite/gcc.target/loongarch/bitreverse-la32r.c b/gcc/testsuite/gcc.target/loongarch/bitreverse-la32r.cnew file mode 100644 index 00000000000..72180176d68 --- /dev/null +++ b/gcc/testsuite/gcc.target/loongarch/bitreverse-la32r.c @@ -0,0 +1,4 @@ +/* Verify that bitreverse builtins do not ICE on LA32R. */ +/* { dg-do compile } */ +/* { dg-options "-mabi=ilp32s -march=la32rv1.0" } */ +#include "la64/bitreverse.c"
