https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #21 from GCC Commits ---
The releases/gcc-11 branch has been updated by YunQiang Su :
https://gcc.gnu.org/g:1bc4a777b21ae36b116e1842b7c482340ec929ef
commit r11-11457-g1bc4a777b21ae36b116e1842b7c482340ec929ef
Author: YunQiang Su
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #20 from GCC Commits ---
The releases/gcc-13 branch has been updated by YunQiang Su :
https://gcc.gnu.org/g:3be8fa7b19d218ca5812d71801e3e83ee2260ea0
commit r13-8809-g3be8fa7b19d218ca5812d71801e3e83ee2260ea0
Author: YunQiang Su
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #19 from GCC Commits ---
The releases/gcc-12 branch has been updated by YunQiang Su :
https://gcc.gnu.org/g:e26f16424f6279662efb210bc87c77148e956fed
commit r12-10480-ge26f16424f6279662efb210bc87c77148e956fed
Author: YunQiang Su
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #18 from GCC Commits ---
The releases/gcc-14 branch has been updated by YunQiang Su :
https://gcc.gnu.org/g:201cfa725587d13867b4dc25955434ebe90aff7b
commit r14-10260-g201cfa725587d13867b4dc25955434ebe90aff7b
Author: YunQiang Su
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #17 from Matthias Schiffer ---
I have now verified replacing Felix's patch with your new patch in the OpenWrt
toolchain (currently based on GCC 13.3) results in correct compilation, while a
GCC 13.3 without these patches applied
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
YunQiang Su changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #15 from GCC Commits ---
The master branch has been updated by YunQiang Su :
https://gcc.gnu.org/g:915440eed21de367cb41857afb5273aff5bcb737
commit r15-911-g915440eed21de367cb41857afb5273aff5bcb737
Author: YunQiang Su
Date: Wed
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #14 from YunQiang Su ---
Ohh, sorry for my misunderstanding. Your patch is correct.
The real problem is that, $3 is used by `mips_output_function_prologue`,
which is the final for output asm source code, and thus the IRA pass
cannot
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #13 from Matthias Schiffer ---
I don't think the register used matters - changing it may hide the bug in
specific instances, but it does not fix the root cause.
I've now built a simpler reproducer which still seems to exhibit the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #12 from YunQiang Su ---
You are right: the decision to use $6 is too late.
So let's force to use it in expand pass.
```
diff --git a/gcc/config/mips/mips.cc b/gcc/config/mips/mips.cc
index b63d40a357b..84ff29cd62b 100644
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #11 from YunQiang Su ---
(In reply to YunQiang Su from comment #8)
> Ohh, In fact we should use $28 if TARGET_USE_GOT.
>
> Can you help to test this patch?
>
> ```
> diff --git a/gcc/config/mips/mips.cc b/gcc/config/mips/mips.cc
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #10 from Matthias Schiffer ---
(In reply to YunQiang Su from comment #8)
> Ohh, In fact we should use $28 if TARGET_USE_GOT.
>
> Can you help to test this patch?
>
> ```
> diff --git a/gcc/config/mips/mips.cc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #9 from YunQiang Su ---
(In reply to Matthias Schiffer from comment #7)
> (In reply to YunQiang Su from comment #6)
> > The attached patch cannot work now.
> >
> > It is not correct, and it happened work due to good luck that the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #8 from YunQiang Su ---
Ohh, In fact we should use $28 if TARGET_USE_GOT.
Can you help to test this patch?
```
diff --git a/gcc/config/mips/mips.cc b/gcc/config/mips/mips.cc
index b63d40a357b..fe8641d3916 100644
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #7 from Matthias Schiffer ---
(In reply to YunQiang Su from comment #6)
> The attached patch cannot work now.
>
> It is not correct, and it happened work due to good luck that the same
> register was allocated for these 2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #6 from YunQiang Su ---
The attached patch cannot work now.
It is not correct, and it happened work due to good luck that the same register
was allocated for these 2 instructions.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
YunQiang Su changed:
What|Removed |Added
Last reconfirmed||2024-05-22
CC|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
Eric Botcazou changed:
What|Removed |Added
CC||clm at codesourcery dot com,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
Felix Fietkau changed:
What|Removed |Added
CC||nbd at nbd dot name
--- Comment #3 from
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #2 from Matthias Schiffer ---
The problem seems to be that the gp init sequence
li $2,%hi(_gp_disp)
addiu $3,$pc,%lo(_gp_disp)
sll $2,16
addu$2,$3
is
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790
--- Comment #1 from Matthias Schiffer ---
Issue still present in gcc version 8.0.1 20180310 (experimental) (GCC). Again,
output it identical to that of GCC 5 and 7.
21 matches
Mail list logo