https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77344

            Bug ID: 77344
           Summary: Internal Compiler Error with arch knl
           Product: gcc
           Version: 6.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: matthew.thompson at nasa dot gov
  Target Milestone: ---

Created attachment 39485
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39485&action=edit
Tarball with offending code and GNUmakefile

I have a code that when it is compiled with -march=knl -mtune=knl, causes an
ICE (see output below). It doesn't ICE out with, say -march=haswell
-mtune=intel.


This is with GCC 6.1.0, I haven't tried 6.2.0 yet, but I'll try and get that
built today.

I have to attach a tarball because the offending code depends on other codes to
compile. To test the fault, just run "make". This code does *not* make an
executable as I included just the files necessary to throw the ICE.

(444) $ gfortran -O3 -march=knl -mtune=knl -funroll-loops
-ffixed-line-length-132 -fno-range-check -fPIC -ffpe-trap=zero,overflow
-fbacktrace -falign-commons -save-temps -v -c sorad.F90
Using built-in specs.
COLLECT_GCC=gfortran
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-6.1.0/configure
--prefix=/ford1/local/gcc/gcc-6.1.0-rhel6 --disable-multilib
Thread model: posix
gcc version 6.1.0 (GCC) 
COLLECT_GCC_OPTIONS='-O3' '-march=knl' '-mtune=knl' '-funroll-loops'
'-ffixed-line-length-132' '-fno-range-check' '-fPIC' '-ffpe-trap=zero,overflow'
'-fbacktrace' '-falign-commons' '-save-temps' '-v' '-c'
 /ford1/local/gcc/gcc-6.1.0-rhel6/libexec/gcc/x86_64-pc-linux-gnu/6.1.0/f951
sorad.F90 -cpp=sorad.f90 -quiet -v sorad.F90 -quiet -dumpbase sorad.F90
-march=knl -mtune=knl -auxbase sorad -O3 -version -funroll-loops
-ffixed-line-length-132 -fno-range-check -fPIC -ffpe-trap=zero,overflow
-fbacktrace -falign-commons -fintrinsic-modules-path
/ford1/local/gcc/gcc-6.1.0-rhel6/lib/gcc/x86_64-pc-linux-gnu/6.1.0/finclude -o
sorad.s
GNU Fortran (GCC) version 6.1.0 (x86_64-pc-linux-gnu)
        compiled by GNU C version 6.1.0, GMP version 4.3.2, MPFR version 2.4.2,
MPC version 0.8.1, isl version 0.15
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory
"/ford1/local/gcc/gcc-6.1.0-rhel6/lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../../x86_64-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /ford1/local/gcc/gcc-6.1.0-rhel6/lib/gcc/x86_64-pc-linux-gnu/6.1.0/finclude
 /ford1/local/gcc/gcc-6.1.0-rhel6/lib/gcc/x86_64-pc-linux-gnu/6.1.0/include
 /usr/local/include
 /ford1/local/gcc/gcc-6.1.0-rhel6/include

/ford1/local/gcc/gcc-6.1.0-rhel6/lib/gcc/x86_64-pc-linux-gnu/6.1.0/include-fixed
 /usr/include
End of search list.
GNU Fortran2008 (GCC) version 6.1.0 (x86_64-pc-linux-gnu)
        compiled by GNU C version 6.1.0, GMP version 4.3.2, MPFR version 2.4.2,
MPC version 0.8.1, isl version 0.15
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
sorad.F90:126:0:

    subroutine sorad (m,np,nb,cosz_dev,pl_dev,ta_dev,wa_dev,oa_dev,co2,&

internal compiler error: in ix86_fp_cmp_code_to_pcmp_immediate, at
config/i386/i386.c:23042
0xd06b6b ix86_fp_cmp_code_to_pcmp_immediate
        ../../gcc-6.1.0/gcc/config/i386/i386.c:23042
0xd06b6b ix86_cmp_code_to_pcmp_immediate
        ../../gcc-6.1.0/gcc/config/i386/i386.c:23053
0xd06b6b ix86_expand_mask_vec_cmp(rtx_def**)
        ../../gcc-6.1.0/gcc/config/i386/i386.c:23065
0xe999a5 gen_vec_cmpv16sfhi(rtx_def*, rtx_def*, rtx_def*, rtx_def*)
        ../../gcc-6.1.0/gcc/config/i386/sse.md:2851
0x9cfc88 maybe_expand_insn(insn_code, unsigned int, expand_operand*)
        ../../gcc-6.1.0/gcc/optabs.c:7032
0x9cfc88 expand_insn(insn_code, unsigned int, expand_operand*)
        ../../gcc-6.1.0/gcc/optabs.c:7063
0x9d0605 expand_vec_cmp_expr(tree_node*, tree_node*, rtx_def*)
        ../../gcc-6.1.0/gcc/optabs.c:5673
0x83e788 do_store_flag
        ../../gcc-6.1.0/gcc/expr.c:11146
0x83e788 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        ../../gcc-6.1.0/gcc/expr.c:9067
0x82ef8a expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        ../../gcc-6.1.0/gcc/expr.c:9577
0x836ca0 expand_expr
        ../../gcc-6.1.0/gcc/expr.h:256
0x836ca0 expand_operands(tree_node*, tree_node*, rtx_def*, rtx_def**,
rtx_def**, expand_modifier)
        ../../gcc-6.1.0/gcc/expr.c:7563
0x83b85e expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        ../../gcc-6.1.0/gcc/expr.c:9368
0x82ef8a expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        ../../gcc-6.1.0/gcc/expr.c:9577
0x9d0124 expand_normal
        ../../gcc-6.1.0/gcc/expr.h:262
0x9d0124 expand_vec_cond_mask_expr(tree_node*, tree_node*, tree_node*,
tree_node*, rtx_def*)
        ../../gcc-6.1.0/gcc/optabs.c:5563
0x9d04a4 expand_vec_cond_expr(tree_node*, tree_node*, tree_node*, tree_node*,
rtx_def*)
        ../../gcc-6.1.0/gcc/optabs.c:5607
0x83c229 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
        ../../gcc-6.1.0/gcc/expr.c:9358
0x75ab2e expand_gimple_stmt_1
        ../../gcc-6.1.0/gcc/cfgexpand.c:3653
0x75ab2e expand_gimple_stmt
        ../../gcc-6.1.0/gcc/cfgexpand.c:3714
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

Reply via email to