mirror of git://gcc.gnu.org/git/gcc.git
LoongArch: fmv: Fix compilation errors when using glibc versions earlier than 2.38.
The macros HWCAP_LOONGARCH_LSX and HWCAP_LOONGARCH_LASX were defined in glibc 2.38. However, r16-5155 uses these two macros directly without checking whether they are defined. This causes errors when compiling libgcc with glibc versions earlier than 2.38. gcc/ChangeLog: * doc/extend.texi: Remove the incorrect prompt message. libgcc/ChangeLog: * config/loongarch/cpuinfo.c (HWCAP_LOONGARCH_LSX): Define it if it is not defined. (HWCAP_LOONGARCH_LASX): Likewise.
This commit is contained in:
parent
ca0dea756c
commit
c3858c51a4
|
|
@ -5015,8 +5015,6 @@ from the code model of the callee function.
|
|||
Like attribute @code{target}, these options also reflect the behavior of
|
||||
similar command line options.
|
||||
|
||||
Note that this attribute requires GLIBC2.38 and newer that support HWCAP.
|
||||
|
||||
@code{string} can take the following values:
|
||||
|
||||
@itemize @bullet
|
||||
|
|
|
|||
|
|
@ -73,6 +73,17 @@ __init_loongarch_features_resolver (void)
|
|||
if (CPUCFG3 & CPUCFG3_LD_SEQ_SA)
|
||||
setCPUFeature (FEAT_LD_SEQ_SA);
|
||||
|
||||
/* The macros HWCAP_LOONGARCH_LSX and HWCAP_LOONGARCH_LASX are not defined
|
||||
in glibc versions earlier than 2.38. If these two macros are not defined,
|
||||
define them with reference to asm/hwcap.h. */
|
||||
#ifndef HWCAP_LOONGARCH_LSX
|
||||
#define HWCAP_LOONGARCH_LSX (1 << 4)
|
||||
#endif
|
||||
|
||||
#ifndef HWCAP_LOONGARCH_LASX
|
||||
#define HWCAP_LOONGARCH_LASX (1 << 5)
|
||||
#endif
|
||||
|
||||
/* LSX and LASX can be disabled/enabled by kernel: on some old kernel
|
||||
versions the vector context switch wasn't implemented and so they are
|
||||
always disabled, and on Linux >= 6.18-rc1 the user can pass simd=
|
||||
|
|
|
|||
Loading…
Reference in New Issue