[Bug target/96139] Vector element extract mistypes long long int down to long int

2020-09-16 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96139

--- Comment #11 from CVS Commits  ---
The releases/gcc-8 branch has been updated by Will Schmidt
:

https://gcc.gnu.org/g:74c624523bdbe4329c7cb77bff222ac695e36c95

commit r8-10453-g74c624523bdbe4329c7cb77bff222ac695e36c95
Author: Will Schmidt 
Date:   Wed Sep 16 11:21:04 2020 -0500

[PATCH, rs6000] Fix vector long long subtype (PR96139)

Hi,
This corrects an issue with the powerpc vector long long subtypes.
As reported by SjMunroe, when building some code with -Wall, and
attempting to print an element of a "long long vector" with a
long long printf format string, we will report an error because
the vector sub-type was improperly defined as int.

When defining a V2DI_type_node we use a TARGET_POWERPC64 ternary to
define the V2DI_type_node with "vector long" or "vector long long".
We also need to specify the proper sub-type when we define the type.

Due to some file renames, This is a backport and rework of both
[PATCH, rs6000] Fix vector long long subtype (PR96139)
and
[PATCH, rs6000] Testsuite fixup pr96139 tests


PR target/96139

gcc/ChangeLog:
* config/rs6000/rs6000.c (rs6000_init_builtin): Update
V2DI_type_node
  and unsigned_V2DI_type_node definitions.

gcc/testsuite/ChangeLog:
* gcc.target/powerpc/pr96139-a.c: New test.
* gcc.target/powerpc/pr96139-b.c: New test.
* gcc.target/powerpc/pr96139-c.c: New test.

[Bug target/96139] Vector element extract mistypes long long int down to long int

2020-09-15 Thread willschm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96139

Will Schmidt  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|NEW |RESOLVED

--- Comment #10 from Will Schmidt  ---
fix committed. closing out.

[Bug target/96139] Vector element extract mistypes long long int down to long int

2020-09-15 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96139

--- Comment #9 from CVS Commits  ---
The releases/gcc-9 branch has been updated by Will Schmidt
:

https://gcc.gnu.org/g:04a9b796436c68a07c052805631e962a1126dcca

commit r9-8872-g04a9b796436c68a07c052805631e962a1126dcca
Author: Will Schmidt 
Date:   Tue Sep 15 15:06:08 2020 -0500

[PATCH, rs6000] Fix vector long long subtype (PR96139)

Hi,
  This corrects an issue with the powerpc vector long long subtypes.
As reported by SjMunroe, when building some code with -Wall, and
attempting to print an element of a "long long vector" with a
long long printf format string, we will report an error because
the vector sub-type was improperly defined as int.

When defining a V2DI_type_node we use a TARGET_POWERPC64 ternary to
define the V2DI_type_node with "vector long" or "vector long long".
We also need to specify the proper sub-type when we define the type.

Due to some file renames, This is a backport and rework of both
[PATCH, rs6000] Fix vector long long subtype (PR96139)
and
[PATCH, rs6000] Testsuite fixup pr96139 tests


PR target/96139

2020-09-03  Will Schmidt  

gcc/ChangeLog:
* config/rs6000/rs6000.c (rs6000_init_builtin): Update
V2DI_type_node
and unsigned_V2DI_type_node definitions.

gcc/testsuite/ChangeLog:
* gcc.target/powerpc/pr96139-a.c: New test.
* gcc.target/powerpc/pr96139-b.c: New test.
* gcc.target/powerpc/pr96139-c.c: New test.

[Bug target/96139] Vector element extract mistypes long long int down to long int

2020-09-15 Thread willschm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96139

Will Schmidt  changed:

   What|Removed |Added

 CC||kelvin at gcc dot gnu.org

--- Comment #8 from Will Schmidt  ---
*** Bug 85198 has been marked as a duplicate of this bug. ***

[Bug target/96139] Vector element extract mistypes long long int down to long int

2020-09-15 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96139

--- Comment #7 from CVS Commits  ---
The releases/gcc-10 branch has been updated by Will Schmidt
:

https://gcc.gnu.org/g:ba0bc8fa005921832c4665e5b5a18932d3f4ccf4

commit r10-8766-gba0bc8fa005921832c4665e5b5a18932d3f4ccf4
Author: Will Schmidt 
Date:   Mon Jul 20 10:51:37 2020 -0500

