[Bug target/71733] ICE in vmx test cases with -mcpu=power9
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
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
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
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
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
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
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
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.