[Bug target/80123] libgomp tests pr66199-2.c and pr66199-5.c fail with -mcpu=power9

2017-03-29 Thread meissner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80123

--- Comment #4 from Michael Meissner  ---
Author: meissner
Date: Wed Mar 29 23:15:51 2017
New Revision: 246577

URL: https://gcc.gnu.org/viewcvs?rev=246577=gcc=rev
Log:
[gcc]
2017-03-29  Michael Meissner  

Back port from trunk
2017-03-21  Aaron Sawdey  

PR target/80123
* doc/md.texi (Constraints): Document wA constraint.
* config/rs6000/constraints.md (wA): New.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class.
(rs6000_init_hard_regno_mode_ok): Init wA constraint.
* config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New.
* config/rs6000/vsx.md (vsx_splat_): Use wA constraint.

2017-03-16  Michael Meissner  

PR target/71294
* config/rs6000/vsx.md (vsx_splat_, VSX_D iterator): Allow a
SPLAT operation on ISA 2.07 64-bit systems that have direct move,
but no MTVSRDD support, by doing MTVSRD and XXPERMDI.

[gcc/testsuite]
2017-03-29  Michael Meissner  

Back port from trunk
2017-03-16  Michael Meissner  

PR target/71294
* g++.dg/pr71294.C: New test.


Added:
branches/gcc-6-branch/gcc/testsuite/g++.dg/pr71294.C
  - copied unchanged from r246332, trunk/gcc/testsuite/g++.dg/pr71294.C
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/config/rs6000/constraints.md
branches/gcc-6-branch/gcc/config/rs6000/rs6000.c
branches/gcc-6-branch/gcc/config/rs6000/rs6000.h
branches/gcc-6-branch/gcc/config/rs6000/vsx.md
branches/gcc-6-branch/gcc/doc/md.texi
branches/gcc-6-branch/gcc/testsuite/ChangeLog

[Bug target/80123] libgomp tests pr66199-2.c and pr66199-5.c fail with -mcpu=power9

2017-03-22 Thread acsawdey at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80123

--- Comment #2 from acsawdey at gcc dot gnu.org ---
Author: acsawdey
Date: Wed Mar 22 17:47:55 2017
New Revision: 246394

URL: https://gcc.gnu.org/viewcvs?rev=246394=gcc=rev
Log:
2017-03-21  Aaron Sawdey  

PR target/80123
* doc/md.texi (Constraints): Document wA constraint.
* config/rs6000/constraints.md (wA): New.
* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class.
(rs6000_init_hard_regno_mode_ok): Init wA constraint.
* config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New.
* config/rs6000/vsx.md (vsx_splat_): Use wA constraint.



Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/constraints.md
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/config/rs6000/rs6000.h
trunk/gcc/config/rs6000/vsx.md
trunk/gcc/doc/md.texi

[Bug target/80123] libgomp tests pr66199-2.c and pr66199-5.c fail with -mcpu=power9

2017-03-22 Thread acsawdey at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80123

acsawdey at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from acsawdey at gcc dot gnu.org ---
Fixed in 246394.

[Bug target/80123] libgomp tests pr66199-2.c and pr66199-5.c fail with -mcpu=power9

2017-03-20 Thread acsawdey at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80123

--- Comment #1 from acsawdey at gcc dot gnu.org ---
Changing the final constraint of vsx_splat_ from "wr" to "b" allows this
to compile and pass the execution test. 

This isn't really a correct fix as "b" is not NO_REGS if 64-bit instructions
are disabled.

;; V2DF/V2DI splat
(define_insn_and_split "vsx_splat_"
  [(set (match_operand:VSX_D 0 "vsx_register_operand"
"=,,we,")
(vec_duplicate:VSX_D
 (match_operand: 1 "splat_input_operand"
",Z,b, wr")))]