[Bug target/71733] ICE in vmx test cases with -mcpu=power9

2016-07-13 Thread amodra at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71733

Alan Modra  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 CC||amodra at gmail dot com
 Resolution|--- |FIXED
   Target Milestone|7.0 |6.2

--- Comment #8 from Alan Modra  ---
Fixed for gcc-7 and gcc-6.

[Bug target/71733] ICE in vmx test cases with -mcpu=power9

2016-07-13 Thread amodra at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71733

--- Comment #7 from Alan Modra  ---
Author: amodra
Date: Thu Jul 14 04:28:25 2016
New Revision: 238327

URL: https://gcc.gnu.org/viewcvs?rev=238327=gcc=rev
Log:
[RS6000] -mno-vsx should force -mno-power9-dform

PR target/71733
gcc/
* config/rs6000/rs6000.c (rs6000_option_override_internal): Deal
with p9_vector override before power9-dform override.
gcc/testsuite/
* gcc.target/powerpc/p9-novsx.c: New.

Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/config/rs6000/rs6000.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog

[Bug target/71733] ICE in vmx test cases with -mcpu=power9

2016-07-13 Thread amodra at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71733

--- Comment #6 from Alan Modra  ---
Author: amodra
Date: Thu Jul 14 04:26:36 2016
New Revision: 238326

URL: https://gcc.gnu.org/viewcvs?rev=238326=gcc=rev
Log:
[RS6000] -mno-vsx should force -mno-power9-dform

PR target/71733
gcc/
* config/rs6000/rs6000.c (rs6000_option_override_internal): Deal
with p9_vector override before power9-dform override.
gcc/testsuite/
* gcc.target/powerpc/p9-novsx.c: New.

Added:
trunk/gcc/testsuite/gcc.target/powerpc/p9-novsx.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/testsuite/ChangeLog

[Bug target/71733] ICE in vmx test cases with -mcpu=power9

2016-07-02 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71733

--- Comment #5 from Peter Bergner  ---
This patch bootstrapped and regtested with no regressions.  I'll submit it when
I get back from the long holiday weekend.

[Bug target/71733] ICE in vmx test cases with -mcpu=power9

2016-07-02 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71733

--- Comment #4 from Peter Bergner  ---
Aaron, the following patch seems to fix the problem for me.  Can you give this
a try?
I'm currently bootstraapping and regtesting it.


Index: gcc/config/rs6000/rs6000.c
===
--- gcc/config/rs6000/rs6000.c  (revision 237929)
+++ gcc/config/rs6000/rs6000.c  (working copy)
@@ -4303,7 +4303,8 @@ rs6000_option_override_internal (bool gl
 {
   if (rs6000_isa_flags_explicit & OPTION_MASK_P8_VECTOR)
error ("-mpower9-vector requires -mpower8-vector");
-  rs6000_isa_flags &= ~OPTION_MASK_P9_VECTOR;
+  rs6000_isa_flags &= ~(OPTION_MASK_P9_VECTOR
+   | OPTION_MASK_P9_DFORM_VECTOR);
 }

   /* There have been bugs with -mvsx-timode that don't show up with -mlra,

[Bug target/71733] ICE in vmx test cases with -mcpu=power9

2016-07-02 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71733

--- Comment #3 from Peter Bergner  ---
Confirmed, we're not disabling TARGET_P9_DFORM_VECTOR when we disable vsx.

(gdb) p TARGET_VSX
$14 = false
(gdb) p TARGET_P9_VECTOR
$15 = false
(gdb) p TARGET_P9_DFORM_SCALAR
$16 = false
(gdb) p TARGET_P9_DFORM_VECTOR
$17 = true

[Bug target/71733] ICE in vmx test cases with -mcpu=power9

2016-07-02 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71733

Peter Bergner  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2016-07-02
   Assignee|unassigned at gcc dot gnu.org  |bergner at gcc dot 
gnu.org
   Target Milestone|--- |7.0
 Ever confirmed|0   |1

--- Comment #2 from Peter Bergner  ---
Confirmed.  Here's a minimal test case.  With -mno-vsx, we should be disabling
direct move, which we don't seem to be doing.


bergner@genoa:~/gcc/BUGS/sawdey/altivec$ cat bug.i 
typedef __attribute__((altivec(vector__))) unsigned char vec_t;
vec_t
foo (vec_t src)
{
  return src;
}
bergner@genoa:~/gcc/BUGS/sawdey/altivec$
/home/bergner/gcc/build/gcc-fsf-mainline-debug/gcc/xgcc
-B/home/bergner/gcc/build/gcc-fsf-mainline-debug/gcc/ -O0 -mcpu=power9 -mno-vsx
-S bug.i 
bug.i: In function ‘foo’:
bug.i:6:1: error: insn does not satisfy its constraints:
 }
 ^
(insn 18 24 30 (set (mem/c:V16QI (plus:DI (reg/f:DI 31 31)
(const_int 48 [0x30])) [0  S16 A128])
(reg:V16QI 79 2 [ src ])) bug.i:4 1205 {*altivec_movv16qi}
 (nil))
bug.i:6:1: internal compiler error: in extract_constrain_insn_cached, at
recog.c:2223
0x10c46563 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/rtl-error.c:108
0x10c465ff _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/rtl-error.c:119
0x10bc9e1f extract_constrain_insn_cached(rtx_insn*)
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/recog.c:2223
0x114b259f insn_default_length(rtx_insn*)
   
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/config/rs6000/rs6000.md:6424
0x1073866f shorten_branches(rtx_insn*)
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/final.c:1184
0x10741eff rest_of_handle_shorten_branches
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/final.c:4537
0x10741fbf execute
/home/bergner/gcc/gcc-fsf-mainline-base/gcc/final.c:4566

[Bug target/71733] ICE in vmx test cases with -mcpu=power9

2016-07-01 Thread bergner at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71733

--- Comment #1 from Peter Bergner  ---
That altivec load should not be using reg+offset (dform) addressing.  I'll have
a look.