diff options
author | Lulu Cheng <chenglulu@loongson.cn> | 2024-01-25 19:10:46 +0800 |
---|---|---|
committer | Lulu Cheng <chenglulu@loongson.cn> | 2024-02-02 09:16:11 +0800 |
commit | fa972949d0f45696f95fe098232083ef37cccea1 (patch) | |
tree | 2d1f1f2a3a05418a9f195b8b08739af258be20fd /gcc/go | |
parent | 252f7705a52240a0a2949842c8e33a0db2ea613b (diff) | |
download | gcc-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