[Bug target/122097] loongarch64 ICE: in loongarch_const_vector_bitimm_set_p, at config/loongarch/loongarch.cc:1729
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Oct 29 06:08:36 GMT 2025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122097
--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by LuluCheng <chenglulu@gcc.gnu.org>:
https://gcc.gnu.org/g:dbd0e8fc50e990e999217cc3a2fc5b6fbc74a09d
commit r16-4703-gdbd0e8fc50e990e999217cc3a2fc5b6fbc74a09d
Author: Lulu Cheng <chenglulu@loongson.cn>
Date: Tue Sep 30 11:32:47 2025 +0800
LoongArch: Fix bug for PR122097.
When implementing the vector template for copysign, we used vector
floating-point AND and IOR operations. This allows AND and IOR operands
to be vector floating-point types. However, the constraint YC does not
handle vector floating-point constants, resulting in ICE.
PR target/122097
gcc/ChangeLog:
* config/loongarch/loongarch.cc
(loongarch_const_vector_bitimm_set_p): Add support for vector
float.
(loongarch_const_vector_bitimm_clr_p): Likewise.
(loongarch_print_operand): Likewise.
* config/loongarch/simd.md (and<mode>3): Likewise.
gcc/testsuite/ChangeLog:
* gcc.target/loongarch/pr122097.c: New test.
More information about the Gcc-bugs
mailing list