public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/113950] New: PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case
@ 2024-02-15 23:43 carll at gcc dot gnu.org
2024-02-16 0:00 ` [Bug target/113950] " bergner at gcc dot gnu.org
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: carll at gcc dot gnu.org @ 2024-02-15 23:43 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113950
Bug ID: 113950
Summary: PowerPC, ICE with -O1 or higher compiling
__builtin_vsx_splat_2di test case
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: carll at gcc dot gnu.org
Target Milestone: ---
Power 10 LE
Fedora 38
Test of the __builtin_vsx_splat_2di ICEs on GCC 12 and later.
The following test case generates an ICE for -O1 and above. It does work for
-O0.
void abort (void);
int main ()
{
int i;
vector signed long long vsll_result, vsll_expected_result;
signed long long sll_arg1;
sll_arg1 = 300;
vsll_expected_result = (vector signed long long) {300, 300};
vsll_result = __builtin_vsx_splat_2di (sll_arg1); //ISSUE
for (i = 0; i < 2; i++)
if (vsll_result[i] != vsll_expected_result[i])
abort();
return 0;
}
The test case compiles fine with -O0.
Here is the output when I try to compile with -O1:
gcc -g -O1 compiler-bug.c -o compiler-bug
compiler-bug.c: In function ‘main’:
compiler-bug.c:19:1: error: unrecognizable insn:
19 | }
| ^
(insn 14 13 15 2 (set (reg:V2DI 117 [ _1 ])
(vec_duplicate:V2DI (const_int 300 [0x12c]))) "compiler-bug.c":12:17 -1
(nil))
during RTL pass: vregs
compiler-bug.c:19:1: internal compiler error: in extract_insn, at recog.cc:2791
Please submit a full bug report, with preprocessed source.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccnoI5lr.out file, please attach this to
your bugreport.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/113950] PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case
2024-02-15 23:43 [Bug target/113950] New: PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case carll at gcc dot gnu.org
@ 2024-02-16 0:00 ` bergner at gcc dot gnu.org
2024-02-23 1:35 ` bergner at gcc dot gnu.org
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: bergner at gcc dot gnu.org @ 2024-02-16 0:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113950
Peter Bergner <bergner at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2024-02-16
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
--- Comment #1 from Peter Bergner <bergner at gcc dot gnu.org> ---
Confirmed.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/113950] PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case
2024-02-15 23:43 [Bug target/113950] New: PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case carll at gcc dot gnu.org
2024-02-16 0:00 ` [Bug target/113950] " bergner at gcc dot gnu.org
@ 2024-02-23 1:35 ` bergner at gcc dot gnu.org
2024-03-07 14:18 ` cvs-commit at gcc dot gnu.org
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: bergner at gcc dot gnu.org @ 2024-02-23 1:35 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113950
Peter Bergner <bergner at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |jeevitha at gcc dot gnu.org
CC| |dje at gcc dot gnu.org,
| |linkw at gcc dot gnu.org,
| |meissner at gcc dot gnu.org,
| |segher at gcc dot gnu.org
--- Comment #2 from Peter Bergner <bergner at gcc dot gnu.org> ---
Jeevitha is looking into this for us.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/113950] PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case
2024-02-15 23:43 [Bug target/113950] New: PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case carll at gcc dot gnu.org
2024-02-16 0:00 ` [Bug target/113950] " bergner at gcc dot gnu.org
2024-02-23 1:35 ` bergner at gcc dot gnu.org
@ 2024-03-07 14:18 ` cvs-commit at gcc dot gnu.org
2024-03-15 20:36 ` bergner at gcc dot gnu.org
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-03-07 14:18 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113950
--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by jeevitha <jeevitha@gcc.gnu.org>:
https://gcc.gnu.org/g:fa0468877869f52b05742de6deef582e4dd296fc
commit r14-9362-gfa0468877869f52b05742de6deef582e4dd296fc
Author: Jeevitha <jeevitha@linux.ibm.com>
Date: Thu Mar 7 07:41:38 2024 -0600
rs6000: Don't ICE when compiling the __builtin_vsx_splat_2di [PR113950]
When we expand the __builtin_vsx_splat_2di built-in, we were allowing
immediate
value for second operand which causes an unrecognizable insn ICE. Even
though
the immediate value was forced into a register, it wasn't correctly
assigned
to the second operand. So corrected the assignment of op1 to operands[1].
2024-03-07 Jeevitha Palanisamy <jeevitha@linux.ibm.com>
gcc/
PR target/113950
* config/rs6000/vsx.md (vsx_splat_<mode>): Correct assignment to
operand1
and simplify else if with else.
gcc/testsuite/
PR target/113950
* gcc.target/powerpc/pr113950.c: New testcase.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/113950] PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case
2024-02-15 23:43 [Bug target/113950] New: PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case carll at gcc dot gnu.org
` (2 preceding siblings ...)
2024-03-07 14:18 ` cvs-commit at gcc dot gnu.org
@ 2024-03-15 20:36 ` bergner at gcc dot gnu.org
2024-03-21 9:55 ` cvs-commit at gcc dot gnu.org
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: bergner at gcc dot gnu.org @ 2024-03-15 20:36 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113950
--- Comment #4 from Peter Bergner <bergner at gcc dot gnu.org> ---
The bogus vsx_splat_<mode> code goes all the way back to GCC 8, so we need
backports to the open release branches (GCC 13, 12, 11).
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/113950] PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case
2024-02-15 23:43 [Bug target/113950] New: PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case carll at gcc dot gnu.org
` (3 preceding siblings ...)
2024-03-15 20:36 ` bergner at gcc dot gnu.org
@ 2024-03-21 9:55 ` cvs-commit at gcc dot gnu.org
2024-05-01 5:58 ` cvs-commit at gcc dot gnu.org
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-03-21 9:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113950
--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by jeevitha <jeevitha@gcc.gnu.org>:
https://gcc.gnu.org/g:27eb6e81e6e578da9f9947d3f96c0fa58971fe7f
commit r13-8474-g27eb6e81e6e578da9f9947d3f96c0fa58971fe7f
Author: Jeevitha <jeevitha@linux.ibm.com>
Date: Wed Mar 20 23:34:46 2024 -0500
rs6000: Don't ICE when compiling the __builtin_vsx_splat_2di [PR113950]
When we expand the __builtin_vsx_splat_2di built-in, we were allowing
immediate
value for second operand which causes an unrecognizable insn ICE. Even
though
the immediate value was forced into a register, it wasn't correctly
assigned
to the second operand. So corrected the assignment of op1 to operands[1].
2024-03-07 Jeevitha Palanisamy <jeevitha@linux.ibm.com>
gcc/
PR target/113950
* config/rs6000/vsx.md (vsx_splat_<mode>): Correct assignment to
operand1
and simplify else if with else.
gcc/testsuite/
PR target/113950
* gcc.target/powerpc/pr113950.c: New testcase.
(cherry picked from commit fa0468877869f52b05742de6deef582e4dd296fc)
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/113950] PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case
2024-02-15 23:43 [Bug target/113950] New: PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case carll at gcc dot gnu.org
` (4 preceding siblings ...)
2024-03-21 9:55 ` cvs-commit at gcc dot gnu.org
@ 2024-05-01 5:58 ` cvs-commit at gcc dot gnu.org
2024-05-16 13:58 ` jeevitha at gcc dot gnu.org
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2024-05-01 5:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113950
--- Comment #6 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by jeevitha <jeevitha@gcc.gnu.org>:
https://gcc.gnu.org/g:1b91818e47119863f827b19ae4c6c91af3962cd6
commit r12-10406-g1b91818e47119863f827b19ae4c6c91af3962cd6
Author: Jeevitha <jeevitha@linux.ibm.com>
Date: Sun Apr 28 23:38:41 2024 -0500
rs6000: Don't ICE when compiling the __builtin_vsx_splat_2di [PR113950]
When we expand the __builtin_vsx_splat_2di built-in, we were allowing
immediate
value for second operand which causes an unrecognizable insn ICE. Even
though
the immediate value was forced into a register, it wasn't correctly
assigned
to the second operand. So corrected the assignment of op1 to operands[1].
2024-03-07 Jeevitha Palanisamy <jeevitha@linux.ibm.com>
gcc/
PR target/113950
* config/rs6000/vsx.md (vsx_splat_<mode>): Correct assignment to
operand1
and simplify else if with else.
gcc/testsuite/
PR target/113950
* gcc.target/powerpc/pr113950.c: New testcase.
(cherry picked from commit fa0468877869f52b05742de6deef582e4dd296fc)
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/113950] PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case
2024-02-15 23:43 [Bug target/113950] New: PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case carll at gcc dot gnu.org
` (5 preceding siblings ...)
2024-05-01 5:58 ` cvs-commit at gcc dot gnu.org
@ 2024-05-16 13:58 ` jeevitha at gcc dot gnu.org
2024-05-16 14:02 ` jeevitha at gcc dot gnu.org
2024-05-16 15:04 ` shivam98.tkg at gmail dot com
8 siblings, 0 replies; 10+ messages in thread
From: jeevitha at gcc dot gnu.org @ 2024-05-16 13:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113950
--- Comment #7 from Jeevitha <jeevitha at gcc dot gnu.org> ---
In GCC 11, we encountered a different issue that didn't result in an ICE.
The following is the error message in GCC 11:
error: too few arguments to function '__builtin_vsx_splat_2di'
11 | vsll_result = __builtin_vsx_splat_2di (sll_arg1); // ISSUE
The error indicated a shortage of arguments for the built-in function. It
expects two arguments because the function prototype is different in GCC 11
compared to GCC 12, 13, and 14.
I have found that the commit responsible for changing the function prototype
was made by Bill Schmidt (commit hash:
d08236359eb22918ba067489edcec02857109d09). In this commit, he introduced new
built-in functionality, where the function prototype is sourced from
rs6000-builtin-new.def, which includes the following declaration:
const vsll __builtin_vsx_splat_2di (signed long long);
Prior to this commit ie, in gcc11, the function prototype was sourced from
rs6000-builtin.def and included two arguments:
/* 2 argument VSX builtins. */
BU_VSX_2 (SPLAT_2DI, "splat_2di", CONST, vsx_splat_v2di)
These changes are controlled by the setting new_builtins_are_live. Bill made
this change in his commit by adjusting this setting.
Due to the above prototype changes, we are not backporting to GCC 11.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/113950] PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case
2024-02-15 23:43 [Bug target/113950] New: PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case carll at gcc dot gnu.org
` (6 preceding siblings ...)
2024-05-16 13:58 ` jeevitha at gcc dot gnu.org
@ 2024-05-16 14:02 ` jeevitha at gcc dot gnu.org
2024-05-16 15:04 ` shivam98.tkg at gmail dot com
8 siblings, 0 replies; 10+ messages in thread
From: jeevitha at gcc dot gnu.org @ 2024-05-16 14:02 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113950
Jeevitha <jeevitha at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #8 from Jeevitha <jeevitha at gcc dot gnu.org> ---
Fixed, and all backports are done.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/113950] PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case
2024-02-15 23:43 [Bug target/113950] New: PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case carll at gcc dot gnu.org
` (7 preceding siblings ...)
2024-05-16 14:02 ` jeevitha at gcc dot gnu.org
@ 2024-05-16 15:04 ` shivam98.tkg at gmail dot com
8 siblings, 0 replies; 10+ messages in thread
From: shivam98.tkg at gmail dot com @ 2024-05-16 15:04 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113950
--- Comment #9 from Shivam Gupta <shivam98.tkg at gmail dot com> ---
Good explanation 👍
On Thu, 16 May 2024 at 7:32 PM, jeevitha at gcc dot gnu.org via Gcc-bugs <
gcc-bugs@gcc.gnu.org> wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113950
>
> Jeevitha <jeevitha at gcc dot gnu.org> changed:
>
> What |Removed |Added
>
> ----------------------------------------------------------------------------
> Resolution|--- |FIXED
> Status|ASSIGNED |RESOLVED
>
> --- Comment #8 from Jeevitha <jeevitha at gcc dot gnu.org> ---
> Fixed, and all backports are done.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-05-16 15:05 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-15 23:43 [Bug target/113950] New: PowerPC, ICE with -O1 or higher compiling __builtin_vsx_splat_2di test case carll at gcc dot gnu.org
2024-02-16 0:00 ` [Bug target/113950] " bergner at gcc dot gnu.org
2024-02-23 1:35 ` bergner at gcc dot gnu.org
2024-03-07 14:18 ` cvs-commit at gcc dot gnu.org
2024-03-15 20:36 ` bergner at gcc dot gnu.org
2024-03-21 9:55 ` cvs-commit at gcc dot gnu.org
2024-05-01 5:58 ` cvs-commit at gcc dot gnu.org
2024-05-16 13:58 ` jeevitha at gcc dot gnu.org
2024-05-16 14:02 ` jeevitha at gcc dot gnu.org
2024-05-16 15:04 ` shivam98.tkg at gmail dot com
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).