* [Bug target/104681] [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460
2022-02-24 20:29 [Bug target/104681] New: [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460 jakub at gcc dot gnu.org
@ 2022-02-24 20:30 ` jakub at gcc dot gnu.org
2022-02-25 11:55 ` jakub at gcc dot gnu.org
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-02-24 20:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104681
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
Target Milestone|--- |9.5
CC| |dje at gcc dot gnu.org,
| |meissner at gcc dot gnu.org,
| |segher at gcc dot gnu.org,
| |wschmidt at gcc dot gnu.org
Keywords| |ice-on-valid-code
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/104681] [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460
2022-02-24 20:29 [Bug target/104681] New: [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460 jakub at gcc dot gnu.org
2022-02-24 20:30 ` [Bug target/104681] " jakub at gcc dot gnu.org
@ 2022-02-25 11:55 ` jakub at gcc dot gnu.org
2022-02-25 15:40 ` segher at gcc dot gnu.org
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-02-25 11:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104681
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 52513
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52513&action=edit
gcc12-pr104681.patch
Patch I'm testing right now.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/104681] [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460
2022-02-24 20:29 [Bug target/104681] New: [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460 jakub at gcc dot gnu.org
2022-02-24 20:30 ` [Bug target/104681] " jakub at gcc dot gnu.org
2022-02-25 11:55 ` jakub at gcc dot gnu.org
@ 2022-02-25 15:40 ` segher at gcc dot gnu.org
2022-02-25 15:43 ` jakub at gcc dot gnu.org
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: segher at gcc dot gnu.org @ 2022-02-25 15:40 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104681
--- Comment #2 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Could you just change the insn condition to test if at least one of the
operands is a reg?
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/104681] [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460
2022-02-24 20:29 [Bug target/104681] New: [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460 jakub at gcc dot gnu.org
` (2 preceding siblings ...)
2022-02-25 15:40 ` segher at gcc dot gnu.org
@ 2022-02-25 15:43 ` jakub at gcc dot gnu.org
2022-02-25 17:05 ` segher at gcc dot gnu.org
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-02-25 15:43 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104681
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
No.
/* The movmisalign<mode> pattern cannot fail, else the assignment
would silently be omitted. */
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/104681] [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460
2022-02-24 20:29 [Bug target/104681] New: [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460 jakub at gcc dot gnu.org
` (3 preceding siblings ...)
2022-02-25 15:43 ` jakub at gcc dot gnu.org
@ 2022-02-25 17:05 ` segher at gcc dot gnu.org
2022-02-25 18:02 ` cvs-commit at gcc dot gnu.org
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: segher at gcc dot gnu.org @ 2022-02-25 17:05 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104681
--- Comment #4 from Segher Boessenkool <segher at gcc dot gnu.org> ---
We also do the same in define_insn bodies, with a force_reg if needed.
But we do indirect via rs6000_emit_move elsewhere, so let's do that here as
well; it isn't a great idea, but consistency wins, certainly in stage 4.
The patch is okay for trunk. Thank you! Any backports as well, if you want.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/104681] [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460
2022-02-24 20:29 [Bug target/104681] New: [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460 jakub at gcc dot gnu.org
` (4 preceding siblings ...)
2022-02-25 17:05 ` segher at gcc dot gnu.org
@ 2022-02-25 18:02 ` cvs-commit at gcc dot gnu.org
2022-02-25 18:03 ` [Bug target/104681] [9/10/11 " jakub at gcc dot gnu.org
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-02-25 18:02 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104681
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:3885a122f817a1b6dca4a84ba9e020d5ab2060af
commit r12-7393-g3885a122f817a1b6dca4a84ba9e020d5ab2060af
Author: Jakub Jelinek <jakub@redhat.com>
Date: Fri Feb 25 18:58:48 2022 +0100
rs6000: Use rs6000_emit_move in movmisalign<mode> expander [PR104681]
The following testcase ICEs, because for some strange reason it decides to
use
movmisaligntf during expansion where the destination is MEM and source is
CONST_DOUBLE. For normal mov<mode> expanders the rs6000 backend uses
rs6000_emit_move to ensure that if one operand is a MEM, the other is a REG
and a few other things, but for movmisalign<mode> nothing enforced this.
The middle-end documents that movmisalign<mode> shouldn't fail, so we can't
force that through predicates or condition on the expander.
2022-02-25 Jakub Jelinek <jakub@redhat.com>
PR target/104681
* config/rs6000/vector.md (movmisalign<mode>): Use
rs6000_emit_move.
* g++.dg/opt/pr104681.C: New test.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/104681] [9/10/11 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460
2022-02-24 20:29 [Bug target/104681] New: [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460 jakub at gcc dot gnu.org
` (5 preceding siblings ...)
2022-02-25 18:02 ` cvs-commit at gcc dot gnu.org
@ 2022-02-25 18:03 ` jakub at gcc dot gnu.org
2022-03-29 5:53 ` cvs-commit at gcc dot gnu.org
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-02-25 18:03 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104681
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Summary|[9/10/11/12 Regression] |[9/10/11 Regression]
|ppc64le |ppc64le
|-mabi=ieeelongdouble ICE |-mabi=ieeelongdouble ICE
|since r9-6460 |since r9-6460
Last reconfirmed| |2022-02-25
Status|UNCONFIRMED |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed on the trunk so far.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/104681] [9/10/11 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460
2022-02-24 20:29 [Bug target/104681] New: [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460 jakub at gcc dot gnu.org
` (6 preceding siblings ...)
2022-02-25 18:03 ` [Bug target/104681] [9/10/11 " jakub at gcc dot gnu.org
@ 2022-03-29 5:53 ` cvs-commit at gcc dot gnu.org
2022-03-30 8:15 ` [Bug target/104681] [9/10 " jakub at gcc dot gnu.org
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-03-29 5:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104681
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:b59d29392774b115bea0066b4ad1eb2b959a3a2b
commit r11-9721-gb59d29392774b115bea0066b4ad1eb2b959a3a2b
Author: Jakub Jelinek <jakub@redhat.com>
Date: Fri Feb 25 18:58:48 2022 +0100
rs6000: Use rs6000_emit_move in movmisalign<mode> expander [PR104681]
The following testcase ICEs, because for some strange reason it decides to
use
movmisaligntf during expansion where the destination is MEM and source is
CONST_DOUBLE. For normal mov<mode> expanders the rs6000 backend uses
rs6000_emit_move to ensure that if one operand is a MEM, the other is a REG
and a few other things, but for movmisalign<mode> nothing enforced this.
The middle-end documents that movmisalign<mode> shouldn't fail, so we can't
force that through predicates or condition on the expander.
2022-02-25 Jakub Jelinek <jakub@redhat.com>
PR target/104681
* config/rs6000/vector.md (movmisalign<mode>): Use
rs6000_emit_move.
* g++.dg/opt/pr104681.C: New test.
(cherry picked from commit 3885a122f817a1b6dca4a84ba9e020d5ab2060af)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/104681] [9/10 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460
2022-02-24 20:29 [Bug target/104681] New: [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460 jakub at gcc dot gnu.org
` (7 preceding siblings ...)
2022-03-29 5:53 ` cvs-commit at gcc dot gnu.org
@ 2022-03-30 8:15 ` jakub at gcc dot gnu.org
2022-05-10 8:24 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-03-30 8:15 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104681
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[9/10/11 Regression] |[9/10 Regression] ppc64le
|ppc64le |-mabi=ieeelongdouble ICE
|-mabi=ieeelongdouble ICE |since r9-6460
|since r9-6460 |
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed for 11.3 too.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/104681] [9/10 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460
2022-02-24 20:29 [Bug target/104681] New: [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460 jakub at gcc dot gnu.org
` (8 preceding siblings ...)
2022-03-30 8:15 ` [Bug target/104681] [9/10 " jakub at gcc dot gnu.org
@ 2022-05-10 8:24 ` cvs-commit at gcc dot gnu.org
2022-05-11 6:25 ` cvs-commit at gcc dot gnu.org
2022-05-11 6:36 ` jakub at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-05-10 8:24 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104681
--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:cc7bc8b2ba5adc89e99bc7923cd3e822b7d465cf
commit r10-10689-gcc7bc8b2ba5adc89e99bc7923cd3e822b7d465cf
Author: Jakub Jelinek <jakub@redhat.com>
Date: Fri Feb 25 18:58:48 2022 +0100
rs6000: Use rs6000_emit_move in movmisalign<mode> expander [PR104681]
The following testcase ICEs, because for some strange reason it decides to
use
movmisaligntf during expansion where the destination is MEM and source is
CONST_DOUBLE. For normal mov<mode> expanders the rs6000 backend uses
rs6000_emit_move to ensure that if one operand is a MEM, the other is a REG
and a few other things, but for movmisalign<mode> nothing enforced this.
The middle-end documents that movmisalign<mode> shouldn't fail, so we can't
force that through predicates or condition on the expander.
2022-02-25 Jakub Jelinek <jakub@redhat.com>
PR target/104681
* config/rs6000/vector.md (movmisalign<mode>): Use
rs6000_emit_move.
* g++.dg/opt/pr104681.C: New test.
(cherry picked from commit 3885a122f817a1b6dca4a84ba9e020d5ab2060af)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/104681] [9/10 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460
2022-02-24 20:29 [Bug target/104681] New: [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460 jakub at gcc dot gnu.org
` (9 preceding siblings ...)
2022-05-10 8:24 ` cvs-commit at gcc dot gnu.org
@ 2022-05-11 6:25 ` cvs-commit at gcc dot gnu.org
2022-05-11 6:36 ` jakub at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-05-11 6:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104681
--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:5c742d9a7e217746de961da20a39f04e5ec1df25
commit r9-10135-g5c742d9a7e217746de961da20a39f04e5ec1df25
Author: Jakub Jelinek <jakub@redhat.com>
Date: Fri Feb 25 18:58:48 2022 +0100
rs6000: Use rs6000_emit_move in movmisalign<mode> expander [PR104681]
The following testcase ICEs, because for some strange reason it decides to
use
movmisaligntf during expansion where the destination is MEM and source is
CONST_DOUBLE. For normal mov<mode> expanders the rs6000 backend uses
rs6000_emit_move to ensure that if one operand is a MEM, the other is a REG
and a few other things, but for movmisalign<mode> nothing enforced this.
The middle-end documents that movmisalign<mode> shouldn't fail, so we can't
force that through predicates or condition on the expander.
2022-02-25 Jakub Jelinek <jakub@redhat.com>
PR target/104681
* config/rs6000/vector.md (movmisalign<mode>): Use
rs6000_emit_move.
* g++.dg/opt/pr104681.C: New test.
(cherry picked from commit 3885a122f817a1b6dca4a84ba9e020d5ab2060af)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/104681] [9/10 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460
2022-02-24 20:29 [Bug target/104681] New: [9/10/11/12 Regression] ppc64le -mabi=ieeelongdouble ICE since r9-6460 jakub at gcc dot gnu.org
` (10 preceding siblings ...)
2022-05-11 6:25 ` cvs-commit at gcc dot gnu.org
@ 2022-05-11 6:36 ` jakub at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2022-05-11 6:36 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104681
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 13+ messages in thread