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.

(cherry picked from commit dbd0e8fc50e990e999217cc3a2fc5b6fbc74a09d)
3 files changed