[PATCH, rs6000] Fix vector long long subtype (PR96139)
authorWill Schmidt <will_schmidt@vnet.ibm.com>
Mon, 20 Jul 2020 15:51:37 +0000 (10:51 -0500)
committerWill Schmidt <will_schmidt@vnet.ibm.com>
Thu, 3 Sep 2020 20:05:59 +0000 (15:05 -0500)
commitd8f3474ff81b07fd2e758337957711db17eb801e
treef41e002be105566486dc9a03669db91dbbd02624
parentba6730bd18371a3dff1e37d2c2ee27233285b597
[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  <will_schmidt@vnet.ibm.com>

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.
gcc/config/rs6000/rs6000-call.c
gcc/testsuite/gcc.target/powerpc/pr96139-a.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/pr96139-b.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/pr96139-c.c [new file with mode: 0644]