From: Xi Ruoyao Date: Sat, 18 Nov 2023 17:41:12 +0000 (+0800) Subject: LoongArch: Fix "-mexplict-relocs=none -mcmodel=medium" producing %call36 when the... X-Git-Tag: basepoints/gcc-15~4553 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=84c5dede83de84e0a06b018103be0b9ede5b04a1;p=thirdparty%2Fgcc.git LoongArch: Fix "-mexplict-relocs=none -mcmodel=medium" producing %call36 when the assembler does not support it Even if !HAVE_AS_SUPPORT_CALL36, const_call_insn_operand should still return false when -mexplict-relocs=none -mcmodel=medium to make loongarch_legitimize_call_address emit la.local or la.global. gcc/ChangeLog: * config/loongarch/predicates.md (const_call_insn_operand): Remove buggy "HAVE_AS_SUPPORT_CALL36" conditions. Change "1" to "true" to make the coding style consistent. --- diff --git a/gcc/config/loongarch/predicates.md b/gcc/config/loongarch/predicates.md index 56f7c48e126b..d02e846cb123 100644 --- a/gcc/config/loongarch/predicates.md +++ b/gcc/config/loongarch/predicates.md @@ -444,21 +444,19 @@ case SYMBOL_PCREL: if (TARGET_CMODEL_EXTREME || (TARGET_CMODEL_MEDIUM - && HAVE_AS_SUPPORT_CALL36 && (la_opt_explicit_relocs == EXPLICIT_RELOCS_NONE))) return false; else - return 1; + return true; case SYMBOL_GOT_DISP: if (TARGET_CMODEL_EXTREME || !flag_plt || (flag_plt && TARGET_CMODEL_MEDIUM - && HAVE_AS_SUPPORT_CALL36 && (la_opt_explicit_relocs == EXPLICIT_RELOCS_NONE))) return false; else - return 1; + return true; default: return false;