public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/112970] New: LoongArch: Suboptimal code when the address and the value of an array element are both used
@ 2023-12-11 20:53 xry111 at gcc dot gnu.org
2023-12-12 6:54 ` [Bug target/112970] " xry111 at gcc dot gnu.org
2023-12-12 6:55 ` xry111 at gcc dot gnu.org
0 siblings, 2 replies; 3+ messages in thread
From: xry111 at gcc dot gnu.org @ 2023-12-11 20:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112970
Bug ID: 112970
Summary: LoongArch: Suboptimal code when the address and the
value of an array element are both used
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: xry111 at gcc dot gnu.org
Target Milestone: ---
int d[2];
struct r { int *p, v; };
struct r test() { return (struct r){&d[1], d[1]}; }
is compiled to:
la.local $r12,.LANCHOR0
ld.wu $r5,$r12,4
la.local $r4,.LANCHOR0+4
But it's better to be:
la.local $r4,.LANCHOR0+4
ld.wu $r5,$r4,0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug target/112970] LoongArch: Suboptimal code when the address and the value of an array element are both used
2023-12-11 20:53 [Bug target/112970] New: LoongArch: Suboptimal code when the address and the value of an array element are both used xry111 at gcc dot gnu.org
@ 2023-12-12 6:54 ` xry111 at gcc dot gnu.org
2023-12-12 6:55 ` xry111 at gcc dot gnu.org
1 sibling, 0 replies; 3+ messages in thread
From: xry111 at gcc dot gnu.org @ 2023-12-12 6:54 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112970
--- Comment #1 from Xi Ruoyao <xry111 at gcc dot gnu.org> ---
With -mexplicit-relocs=auto the generated code is sub-optimal as well:
pcalau12i $r12,%pc_hi20(.LANCHOR0)
addi.d $r12,$r12,%pc_lo12(.LANCHOR0)
ld.wu $r5,$r12,4
addi.d $r4,$r12,4
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug target/112970] LoongArch: Suboptimal code when the address and the value of an array element are both used
2023-12-11 20:53 [Bug target/112970] New: LoongArch: Suboptimal code when the address and the value of an array element are both used xry111 at gcc dot gnu.org
2023-12-12 6:54 ` [Bug target/112970] " xry111 at gcc dot gnu.org
@ 2023-12-12 6:55 ` xry111 at gcc dot gnu.org
1 sibling, 0 replies; 3+ messages in thread
From: xry111 at gcc dot gnu.org @ 2023-12-12 6:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112970
--- Comment #2 from Xi Ruoyao <xry111 at gcc dot gnu.org> ---
(In reply to Xi Ruoyao from comment #1)
> With -mexplicit-relocs=auto the generated code is sub-optimal as well:
I mean "always", not "auto".
> pcalau12i $r12,%pc_hi20(.LANCHOR0)
> addi.d $r12,$r12,%pc_lo12(.LANCHOR0)
> ld.wu $r5,$r12,4
> addi.d $r4,$r12,4
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-12-12 6:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-11 20:53 [Bug target/112970] New: LoongArch: Suboptimal code when the address and the value of an array element are both used xry111 at gcc dot gnu.org
2023-12-12 6:54 ` [Bug target/112970] " xry111 at gcc dot gnu.org
2023-12-12 6:55 ` xry111 at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).