rs6000: MMA built-ins reject typedefs of MMA types
authorPeter Bergner <bergner@linux.ibm.com>
Sat, 8 Aug 2020 16:54:48 +0000 (11:54 -0500)
committerPeter Bergner <bergner@linux.ibm.com>
Sat, 8 Aug 2020 16:57:44 +0000 (11:57 -0500)
commite2882e76089cecdc268d0835c54cabfa80b5b0be
tree2b4452a8caeab7f00d72156dd6b71511f9888454
parent676b5525e8333005bdc1c596ed086f1da27a450f
rs6000: MMA built-ins reject typedefs of MMA types

We do not allow conversions between the MMA types and other types.
However, we are being too strict in not matching MMA types with
typdefs of those types.  Use TYPE_CANONICAL to see through the
types to their canonical types before comparing them.

2020-08-08  Peter Bergner  <bergner@linux.ibm.com>

gcc/
PR target/96530
* config/rs6000/rs6000.c (rs6000_invalid_conversion): Use canonical
types for type comparisons.  Refactor code to simplify it.

gcc/testsuite/
PR target/96530
* gcc.target/powerpc/pr96530.c: New test.
gcc/config/rs6000/rs6000.c
gcc/testsuite/gcc.target/powerpc/pr96530.c [new file with mode: 0644]