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]>

Reply via email to