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

--- Comment #10 from David Binderman <dcb314 at hotmail dot com> ---
(In reply to Uroš Bizjak from comment #8)
> Fixed.

I don't think so. The code I gave seems still to crash the compiler:

$ ~/gcc/results/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/home/dcb38/gcc/results/bin/gcc
COLLECT_LTO_WRAPPER=/home/dcb38/gcc/results.20230513.asan.ubsan/libexec/gcc/x86_64-pc-linux-gnu/14.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../trunk.year/configure
--prefix=/home/dcb38/gcc/results.20230513.asan.ubsan --disable-multilib
--disable-bootstrap --with-build-config=bootstrap-asan
--with-build-config=bootstrap-ubsan --with-pkgversion=1d339ce8d002920f
--enable-checking=df,extra,fold,rtl,yes --enable-languages=c,c++,fortran
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 14.0.0 20230513 (experimental) (1d339ce8d002920f)


$ ~/gcc/results/bin/gcc -c -O2 -march=znver1 bug919.c
during GIMPLE pass: slp
edid-parse.c: In function ‘decode_edid’:
edid-parse.c:521:14: internal compiler error: in ix86_widen_mult_cost, at
config
/i386/i386.cc:20444
0x11f3ab1 ix86_widen_mult_cost(processor_costs const*, machine_mode, bool)
        ../../trunk.year/gcc/config/i386/i386.cc:20444

I thought at first I hadn't picked up Uros's change, but:

$ git log | fgrep V4HI
fgrep: warning: fgrep is obsolescent; using grep -F
    i386: Handle V4HI and V2SImode in ix86_widen_mult_cost [PR109807]
    a widening mul operation to V4HI or V2SImode.
            Handle V4HImode and V2SImode.
    The operation ADDHN on V4SI, for example, is represented as (truncate:V4HI
((src1:V4SI + src2:V4SI) >> 16))
    and RADDHN as (truncate:V4HI ((src1:V4SI + src2:V4SI + (1 << 15)) >> 16)).
$

Reply via email to