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

            Bug ID: 114566
           Summary: Misaligned vmovaps when compiling libvorbis for znver4
           Product: gcc
           Version: 13.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: yshuiv7 at gmail dot com
  Target Milestone: ---

Haven't tried to minimize it yet, but here is how to reproduce it:

1. Download libvorbis 1.3.7 source: https://github.com/xiph/vorbis/tree/v1.3.7
2. Configure it: 
       cmake -B build -DCMAKE_C_FLAGS="-march=znver4 -mtune=znver4"
-DCMAKE_CXX_FLAGS="-march=znver4 -mtune=znver4" -DCMAKE_BUILD_TYPE=Release .
3. Run tests: 
       make -C build test

Stack trace:
#0  0x0000000000410d2e in setup_tone_curves
(curveatt_dB=curveatt_dB@entry=0x4e1834, binHz=binHz@entry=86.1328125,
    n=n@entry=256, center_boost=-1.00000203, center_decay_rate=<optimized out>)
at /tmp/vorbis/lib/psy.c:129
#1  0x0000000000413b24 in _vp_psy_init (p=0x4fe8c0, vi=<optimized out>,
gi=gi@entry=0x4e0be0, n=256,
    rate=<optimized out>) at /tmp/vorbis/lib/psy.c:326
#2  0x000000000040a7b5 in _vds_shared_init (v=v@entry=0x7fffffffb370,
vi=vi@entry=0x7fffffffb330, encp=encp@entry=1)
    at /tmp/vorbis/lib/block.c:225
#3  0x000000000040a93f in vorbis_analysis_init (v=v@entry=0x7fffffffb370,
vi=vi@entry=0x7fffffffb330)
    at /tmp/vorbis/lib/block.c:298
#4  0x0000000000404ad2 in write_vorbis_data_or_die (
    filename=filename@entry=0x7fffffffb700 "vorbis_1ch_q-0.5_44100.ogg",
srate=srate@entry=44100,
    q=q@entry=-0.0500000007, data=data@entry=0x4dc080 <data_out>,
count=count@entry=2048, ch=ch@entry=1)
    at /tmp/vorbis/test/write_read.c:61
#5  0x000000000040456d in main () at /tmp/vorbis/test/test.c:58

Relevant part of the code:

   0x0000000000410cee <+1854>:  add    $0xe0,%rdx
   0x0000000000410cf5 <+1861>:  vmovups %zmm17,-0xe0(%rdx)
   0x0000000000410cff <+1871>:  vaddps -0xa0(%rdx),%zmm7,%zmm17
   0x0000000000410d09 <+1881>:  vmovups %zmm17,-0xa0(%rdx)
   0x0000000000410d13 <+1891>:  vaddps -0x60(%rdx),%zmm6,%zmm17
   0x0000000000410d1d <+1901>:  vmovups %zmm17,-0x60(%rdx)
   0x0000000000410d27 <+1911>:  vaddps -0x20(%rdx),%ymm0,%ymm17
=> 0x0000000000410d2e <+1918>:  vmovaps %ymm17,-0x20(%rdx)

$rdx is 0x7fffffff3a10

Reply via email to