[PATCH, rs6000] Fix vector long long subtype (PR96139)

Hi,
  This corrects an issue with the powerpc vector long long subtypes.
As reported by SjMunroe, when building some code with -Wall, and
attempting to print an element of a "long long vector" with a
long long printf format string, we will report an error because
the vector sub-type was improperly defined as int.

When defining a V2DI_type_node we use a TARGET_POWERPC64 ternary to
define the V2DI_type_node with "vector long" or "vector long long".
We also need to specify the proper sub-type when we define the type.

PR target/96139

2020-09-03  Will Schmidt  

gcc/ChangeLog:
* config/rs6000/rs6000-call.c (rs6000_init_builtin): Update
V2DI_type_node
and unsigned_V2DI_type_node definitions.

gcc/testsuite/ChangeLog:
* gcc.target/powerpc/pr96139-a.c: New test.
* gcc.target/powerpc/pr96139-b.c: New test.
* gcc.target/powerpc/pr96139-c.c: New test.

(cherry picked from commit d8f3474ff81b07fd2e758337957711db17eb801e)

[Bug target/96139] Vector element extract mistypes long long int down to long int

2020-09-03 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96139

--- Comment #6 from CVS Commits  ---
The master branch has been updated by Will Schmidt :

https://gcc.gnu.org/g:d8f3474ff81b07fd2e758337957711db17eb801e

commit r11-3002-gd8f3474ff81b07fd2e758337957711db17eb801e
Author: Will Schmidt 
Date:   Mon Jul 20 10:51:37 2020 -0500

[PATCH, rs6000] Fix vector long long subtype (PR96139)

Hi,
  This corrects an issue with the powerpc vector long long subtypes.
As reported by SjMunroe, when building some code with -Wall, and
attempting to print an element of a "long long vector" with a
long long printf format string, we will report an error because
the vector sub-type was improperly defined as int.

When defining a V2DI_type_node we use a TARGET_POWERPC64 ternary to
define the V2DI_type_node with "vector long" or "vector long long".
We also need to specify the proper sub-type when we define the type.

PR target/96139

2020-09-03  Will Schmidt  

gcc/ChangeLog:
* config/rs6000/rs6000-call.c (rs6000_init_builtin): Update
V2DI_type_node
and unsigned_V2DI_type_node definitions.

gcc/testsuite/ChangeLog:
* gcc.target/powerpc/pr96139-a.c: New test.
* gcc.target/powerpc/pr96139-b.c: New test.
* gcc.target/powerpc/pr96139-c.c: New test.

[Bug target/96139] Vector element extract mistypes long long int down to long int

2020-07-16 Thread willschm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96139

Will Schmidt  changed:

   What|Removed |Added

 CC||willschm at gcc dot gnu.org

--- Comment #5 from Will Schmidt  ---
(In reply to Bill Schmidt from comment #2)
> Have you tried it for -m32, out of curiosity?

Local experimentation indicates building with -m32 does not report the warning.

[Bug target/96139] Vector element extract mistypes long long int down to long int

2020-07-10 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96139

Richard Biener  changed:

   What|Removed |Added

   Keywords||wrong-code
   Last reconfirmed||2020-07-10
 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1

--- Comment #4 from Richard Biener  ---
The issue is that 'val' has

 
unit-size 
align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x76bc97e0 precision:64 min  max 
pointer_to_this >
unsigned V2DI
size  constant 128>
unit-size  constant 16>
align:128 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x76cae000 nunits:2>

so the error is in processing of the __vector typedef, not in the
element extract.  IIRC __vector is a ppc specific keyword thus target
code is likely the culprit here.

It's also wrong-code for TBAA btw, accessing a unsigned long long[]
via ui64_t would be invalid.

[Bug target/96139] Vector element extract mistypes long long int down to long int

2020-07-09 Thread munroesj at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96139

--- Comment #3 from Steven Munroe  ---
(In reply to Bill Schmidt from comment #2)
> Have you tried it for -m32, out of curiosity?

no

[Bug target/96139] Vector element extract mistypes long long int down to long int

2020-07-09 Thread wschmidt at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96139

--- Comment #2 from Bill Schmidt  ---
Have you tried it for -m32, out of curiosity?