aboutsummaryrefslogtreecommitdiff
path: root/gcc/go
diff options
context:
space:
mode:
authorLulu Cheng <chenglulu@loongson.cn>2024-01-25 19:10:46 +0800
committerLulu Cheng <chenglulu@loongson.cn>2024-02-02 09:16:11 +0800
commitfa972949d0f45696f95fe098232083ef37cccea1 (patch)
tree2d1f1f2a3a05418a9f195b8b08739af258be20fd /gcc/go
parent252f7705a52240a0a2949842c8e33a0db2ea613b (diff)
downloadgcc-fa972949d0f45696f95fe098232083ef37cccea1.zip
gcc-fa972949d0f45696f95fe098232083ef37cccea1.tar.gz
gcc-fa972949d0f45696f95fe098232083ef37cccea1.tar.bz2
LoongArch: Add the macro implementation of mcmodel=extreme.
gcc/ChangeLog: * config/loongarch/loongarch-protos.h (loongarch_symbol_extreme_p): Add function declaration. * config/loongarch/loongarch.cc (loongarch_symbolic_constant_p): For SYMBOL_PCREL64, non-zero addend of "la.local $rd,$rt,sym+addend" is not allowed (loongarch_load_tls): Added macro support in extreme mode. (loongarch_call_tls_get_addr): Likewise. (loongarch_legitimize_tls_address): Likewise. (loongarch_force_address): Likewise. (loongarch_legitimize_move): Likewise. (loongarch_output_mi_thunk): Likewise. (loongarch_option_override_internal): Remove the code that detects explicit relocs status. (loongarch_handle_model_attribute): Likewise. * config/loongarch/loongarch.md (movdi_symbolic_off64): New template. * config/loongarch/predicates.md (symbolic_off64_operand): New predicate. (symbolic_off64_or_reg_operand): Likewise. gcc/testsuite/ChangeLog: * gcc.target/loongarch/attr-model-5.c: New test. * gcc.target/loongarch/func-call-extreme-5.c: New test. * gcc.target/loongarch/func-call-extreme-6.c: New test. * gcc.target/loongarch/tls-extreme-macro.c: New test.
Diffstat (limited to 'gcc/go')
0 files changed, 0 insertions, 0 deletions