https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122827
Bug ID: 122827
Summary: [15/16 Regression] Miscompare in 526.blender_r with
-msve-vector-bits=128 --param
aarch64-autovec-preference=sve-only
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Keywords: aarch64-sve, wrong-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: ktkachov at gcc dot gnu.org
Target Milestone: ---
Target: aarch64
I'm seeing a miscompare in blender from SPEC2017 when compiled with the
options:
-w -Ofast -flto=auto -mcpu=neoverse-v2 -msve-vector-bits=128 --param
aarch64-autovec-preference=sve-only -static
on a Grace machine. I expect this to reproduce on any SVE128 machine. It may
reproduce on a SVE256 machine as well, but I haven't tried it.
The -msve-vector-bits=128 --param aarch64-autovec-preference=sve-only options
are important for reproducing this.
I've reproduced this on GCC trunk and GCC 15 branches, but not on GCC 14 (using
--param aarch64-autovec-preference=2 instead)
Command returned exit code 1
****************************************
Contents of imagevalidate_sh3_no_char_0849.err
****************************************
ImageValidator r4696
INFO: threshold set to 0.750000
INFO: max threshold set to 0 absolute, 0.010000 relative
Blocks below threshold: 6872 blocks of 144 allowed (14400 total)
AVG SSIM: 0.646175946
MIN SSIM: -0.569126617
SSIM distribution:
[ 1.000]: 2891
[ 0.900, 1.000): 2878
[ 0.800, 0.900): 1263
[ 0.700, 0.800): 920
[ 0.600, 0.700): 759
[ 0.500, 0.600): 643
[ 0.400, 0.500): 650
[ 0.300, 0.400): 700
[ 0.200, 0.300): 969
[ 0.100, 0.200): 1437
[ 0.000, 0.100): 1096
[-0.100, 0.000): 98
[-0.200, -0.100): 38
[-0.300, -0.200): 33
[-0.400, -0.300): 13
[-0.500, -0.400): 10
[-0.600, -0.500): 2
[-0.700, -0.600): 0
[-0.800, -0.700): 0
[-0.900, -0.800): 0
[-1.000, -0.900): 0
****************************************
*** Miscompare of imagevalidate_sh3_no_char_0849.out; for details see
...
0001: sh3_no_char_0849.tga: AVG SSIM = 1.000000000
sh3_no_char_0849.tga ERROR: