]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
LoongArch: Fix "-mexplict-relocs=none -mcmodel=medium" producing %call36 when the...
authorXi Ruoyao <xry111@xry111.site>
Sat, 18 Nov 2023 17:41:12 +0000 (01:41 +0800)
committerXi Ruoyao <xry111@xry111.site>
Sat, 18 Nov 2023 17:45:29 +0000 (01:45 +0800)
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.

gcc/config/loongarch/predicates.md

index 56f7c48e126bbe5c2eecc387c4655309ec4ee0fb..d02e846cb12371d450986015be61bfa5302f92dc 100644 (file)
     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;