On Mon, 2025-11-10 at 17:51 +0800, mengqinggang wrote:
> gcc/ChangeLog:
>
> * config/loongarch/loongarch.md: Add la32 TLS descriptors
> support.
> ---
> gcc/config/loongarch/loongarch.md | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/gcc/config/loongarch/loongarch.md
> b/gcc/config/loongarch/loongarch.md
> index 20d995ce0eb..3c2096e91e7 100644
> --- a/gcc/config/loongarch/loongarch.md
> +++ b/gcc/config/loongarch/loongarch.md
> @@ -2913,13 +2913,13 @@ (define_insn "@got_load_tls_desc<mode>"
> (clobber (reg:SI FCC5_REGNUM))
> (clobber (reg:SI FCC6_REGNUM))
> (clobber (reg:SI FCC7_REGNUM))
> - (clobber (reg:SI RETURN_ADDR_REGNUM))]
> + (clobber (reg:P RETURN_ADDR_REGNUM))]
Oops, so this was wrong even with LA64. Nice catch.
> "TARGET_TLS_DESC"
> {
> return TARGET_EXPLICIT_RELOCS
> ? "pcalau12i\t$r4,%%desc_pc_hi20(%0)\n\t"
> - "addi.d\t$r4,$r4,%%desc_pc_lo12(%0)\n\t"
> - "ld.d\t$r1,$r4,%%desc_ld(%0)\n\t"
> + "addi.<d>\t$r4,$r4,%%desc_pc_lo12(%0)\n\t"
> + "ld.<d>\t$r1,$r4,%%desc_ld(%0)\n\t"
Ok.
--
Xi Ruoyao <[email protected]>