[Bug tree-optimization/71551] New: Another ICE in fold_convert_loc, in fold-const.c:2366 but this time for KNL/AVX512
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71551 Bug ID: 71551 Summary: Another ICE in fold_convert_loc, in fold-const.c:2366 but this time for KNL/AVX512 Product: gcc Version: 6.1.0 Status: UNCONFIRMED Severity: major Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: tripiana at gmail dot com Target Milestone: --- Target: x86_64 When trying to compile a python 3.5.1 I've got this message: /apps/.GCC/6.1.0/bin/gcc -shared -B/apps/.GCC/6.1.0/bin -DMKL_LP64 -I/usr/include/ncurses -I/apps/INTEL-2017/mkl/include -fPIC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -m64 -march=native -mtune=native -Ofast -g0 -s -fmath-errno -fno-unsafe-math-optimizations -fno-finite-math-only -fno-cx-limited-range -freciprocal-math -ftree-vectorize -floop-parallelize-all -ftree-parallelize-loops=2 -fomit-frame-pointer -fno-stack-protector -fopenmp -ffunction-sections -fdata-sections -flto -fuse-linker-plugin -Wl,--gc-sections -L/apps/INTEL-2017/mkl/lib/intel64_lin -lmkl_core -lmkl_gnu_thread -lmkl_gf_lp64 -lmkl_lapack95_lp64 -L/apps/.GLIBC/2.23/lib -lpthread -lm -lmvec -ldl -Wl,-rpath,/apps/.GLIBC/2.23/lib -Wl,-rpath,/apps/.GCC/6.1.0/lib64 -Wl,-rpath,/apps/.GCC/6.1.0/lib -Wl,-rpath,/apps/INTEL-2017/mkl/lib/intel64_lin -Wl,--dynamic-linker,/apps/.GLIBC/2.23/lib/ld-linux-x86-64.so.2 -B/apps/.GCC/6.1.0/bin -DMKL_LP64 -I/usr/include/ncurses -I/apps/INTEL-2017/mkl/include -fPIC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -m64 -march=native -mtune=native -Ofast -g0 -s -fmath-errno -fno-unsafe-math-optimizations -fno-finite-math-only -fno-cx-limited-range -freciprocal-math -ftree-vectorize -floop-parallelize-all -ftree-parallelize-loops=2 -fomit-frame-pointer -fno-stack-protector -fopenmp -ffunction-sections -fdata-sections -flto -fuse-linker-plugin -Wl,--gc-sections -L/apps/INTEL-2017/mkl/lib/intel64_lin -lmkl_core -lmkl_gnu_thread -lmkl_gf_lp64 -lmkl_lapack95_lp64 -L/apps/.GLIBC/2.23/lib -lpthread -lm -lmvec -ldl -Wl,-rpath,/apps/.GLIBC/2.23/lib -Wl,-rpath,/apps/.GCC/6.1.0/lib64 -Wl,-rpath,/apps/.GCC/6.1.0/lib -Wl,-rpath,/apps/INTEL-2017/mkl/lib/intel64_lin -Wl,--dynamic-linker,/apps/.GLIBC/2.23/lib/ld-linux-x86-64.so.2 -B/apps/.GCC/6.1.0/bin -DMKL_LP64 -I/usr/include/ncurses -I/apps/INTEL-2017/mkl/include -fPIC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -m64 -march=native -mtune=native -Ofast -g0 -s -fmath-errno -fno-unsafe-math-optimizations -fno-finite-math-only -fno-cx-limited-range -freciprocal-math -ftree-vectorize -floop-parallelize-all -ftree-parallelize-loops=2 -fomit-frame-pointer -fno-stack-protector -fopenmp -ffunction-sections -fdata-sections -flto -fuse-linker-plugin -Wl,--gc-sections -L/apps/INTEL-2017/mkl/lib/intel64_lin -lmkl_core -lmkl_gnu_thread -lmkl_gf_lp64 -lmkl_lapack95_lp64 -L/apps/.GLIBC/2.23/lib -lpthread -lm -lmvec -ldl -Wl,-rpath,/apps/.GLIBC/2.23/lib -Wl,-rpath,/apps/.GCC/6.1.0/lib64 -Wl,-rpath,/apps/.GCC/6.1.0/lib -Wl,-rpath,/apps/INTEL-2017/mkl/lib/intel64_lin -Wl,--dynamic-linker,/apps/.GLIBC/2.23/lib/ld-linux-x86-64.so.2 -B/apps/.GCC/6.1.0/bin -DMKL_LP64 -I/usr/include/ncurses -I/apps/INTEL-2017/mkl/include -fPIC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -m64 -march=native -mtune=native -Ofast -g0 -s -fmath-errno -fno-unsafe-math-optimizations -fno-finite-math-only -fno-cx-limited-range -freciprocal-math -ftree-vectorize -floop-parallelize-all -ftree-parallelize-loops=2 -fomit-frame-pointer -fno-stack-protector -fopenmp -ffunction-sections -fdata-sections -flto -fuse-linker-plugin -Wl,--gc-sections -L/apps/INTEL-2017/mkl/lib/intel64_lin -lmkl_core -lmkl_gnu_thread -lmkl_gf_lp64 -lmkl_lapack95_lp64 -L/apps/.GLIBC/2.23/lib -lpthread -lm -lmvec -ldl -Wl,-rpath,/apps/.GLIBC/2.23/lib -Wl,-rpath,/apps/.GCC/6.1.0/lib64 -Wl,-rpath,/apps/.GCC/6.1.0/lib -Wl,-rpath,/apps/INTEL-2017/mkl/lib/intel64_lin -Wl,--dynamic-linker,/apps/.GLIBC/2.23/lib/ld-linux-x86-64.so.2 build/temp.linux-x86_64-3.5/numpy/core/src/umath/umathmodule.o build/temp.linux-x86_64-3.5/numpy/core/src/umath/reduction.o build/temp.linux-x86_64-3.5/build/src.linux-x86_64-3.5/numpy/core/src/umath/loops.o build/temp.linux-x86_64-3.5/numpy/core/src/umath/ufunc_object.o build/temp.linux-x86_64-3.5/build/src.linux-x86_64-3.5/numpy/core/src/umath/scalarmath.o build/temp.linux-x86_64-3.5/numpy/core/src/umath/ufunc_type_resolution.o -L/apps/PYTHON/3.5.1/lib -Lbuild/temp.linux-x86_64-3.5 -lnpymath -lm -lpython3.5m -o build/lib.linux-x86_64-3.5/numpy/core/umath.cpython-35m-x86_64-linux-gnu.so numpy/core/src/umath/ufunc_object.c:5064:1: error interno del compilador: en fold_convert_loc, en fold-const.c:2366 ufunc_reduceat(PyUFuncObject *ufunc, PyObject *args, PyObject *kwds) ^ 0x7391b6 fold_convert_loc(unsigned int, tree_node*, tree_node*) ../../gcc/fold-const.c:2366 0x72e75d fold_ternary_loc(unsigned int, tree_code, tree_node*, tree_node*, tree_node*, tree_node*) ../.
[Bug tree-optimization/71551] Another ICE in fold_convert_loc, in fold-const.c:2366 but this time for KNL/AVX512
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71551 --- Comment #2 from Carlos Tripiana Montes --- (In reply to Marc Glisse from comment #1) > Please include preprocessed source code. I wanted to do so, but this compilation line does not give me a *.i file(s) just a bunch of ltrans0.ltrans.o, ltrans*.o and ltrans*.s. I guess it's because it's a link step. How shall I proceed?
[Bug tree-optimization/71551] Another ICE in fold_convert_loc, in fold-const.c:2366 but this time for KNL/AVX512
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71551 --- Comment #4 from Carlos Tripiana Montes --- Created attachment 38711 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38711&action=edit intermediate file
[Bug tree-optimization/71551] Another ICE in fold_convert_loc, in fold-const.c:2366 but this time for KNL/AVX512
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71551 --- Comment #5 from Carlos Tripiana Montes --- Created attachment 38712 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38712&action=edit assembler file
[Bug tree-optimization/71551] Another ICE in fold_convert_loc, in fold-const.c:2366 but this time for KNL/AVX512
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71551 --- Comment #6 from Carlos Tripiana Montes --- I have clean and redone the compilation, without LTO. Now fails in the file compilation, not at link time. I have attached the preprocessed file(s). NOTE: This only happens in KNL/AVX512 machine. The same stack + compilation in a Haswell does the job right. /apps/.GCC/6.1.0/bin/gcc -DNDEBUG -g -Wall -Wstrict-prototypes -B/apps/.GCC/6.1.0/bin -DMKL_LP64 -I/usr/include/ncurses -I/apps/INTEL-2017/mkl/include -fPIC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -m64 -march=native -mtune=native -Ofast -g0 -s -fmath-errno -fno-unsafe-math-optimizations -fno-finite-math-only -fno-cx-limited-range -freciprocal-math -ftree-vectorize -floop-parallelize-all -ftree-parallelize-loops=2 -fomit-frame-pointer -fno-stack-protector -fopenmp -ffunction-sections -fdata-sections -Wl,--gc-sections -L/apps/INTEL-2017/mkl/lib/intel64_lin -lmkl_core -lmkl_gnu_thread -lmkl_gf_lp64 -lmkl_lapack95_lp64 -L/apps/.GLIBC/2.23/lib -lpthread -lm -lmvec -ldl -Wl,-rpath,/apps/.GLIBC/2.23/lib -Wl,-rpath,/apps/.GCC/6.1.0/lib64 -Wl,-rpath,/apps/.GCC/6.1.0/lib -Wl,-rpath,/apps/INTEL-2017/mkl/lib/intel64_lin -Wl,--dynamic-linker,/apps/.GLIBC/2.23/lib/ld-linux-x86-64.so.2 -fPIC -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -Ibuild/src.linux-x86_64-3.5/numpy/core/src/umath -Inumpy/core/include -Ibuild/src.linux-x86_64-3.5/numpy/core/include/numpy -Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/apps/PYTHON/3.5.1/include/python3.5m -Ibuild/src.linux-x86_64-3.5/numpy/core/src/private -Ibuild/src.linux-x86_64-3.5/numpy/core/src/private -Ibuild/src.linux-x86_64-3.5/numpy/core/src/private -c numpy/core/src/umath/ufunc_object.c -o build/temp.linux-x86_64-3.5/numpy/core/src/umath/ufunc_object.o -v -save-temps Usando especificaciones internas. COLLECT_GCC=/apps/.GCC/6.1.0/bin/gcc Objetivo: x86_64-rhel-linux Configurado con: ../configure --prefix=/apps/.GCC/6.1.0 --enable-ld --disable-multilib --enable-languages=c,c++,objc,fortran,obj-c++,java --enable-threads=posix --enable-checking=release --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-libssp --disable-libssp --disable-libgcj --disable-libmudflap --enable-linux-futex --without-system-libunwind --with-system-zlib --enable-lto --enable-plugin --build=x86_64-rhel-linux --with-glibc-version=2.23 --with-native-system-header-dir=/include --with-sysroot=/apps/.GLIBC/2.23 --with-build-sysroot=/apps/.GLIBC/2.23 --with-stage1-ldflags='-static-libstdc++ -static-libgcc --sysroot=/apps/.GLIBC/2.23 -L/apps/.GLIBC/2.23/lib -L/apps/.GLIBC/2.23/lib64 -Wl,-rpath,/apps/.GLIBC/2.23/lib -Wl,-rpath,/apps/.GLIBC/2.23/lib64 -Wl,--dynamic-linker,/apps/.GLIBC/2.23/lib/ld-linux-x86-64.so.2' --with-boot-ldflags='-static-libstdc++ -static-libgcc --sysroot=/apps/.GLIBC/2.23 -L/apps/.GLIBC/2.23/lib -L/apps/.GLIBC/2.23/lib64 -Wl,-rpath,/apps/.GLIBC/2.23/lib -Wl,-rpath,/apps/.GLIBC/2.23/lib64 -Wl,--dynamic-linker,/apps/.GLIBC/2.23/lib/ld-linux-x86-64.so.2' Modelo de hilos: posix gcc versión 6.1.0 (GCC) COLLECT_GCC_OPTIONS='-D' 'NDEBUG' '-g' '-Wall' '-Wstrict-prototypes' '-B' '/apps/.GCC/6.1.0/bin' '-D' 'MKL_LP64' '-I' '/usr/include/ncurses' '-I' '/apps/INTEL-2017/mkl/include' '-U' '_FORTIFY_SOURCE' '-D' '_FORTIFY_SOURCE=0' '-m64' '-march=native' '-mtune=native' '-Ofast' '-g0' '-s' '-fmath-errno' '-fno-unsafe-math-optimizations' '-fno-finite-math-only' '-fno-cx-limited-range' '-freciprocal-math' '-ftree-vectorize' '-floop-parallelize-all' '-ftree-parallelize-loops=2' '-fomit-frame-pointer' '-fno-stack-protector' '-fopenmp' '-ffunction-sections' '-fdata-sections' '-L/apps/INTEL-2017/mkl/lib/intel64_lin' '-L/apps/.GLIBC/2.23/lib' '-fPIC' '-D' 'HAVE_NPY_CONFIG_H=1' '-D' '_FILE_OFFSET_BITS=64' '-D' '_LARGEFILE_SOURCE=1' '-D' '_LARGEFILE64_SOURCE=1' '-I' 'build/src.linux-x86_64-3.5/numpy/core/src/umath' '-I' 'numpy/core/include' '-I' 'build/src.linux-x86_64-3.5/numpy/core/include/numpy' '-I' 'numpy/core/src/private' '-I' 'numpy/core/src' '-I' 'numpy/core' '-I' 'numpy/core/src/npymath' '-I' 'numpy/core/src/multiarray' '-I' 'numpy/core/src/umath' '-I' 'numpy/core/src/npysort' '-I' '/apps/PYTHON/3.5.1/include/python3.5m' '-I' 'build/src.linux-x86_64-3.5/numpy/core/src/private' '-I' 'build/src.linux-x86_64-3.5/numpy/core/src/private' '-I' 'build/src.linux-x86_64-3.5/numpy/core/src/private' '-c' '-o' 'build/temp.linux-x86_64-3.5/numpy/core/src/umath/ufunc_object.o' '-v' '-save-temps' '-pthread' /apps/.GCC/6.1.0/libexec/gcc/x86_64-rhel-linux/6.1.0/cc1 -E -quiet -v -I /usr/include/ncurses -I /apps/INTEL-2017/mkl/include -I build/src.linux-x86_64-3.5/numpy/core/src/umath -I numpy/core/include -I build/src.linux-x86_64-3.5/numpy/core/include/numpy -I numpy/core/src/private -I numpy/core/src -I numpy/core -I numpy/core/src/npymath -I numpy/core/src/multiarray -I nump
[Bug tree-optimization/71551] Another ICE in fold_convert_loc, in fold-const.c:2366 but this time for KNL/AVX512
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71551 --- Comment #8 from Carlos Tripiana Montes --- OK, but 6.1.1 is not yet released, so in this case I just need the link to the original bug, so as to seek for the patch. I just unable to find the bug. Please, I need the link. (In reply to Markus Trippelsdorf from comment #7) > Seems to be fixed already on gcc-6 branch. > > Confirmed with an older compiler: > > GNU C11 (GCC) version 6.1.1 20160527 (x86_64-pc-linux-gnu) > compiled by GNU C version 6.1.1 20160527, GMP version 6.1.0, MPFR > version 3.1.4, MPC version 1.0.3, isl version none > GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 > Compiler executable checksum: 92777a25c329ef4e7f275dde4c25c746 > numpy/core/src/umath/ufunc_object.c: In function ‘PyUFunc_GenericReduction’: > numpy/core/src/umath/ufunc_object.c:3756:1: internal compiler error: in > fold_convert_loc, at fold-const.c:2367
[Bug libgcc/71559] New: ICE in ix86_fp_cmp_code_to_pcmp_immediate, at config/i386/i386.c:23042 (KNL/AVX512)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71559 Bug ID: 71559 Summary: ICE in ix86_fp_cmp_code_to_pcmp_immediate, at config/i386/i386.c:23042 (KNL/AVX512) Product: gcc Version: 6.1.0 Status: UNCONFIRMED Severity: major Priority: P3 Component: libgcc Assignee: unassigned at gcc dot gnu.org Reporter: tripiana at gmail dot com Target Milestone: --- Created attachment 38714 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=38714&action=edit intermediate (assembly) file When compiling scipy code with GFORTRAN in a KNL/AVX512 (does not happens in other machines with the same stack). The --save-temps only generates a *.s file (attached): ctripian@knl01:/apps/PYTHON/SRC/3.5.1/modules/scipy-0.17.1> /apps/.GCC/6.1.0/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -B/apps/.GCC/6.1.0/bin -DMKL_LP64 -I/usr/include/ncurses -I/apps/INTEL-2017/mkl/include -fPIC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -m64 -march=native -mtune=native -Ofast -g0 -s -fmath-errno -fno-unsafe-math-optimizations -fno-finite-math-only -fno-cx-limited-range -freciprocal-math -ftree-vectorize -floop-parallelize-all -ftree-parallelize-loops=2 -fomit-frame-pointer -fno-stack-protector -fopenmp -ffunction-sections -fdata-sections -Wl,--gc-sections -L/apps/INTEL-2017/mkl/lib/intel64_lin -lmkl_core -lmkl_gnu_thread -lmkl_gf_lp64 -lmkl_lapack95_lp64 -L/apps/.GLIBC/2.23/lib -lpthread -lm -lmvec -ldl -Wl,-rpath,/apps/.GLIBC/2.23/lib -Wl,-rpath,/apps/.GCC/6.1.0/lib64 -Wl,-rpath,/apps/.GCC/6.1.0/lib -Wl,-rpath,/apps/INTEL-2017/mkl/lib/intel64_lin -Wl,--dynamic-linker,/apps/.GLIBC/2.23/lib/ld-linux-x86-64.so.2 -funroll-loops -I/apps/PYTHON/3.5.1/lib/python3.5/site-packages/numpy-1.11.0-py3.5-linux-x86_64.egg/numpy/core/include -c -c scipy/integrate/odepack/prja.f -o build/temp.linux-x86_64-3.5/scipy/integrate/odepack/prja.o -v -save-temps Driving: /apps/.GCC/6.1.0/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -B/apps/.GCC/6.1.0/bin -DMKL_LP64 -I/usr/include/ncurses -I/apps/INTEL-2017/mkl/include -fPIC -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -m64 -march=native -mtune=native -Ofast -g0 -s -fmath-errno -fno-unsafe-math-optimizations -fno-finite-math-only -fno-cx-limited-range -freciprocal-math -ftree-vectorize -floop-parallelize-all -ftree-parallelize-loops=2 -fomit-frame-pointer -fno-stack-protector -fopenmp -ffunction-sections -fdata-sections -Wl,--gc-sections -L/apps/INTEL-2017/mkl/lib/intel64_lin -lmkl_core -lmkl_gnu_thread -lmkl_gf_lp64 -lmkl_lapack95_lp64 -L/apps/.GLIBC/2.23/lib -lpthread -l gfortran -lm -lmvec -ldl -Wl,-rpath,/apps/.GLIBC/2.23/lib -Wl,-rpath,/apps/.GCC/6.1.0/lib64 -Wl,-rpath,/apps/.GCC/6.1.0/lib -Wl,-rpath,/apps/INTEL-2017/mkl/lib/intel64_lin -Wl,--dynamic-linker,/apps/.GLIBC/2.23/lib/ld-linux-x86-64.so.2 -funroll-loops -I/apps/PYTHON/3.5.1/lib/python3.5/site-packages/numpy-1.11.0-py3.5-linux-x86_64.egg/numpy/core/include -c -c scipy/integrate/odepack/prja.f -o build/temp.linux-x86_64-3.5/scipy/integrate/odepack/prja.o -v -save-temps Using built-in specs. COLLECT_GCC=/apps/.GCC/6.1.0/bin/gfortran Target: x86_64-pc-linux-gnu Configured with: ../configure --prefix=/apps/.GCC/6.1.0 --enable-ld --disable-multilib --enable-languages=c,c++,objc,fortran,obj-c++,java --enable-threads=posix --enable-checking=release --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-libssp --disable-libssp --disable-libgcj --disable-libmudflap --enable-linux-futex --without-system-libunwind --with-system-zlib --enable-lto --enable-plugin --with-glibc-version=2.23 --with-native-system-header-dir=/include --with-sysroot=/apps/.GLIBC/2.23 --with-build-sysroot=/apps/.GLIBC/2.23 --with-stage1-ldflags='-static-libstdc++ -static-libgcc --sysroot=/apps/.GLIBC/2.23 -L/apps/.GLIBC/2.23/lib -L/apps/.GLIBC/2.23/lib64 -Wl,-rpath,/apps/.GLIBC/2.23/lib -Wl,-rpath,/apps/.GLIBC/2.23/lib64 -Wl,--dynamic-linker,/apps/.GLIBC/2.23/lib/ld-linux-x86-64.so.2' --with-boot-ldflags='-static-libstdc++ -static-libgcc --sysroot=/apps/.GLIBC/2.23 -L/apps/.GLIBC/2.23/lib -L/apps/.GLIBC/2.23/lib64 -Wl,-rpath,/apps/.GLIBC/2.23/lib -Wl,-rpath,/apps/.GLIBC/2.23/lib64 -Wl,--dynamic-linker,/apps/.GLIBC/2.23/lib/ld-linux-x86-64.so.2' Thread model: posix gcc version 6.1.0 (GCC) COLLECT_GCC_OPTIONS='-Wall' '-g' '-ffixed-form' '-fno-second-underscore' '-B' '/apps/.GCC/6.1.0/bin' '-D' 'MKL_LP64' '-I' '/usr/include/ncurses' '-I' '/apps/INTEL-2017/mkl/include' '-fPIC' '-U' '_FORTIFY_SOURCE' '-D' '_FORTIFY_SOURCE=0' '-m64' '-march=native' '-mtune=native' '-Ofast' '-g0' '-s' '-fmath-errno' '-fno-unsafe-math-optimizations' '-fno-finite-m
[Bug libgcc/71559] ICE in ix86_fp_cmp_code_to_pcmp_immediate, at config/i386/i386.c:23042 (KNL/AVX512)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71559 --- Comment #1 from Carlos Tripiana Montes --- Does anyone has a clue on this? I've tried to follow the stacktrace and it seems like it's generating an invalid code tag for this particular operation. Any help would be much appreciated!
[Bug libgcc/71559] ICE in ix86_fp_cmp_code_to_pcmp_immediate, at config/i386/i386.c:23042 (KNL/AVX512)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71559 --- Comment #4 from Carlos Tripiana Montes --- I wasn't sure but that was my intuition. But I'm afraid I don't have enough knowledge to propose a fix. (In reply to Jakub Jelinek from comment #3) > I'd say it is a bug in ix86_fp_cmp_code_to_pcmp_immediate that it handles > only a small portion of the FP comparison codes, while VCMPP[SD] > instructions should be able to handle everything needed. > But, I'm also surprised where the values in that function come from. > Looking at the D modifier expansion in i386.c that is used for AVX vcmp, I > see that: > code %D3 emits corresponding imm > ix86_fp_cmp_code_to_pcmp_immediate > UNEQ eq_us 0x18 ICE > EQeq08 > UNLT nge 9ICE > LTlt10x19 > UNLE ngt 0xa ICE > LEle20x1a > UNORDERED unord 3ICE > LTGT neq_oq0xc ICE > NEneq 44 > GEge0xd 0x15 > UNGE nlt 5ICE > GTgt0xe 0x16 > UNGT nle 6ICE > ORDERED ord 7ICE > So, there is agreement only on NE and nothing else.
[Bug libgcc/71559] ICE in ix86_fp_cmp_code_to_pcmp_immediate, at config/i386/i386.c:23042 (KNL/AVX512)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71559 --- Comment #6 from Carlos Tripiana Montes --- Hope you guys can do that and fix this problem soon. It would much appreciated as we are (at Barcelona Supercomputing Center, Spain) doing research on KNL and we need the fastest/most robust code we can obtain. Thanks in advance. (In reply to Ilya Enkovich from comment #5) > (In reply to Jakub Jelinek from comment #3) > > I'd say it is a bug in ix86_fp_cmp_code_to_pcmp_immediate that it handles > > only a small portion of the FP comparison codes, while VCMPP[SD] > > instructions should be able to handle everything needed. > > But, I'm also surprised where the values in that function come from. > > Looking at the D modifier expansion in i386.c that is used for AVX vcmp, I > > see that: > > code %D3 emits corresponding imm > > ix86_fp_cmp_code_to_pcmp_immediate > > UNEQ eq_us 0x18 ICE > > EQeq08 > > UNLT nge 9ICE > > LTlt10x19 > > UNLE ngt 0xa ICE > > LEle20x1a > > UNORDERED unord 3ICE > > LTGT neq_oq0xc ICE > > NEneq 44 > > GEge0xd 0x15 > > UNGE nlt 5ICE > > GTgt0xe 0x16 > > UNGT nle 6ICE > > ORDERED ord 7ICE > > So, there is agreement only on NE and nothing else. > > I took values for ix86_fp_cmp_code_to_pcmp_immediate from some table Kirill > gave me and seems all values I used were unordered non-signaling variants. > I don't fully understand the logic of imms in this table. Some of them are > signalling and some of them are not. Also why is NE unordered? But I > suspect there is good reason for such choice and suppose AVX512 compares > should be put in a consistent state with AVX ones by fixing > ix86_fp_cmp_code_to_pcmp_immediate appropriately.
[Bug c++/70932] flexible array member with non-trivial destructor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70932 Carlos Tripiana Montes changed: What|Removed |Added CC||tripiana at gmail dot com --- Comment #8 from Carlos Tripiana Montes --- (In reply to Paul Wankadia from comment #7) > Ahh. Thank you for clarifying. I will continue to watch this bug then. :) Any updates on this??
[Bug target/71559] ICE in ix86_fp_cmp_code_to_pcmp_immediate, at config/i386/i386.c:23042 (KNL/AVX512)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71559 --- Comment #13 from Carlos Tripiana Montes --- The code you are referring to (ix86_fp_compare_mode) is an old, well-stablish, one: https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/i386/i386.c?r1=38978&r2=38979&pathrev=38979&; (line 4653 enum machine_mode) The actual code comes from a 2001's commit. Just to point out that, most probably, there's a lot of code depending on it.