From ff37c9fcbe1d88a3ea0c6174ba8424e3ea14a82b Mon Sep 17 00:00:00 2001 From: Xiaotian Wu Date: Wed, 27 Dec 2023 16:25:22 +0800 Subject: [PATCH] loongarch64: disable simd when build efi LoongArch does not yet support the `-mgeneral-regs-only` option, so when compiling for EFI, we need to use the `-mno-lsx` and `-mno-lasx` options to disable SIMD instructions. --- src/boot/efi/meson.build | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build index 6194099fe4..483e0ade0c 100644 --- a/src/boot/efi/meson.build +++ b/src/boot/efi/meson.build @@ -210,11 +210,13 @@ if cc.get_id() == 'clang' endif efi_arch_c_args = { - 'aarch64' : ['-mgeneral-regs-only'], - 'arm' : ['-mgeneral-regs-only'], + 'aarch64' : ['-mgeneral-regs-only'], + 'arm' : ['-mgeneral-regs-only'], + # Until -mgeneral-regs-only is supported in LoongArch, use the following option instead: + 'loongarch64' : ['-mno-lsx', '-mno-lasx'], # Pass -m64/32 explicitly to make building on x32 work. - 'x86_64' : ['-m64', '-march=x86-64', '-mno-red-zone', '-mgeneral-regs-only'], - 'x86' : ['-m32', '-march=i686', '-mgeneral-regs-only', '-malign-double'], + 'x86_64' : ['-m64', '-march=x86-64', '-mno-red-zone', '-mgeneral-regs-only'], + 'x86' : ['-m32', '-march=i686', '-mgeneral-regs-only', '-malign-double'], } efi_arch_c_ld_args = { # libgcc is not compiled with -fshort-wchar, but it does not use it anyways, -- 2.25.1