Opened 13 months ago

Last modified 13 months ago

#11634 new defect

rubberband causes SIGFPE crash on sample rates < 6024 Hz and pitch > 1

Reported by: Daniil Pryima Owned by:
Priority: normal Component: avfilter
Version: git-master Keywords: crash filter
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by Daniil Pryima)

Any audio file with sample rate of 6023 Hz and less causes SIGFPE crash when using rubberband filter with pitch set to more than 1.

Tested on 9ad6dca28ccbe989f615fb10626b22236b06df59.

FFmpeg is built with --enable-gpl --enable-librubberband.

How to reproduce

% ffmpeg -f lavfi -i "sine=frequency=440:duration=5" -ar 6023 -c:a pcm_s16le 440hz_at_6023hz.wav
% ffmpeg -i 440hz_at_6023hz.wav -af rubberband=pitch=2 440hz_pitch2_ffmpeg.wav -y
ffmpeg version N-119881-g9ad6dca28c Copyright (c) 2000-2025 the FFmpeg developers
  built with gcc 15.1.1 (GCC) 20250425
  configuration: --enable-debug=3 --disable-optimizations --enable-shared --disable-stripping --enable-gpl --enable-librubberband --prefix=/home/assasans/dev/ffmpeg-dev/ffmpeg_build
  libavutil      60.  3.100 / 60.  3.100
  libavcodec     62.  3.101 / 62.  3.101
  libavformat    62.  1.100 / 62.  1.100
  libavdevice    62.  0.100 / 62.  0.100
  libavfilter    11.  0.100 / 11.  0.100
  libswscale      9.  0.100 /  9.  0.100
  libswresample   6.  0.100 /  6.  0.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'.
Reading option '-i' ... matched as input url with argument '440hz_at_6023hz.wav'.
Reading option '-af' ... matched as option 'af' (alias for -filter:a (apply filters to audio streams)) with argument 'rubberband=pitch=2'.
Reading option '440hz_pitch2.wav' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 9.
Successfully parsed a group of options.
Parsing a group of options: input url 440hz_at_6023hz.wav.
Successfully parsed a group of options.
Opening an input file: 440hz_at_6023hz.wav.
[AVFormatContext @ 0x55dc112048c0] Opening '440hz_at_6023hz.wav' for reading
[file @ 0x55dc11204e80] Setting default whitelist 'file,crypto,data'
Probing wav score:99 size:2048
[wav @ 0x55dc112048c0] Format wav probed with size=2048 and score=99
[wav @ 0x55dc112048c0] Before avformat_find_stream_info() pos: 78 bytes read:60308 seeks:1 nb_streams:1
[wav @ 0x55dc112048c0] probing stream 0 pp:32
[wav @ 0x55dc112048c0] probing stream 0 pp:31
[wav @ 0x55dc112048c0] probing stream 0 pp:30
[wav @ 0x55dc112048c0] probing stream 0 pp:29
[wav @ 0x55dc112048c0] probing stream 0 pp:28
[wav @ 0x55dc112048c0] probing stream 0 pp:27
[wav @ 0x55dc112048c0] probing stream 0 pp:26
[wav @ 0x55dc112048c0] probing stream 0 pp:25
[wav @ 0x55dc112048c0] probing stream 0 pp:24
[wav @ 0x55dc112048c0] probing stream 0 pp:23
[wav @ 0x55dc112048c0] probing stream 0 pp:22
[wav @ 0x55dc112048c0] probing stream 0 pp:21
[wav @ 0x55dc112048c0] probing stream 0 pp:20
[wav @ 0x55dc112048c0] probing stream 0 pp:19
[wav @ 0x55dc112048c0] probing stream 0 pp:18
[wav @ 0x55dc112048c0] probing stream 0 pp:17
[wav @ 0x55dc112048c0] probing stream 0 pp:16
[wav @ 0x55dc112048c0] probing stream 0 pp:15
[wav @ 0x55dc112048c0] probing stream 0 pp:14
[wav @ 0x55dc112048c0] probing stream 0 pp:13
[wav @ 0x55dc112048c0] probing stream 0 pp:12
[wav @ 0x55dc112048c0] probing stream 0 pp:11
[wav @ 0x55dc112048c0] probing stream 0 pp:10
[wav @ 0x55dc112048c0] probing stream 0 pp:9
[wav @ 0x55dc112048c0] probing stream 0 pp:8
[wav @ 0x55dc112048c0] probing stream 0 pp:7
[wav @ 0x55dc112048c0] probing stream 0 pp:6
[wav @ 0x55dc112048c0] probing stream 0 pp:5
[wav @ 0x55dc112048c0] probing stream 0 pp:4
[wav @ 0x55dc112048c0] probing stream 0 pp:3
[wav @ 0x55dc112048c0] probing stream 0 pp:2
[wav @ 0x55dc112048c0] probing stream 0 pp:1
[wav @ 0x55dc112048c0] probed stream 0
[wav @ 0x55dc112048c0] parser not found for codec pcm_s16le, packets or times may be invalid.
[wav @ 0x55dc112048c0] All info found
[wav @ 0x55dc112048c0] stream 0: start_time: NOPTS duration: 5
[wav @ 0x55dc112048c0] format: start_time: NOPTS duration: 5 (estimate from stream) bitrate=96 kb/s
[wav @ 0x55dc112048c0] After avformat_find_stream_info() pos: 51278 bytes read:120538 seeks:1 frames:50
[aist#0:0/pcm_s16le @ 0x55dc11221140] Guessed Channel Layout: mono
Input #0, wav, from '440hz_at_6023hz.wav':
  Metadata:
    encoder         : Lavf61.7.100
  Duration: 00:00:05.00, bitrate: 96 kb/s
  Stream #0:0, 50, 1/6023: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 6023 Hz, mono, s16, 96 kb/s
Successfully opened the file.
Parsing a group of options: output url 440hz_pitch2.wav.
Applying option af (alias for -filter:a (apply filters to audio streams)) with argument rubberband=pitch=2.
Parsing stream specifier: a
Parsed media type: audio; remainder:
Successfully parsed a group of options.
Opening an output file: 440hz_pitch2.wav.
[out#0/wav @ 0x55dc11221340] No explicit maps, mapping streams automatically...
[aost#0:0/pcm_s16le @ 0x55dc11221780] Created audio stream from input stream 0:0
[AVFilterGraph @ 0x55dc11222600] Setting 'pitch' to value '2'
[file @ 0x55dc11224b80] Setting default whitelist 'file,crypto,data'
Successfully opened the file.
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))
[aost#0:0/pcm_s16le @ 0x55dc11221780] Starting thread...
[af#0:0 @ 0x55dc11222140] Starting thread...
[aist#0:0/pcm_s16le @ 0x55dc11221140] [dec:pcm_s16le @ 0x55dc11223980] Starting thread...
[in#0/wav @ 0x55dc11204600] Starting thread...
Press [q] to stop, [?] for help
[AVFilterGraph @ 0x7ff3d8001080] Setting 'pitch' to value '2'
detected 16 logical cores
[graph_-1_in_0:0 @ 0x7ff3d8003580] Setting 'time_base' to value '1/6023'
[graph_-1_in_0:0 @ 0x7ff3d8003580] Setting 'sample_rate' to value '6023'
[graph_-1_in_0:0 @ 0x7ff3d8003580] Setting 'sample_fmt' to value 's16'
[graph_-1_in_0:0 @ 0x7ff3d8003580] Setting 'channel_layout' to value 'mono'
[graph_-1_in_0:0 @ 0x7ff3d8003580] tb:1/6023 samplefmt:s16 samplerate:6023 chlayout:mono
[format_out_#0:0 @ 0x7ff3d8003dc0] Setting 'sample_fmts' to value 's16'
[Parsed_rubberband_0 @ 0x7ff3d8002f40] auto-inserting filter 'auto_aresample_0' between the filter 'graph_-1_in_0:0' and the filter 'Parsed_rubberband_0'
[format_out_#0:0 @ 0x7ff3d8003dc0] auto-inserting filter 'auto_aresample_1' between the filter 'Parsed_rubberband_0' and the filter 'format_out_#0:0'
[AVFilterGraph @ 0x7ff3d8001080] query_formats: 4 queried, 2 merged, 9 already done, 0 delayed
[auto_aresample_0 @ 0x7ff3d8004980] [SWR @ 0x7ff3d8004a80] Using s16p internally between filters
[auto_aresample_0 @ 0x7ff3d8004980] ch:1 chl:mono fmt:s16 r:6023Hz -> ch:1 chl:mono fmt:fltp r:6023Hz
[1]    389254 floating point exception (core dumped)  LD_LIBRARY_PATH=$(realpath ffmpeg_build/lib) ./ffmpeg_build/bin/ffmpeg -v 9

Rubberband binary does not crash:

% rubberband --pitch 2 440hz_at_6023hz.wav 440hz_pitch2_rubberband.wav

Valgrind output:

==390089== Memcheck, a memory error detector
==390089== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.
==390089== Using Valgrind-3.25.1 and LibVEX; rerun with -h for copyright info
==390089== Command: ./ffmpeg_build/bin/ffmpeg -v 9 -loglevel 99 -i 440hz_at_6023hz.wav -af rubberband=pitch=2 440hz_pitch2.wav -y
==390089==
ffmpeg version N-119881-g9ad6dca28c Copyright (c) 2000-2025 the FFmpeg developers
  built with gcc 15.1.1 (GCC) 20250425
  configuration: --enable-debug=3 --disable-optimizations --enable-shared --disable-stripping --enable-gpl --enable-librubberband --prefix=/home/assasans/dev/ffmpeg-dev/ffmpeg_build
  libavutil      60.  3.100 / 60.  3.100
  libavcodec     62.  3.101 / 62.  3.101
  libavformat    62.  1.100 / 62.  1.100
  libavdevice    62.  0.100 / 62.  0.100
  libavfilter    11.  0.100 / 11.  0.100
  libswscale      9.  0.100 /  9.  0.100
  libswresample   6.  0.100 /  6.  0.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'.
Reading option '-i' ... matched as input url with argument '440hz_at_6023hz.wav'.
Reading option '-af' ... matched as option 'af' (alias for -filter:a (apply filters to audio streams)) with argument 'rubberband=pitch=2'.
Reading option '440hz_pitch2.wav' ... matched as output url.
Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 9.
Applying option y (overwrite output files) with argument 1.
Successfully parsed a group of options.
Parsing a group of options: input url 440hz_at_6023hz.wav.
Successfully parsed a group of options.
Opening an input file: 440hz_at_6023hz.wav.
[AVFormatContext @ 0x8dfeb40] Opening '440hz_at_6023hz.wav' for reading
[file @ 0x8dff640] Setting default whitelist 'file,crypto,data'
Probing wav score:99 size:2048
[wav @ 0x8dfeb40] Format wav probed with size=2048 and score=99
[wav @ 0x8dfeb40] Before avformat_find_stream_info() pos: 78 bytes read:60308 seeks:1 nb_streams:1
[wav @ 0x8dfeb40] probing stream 0 pp:32
[wav @ 0x8dfeb40] probing stream 0 pp:31
[wav @ 0x8dfeb40] probing stream 0 pp:30
[wav @ 0x8dfeb40] probing stream 0 pp:29
[wav @ 0x8dfeb40] probing stream 0 pp:28
[wav @ 0x8dfeb40] probing stream 0 pp:27
[wav @ 0x8dfeb40] probing stream 0 pp:26
[wav @ 0x8dfeb40] probing stream 0 pp:25
[wav @ 0x8dfeb40] probing stream 0 pp:24
[wav @ 0x8dfeb40] probing stream 0 pp:23
[wav @ 0x8dfeb40] probing stream 0 pp:22
[wav @ 0x8dfeb40] probing stream 0 pp:21
[wav @ 0x8dfeb40] probing stream 0 pp:20
[wav @ 0x8dfeb40] probing stream 0 pp:19
[wav @ 0x8dfeb40] probing stream 0 pp:18
[wav @ 0x8dfeb40] probing stream 0 pp:17
[wav @ 0x8dfeb40] probing stream 0 pp:16
[wav @ 0x8dfeb40] probing stream 0 pp:15
[wav @ 0x8dfeb40] probing stream 0 pp:14
[wav @ 0x8dfeb40] probing stream 0 pp:13
[wav @ 0x8dfeb40] probing stream 0 pp:12
[wav @ 0x8dfeb40] probing stream 0 pp:11
[wav @ 0x8dfeb40] probing stream 0 pp:10
[wav @ 0x8dfeb40] probing stream 0 pp:9
[wav @ 0x8dfeb40] probing stream 0 pp:8
[wav @ 0x8dfeb40] probing stream 0 pp:7
[wav @ 0x8dfeb40] probing stream 0 pp:6
[wav @ 0x8dfeb40] probing stream 0 pp:5
[wav @ 0x8dfeb40] probing stream 0 pp:4
[wav @ 0x8dfeb40] probing stream 0 pp:3
[wav @ 0x8dfeb40] probing stream 0 pp:2
[wav @ 0x8dfeb40] probing stream 0 pp:1
[wav @ 0x8dfeb40] probed stream 0
[wav @ 0x8dfeb40] parser not found for codec pcm_s16le, packets or times may be invalid.
[wav @ 0x8dfeb40] All info found
[wav @ 0x8dfeb40] stream 0: start_time: NOPTS duration: 5
[wav @ 0x8dfeb40] format: start_time: NOPTS duration: 5 (estimate from stream) bitrate=96 kb/s
[wav @ 0x8dfeb40] After avformat_find_stream_info() pos: 51278 bytes read:120538 seeks:1 frames:50
[aist#0:0/pcm_s16le @ 0x8ece280] Guessed Channel Layout: mono
Input #0, wav, from '440hz_at_6023hz.wav':
  Metadata:
    encoder         : Lavf61.7.100
  Duration: 00:00:05.00, bitrate: 96 kb/s
  Stream #0:0, 50, 1/6023: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 6023 Hz, mono, s16, 96 kb/s
Successfully opened the file.
Parsing a group of options: output url 440hz_pitch2.wav.
Applying option af (alias for -filter:a (apply filters to audio streams)) with argument rubberband=pitch=2.
Parsing stream specifier: a
Parsed media type: audio; remainder:
Successfully parsed a group of options.
Opening an output file: 440hz_pitch2.wav.
[out#0/wav @ 0x8ecec80] No explicit maps, mapping streams automatically...
[aost#0:0/pcm_s16le @ 0x8ecfb00] Created audio stream from input stream 0:0
[AVFilterGraph @ 0x8ed1cc0] Setting 'pitch' to value '2'
[file @ 0x8ed6e80] Setting default whitelist 'file,crypto,data'
Successfully opened the file.
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))
[aost#0:0/pcm_s16le @ 0x8ecfb00] Starting thread...
[af#0:0 @ 0x8ed12c0] Starting thread...
[aist#0:0/pcm_s16le @ 0x8ece280] [dec:pcm_s16le @ 0x8ed4a00] Starting thread...
[in#0/wav @ 0x8dfe740] Starting thread...
Press [q] to stop, [?] for help
[AVFilterGraph @ 0x8f27140] Setting 'pitch' to value '2'
detected 16 logical cores
[graph_-1_in_0:0 @ 0x8f2d380] Setting 'time_base' to value '1/6023'
[graph_-1_in_0:0 @ 0x8f2d380] Setting 'sample_rate' to value '6023'
[graph_-1_in_0:0 @ 0x8f2d380] Setting 'sample_fmt' to value 's16'
[graph_-1_in_0:0 @ 0x8f2d380] Setting 'channel_layout' to value 'mono'
[graph_-1_in_0:0 @ 0x8f2d380] tb:1/6023 samplefmt:s16 samplerate:6023 chlayout:mono
[format_out_#0:0 @ 0x8f2edc0] Setting 'sample_fmts' to value 's16'
[Parsed_rubberband_0 @ 0x8f2c6c0] auto-inserting filter 'auto_aresample_0' between the filter 'graph_-1_in_0:0' and the filter 'Parsed_rubberband_0'
[format_out_#0:0 @ 0x8f2edc0] auto-inserting filter 'auto_aresample_1' between the filter 'Parsed_rubberband_0' and the filter 'format_out_#0:0'
[AVFilterGraph @ 0x8f27140] query_formats: 4 queried, 2 merged, 9 already done, 0 delayed
[auto_aresample_0 @ 0x8f31840] [SWR @ 0x8f31a80] Using s16p internally between filters
[auto_aresample_0 @ 0x8f31840] ch:1 chl:mono fmt:s16 r:6023Hz -> ch:1 chl:mono fmt:fltp r:6023Hz
==390089==
==390089== Process terminating with default action of signal 8 (SIGFPE): dumping core
==390089==  Integer divide by zero at address 0x10033B2D0F
==390089==    at 0x866310F: RubberBand::R2Stretcher::calculateSizes() (R2Stretcher.cpp:460)
==390089==    by 0x86679D0: RubberBand::R2Stretcher::configure() (R2Stretcher.cpp:582)
==390089==    by 0x86696B3: RubberBand::R2Stretcher::R2Stretcher(unsigned long, unsigned long, int, double, double, RubberBand::Log) (R2Stretcher.cpp:159)
==390089==    by 0x8669C26: RubberBand::RubberBandStretcher::Impl::Impl(unsigned long, unsigned long, int, std::shared_ptr<RubberBand::RubberBandStretcher::Logger>, double, double) (RubberBandStretcher.cpp:82)
==390089==    by 0x8669E8C: RubberBand::RubberBandStretcher::RubberBandStretcher(unsigned long, unsigned long, int, double, double) (RubberBandStretcher.cpp:359)
==390089==    by 0x8669F36: rubberband_new (rubberband-c.cpp:42)
==390089==    by 0x4A28A4D: config_input (af_rubberband.c:139)
==390089==    by 0x4A7B8E8: ff_filter_config_links (avfilter.c:440)
==390089==    by 0x4A7B4D2: ff_filter_config_links (avfilter.c:358)
==390089==    by 0x4A7B4D2: ff_filter_config_links (avfilter.c:358)
==390089==    by 0x4A7B4D2: ff_filter_config_links (avfilter.c:358)
==390089==    by 0x4A7F085: graph_config_links (avfiltergraph.c:255)
==390089==
==390089== HEAP SUMMARY:
==390089==     in use at exit: 650,448 bytes in 538 blocks
==390089==   total heap usage: 1,303 allocs, 765 frees, 1,360,791 bytes allocated
==390089==
==390089== LEAK SUMMARY:
==390089==    definitely lost: 0 bytes in 0 blocks
==390089==    indirectly lost: 0 bytes in 0 blocks
==390089==      possibly lost: 33,992 bytes in 160 blocks
==390089==    still reachable: 616,456 bytes in 378 blocks
==390089==         suppressed: 0 bytes in 0 blocks
==390089== Rerun with --leak-check=full to see details of leaked memory
==390089==
==390089== For lists of detected and suppressed errors, rerun with: -s
==390089== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
[1]    390089 floating point exception (core dumped)  LD_LIBRARY_PATH=$(realpath ffmpeg_build/lib) valgrind  -v 9 -loglevel 99 -i

gdb output:

(gdb) bt
#0  0x00007ffff779f114 in RubberBand::R2Stretcher::calculateSizes (this=this@entry=0x7fffe402f5f0) at ../rubberband-4.0.0/src/faster/R2Stretcher.cpp:460
#1  0x00007ffff77a39d1 in RubberBand::R2Stretcher::configure (this=this@entry=0x7fffe402f5f0) at ../rubberband-4.0.0/src/faster/R2Stretcher.cpp:582
#2  0x00007ffff77a56b4 in RubberBand::R2Stretcher::R2Stretcher (this=<optimized out>, sampleRate=<optimized out>, channels=<optimized out>, options=<optimized out>,
    initialTimeRatio=<optimized out>, initialPitchScale=<optimized out>, log=..., this=<optimized out>, sampleRate=<optimized out>, channels=<optimized out>, options=<optimized out>,
    initialTimeRatio=<optimized out>, initialPitchScale=<optimized out>, log=...) at ../rubberband-4.0.0/src/faster/R2Stretcher.cpp:159
#3  0x00007ffff77a5c27 in RubberBand::RubberBandStretcher::Impl::Impl (this=<optimized out>, sampleRate=<optimized out>, channels=<optimized out>, options=<optimized out>, logger=...,
    initialTimeRatio=<optimized out>, initialPitchScale=<optimized out>, this=<optimized out>, sampleRate=<optimized out>, channels=<optimized out>, options=<optimized out>, logger=...,
    initialTimeRatio=<optimized out>, initialPitchScale=<optimized out>) at ../rubberband-4.0.0/src/RubberBandStretcher.cpp:82
#4  0x00007ffff77a5e8d in RubberBand::RubberBandStretcher::RubberBandStretcher (this=<optimized out>, sampleRate=<optimized out>, channels=<optimized out>, options=<optimized out>,
    initialTimeRatio=<optimized out>, initialPitchScale=<optimized out>, this=<optimized out>, sampleRate=<optimized out>, channels=<optimized out>, options=<optimized out>,
    initialTimeRatio=<optimized out>, initialPitchScale=<optimized out>) at ../rubberband-4.0.0/src/RubberBandStretcher.cpp:359
#5  0x00007ffff77a5f37 in rubberband_new (sampleRate=6023, channels=1, options=1, initialTimeRatio=1, initialPitchScale=2) at ../rubberband-4.0.0/src/rubberband-c.cpp:42
#6  0x00007ffff792da4e in config_input (inlink=0x7fffe4019ac0) at libavfilter/af_rubberband.c:139
#7  0x00007ffff79808e9 in ff_filter_config_links (filter=0x7fffe4002f40) at libavfilter/avfilter.c:440
#8  0x00007ffff79804d3 in ff_filter_config_links (filter=0x7fffe401a180) at libavfilter/avfilter.c:358
#9  0x00007ffff79804d3 in ff_filter_config_links (filter=0x7fffe4003dc0) at libavfilter/avfilter.c:358
#10 0x00007ffff79804d3 in ff_filter_config_links (filter=0x7fffe4003b80) at libavfilter/avfilter.c:358
#11 0x00007ffff7984086 in graph_config_links (graph=0x7fffe4001080, log_ctx=0x0) at libavfilter/avfiltergraph.c:255
#12 0x00007ffff798828d in avfilter_graph_config (graphctx=0x7fffe4001080, log_ctx=0x0) at libavfilter/avfiltergraph.c:1303
#13 0x00005555555791c6 in configure_filtergraph (fg=0x555555602180, fgt=0x7fffeadfed50) at fftools/ffmpeg_filter.c:1977
#14 0x000055555557c766 in send_frame (fg=0x555555602180, fgt=0x7fffeadfed50, ifilter=0x555555602dc0, frame=0x7fffe4000900) at fftools/ffmpeg_filter.c:2962
#15 0x000055555557d020 in filter_thread (arg=0x555555602180) at fftools/ffmpeg_filter.c:3121
#16 0x0000555555597ba9 in task_wrapper (arg=0x5555555f8b70) at fftools/ffmpeg_sched.c:2534
#17 0x00007ffff42a57eb in start_thread (arg=<optimized out>) at pthread_create.c:448
#18 0x00007ffff432918c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

(gdb) disass $pc-32,$pc+32
Dump of assembler code from 0x7ffff779f0f4 to 0x7ffff779f134:
   0x00007ffff779f0f4 <_ZN10RubberBand11R2Stretcher14calculateSizesEv+532>:	movaps %xmm1,%xmm0
   0x00007ffff779f0f7 <_ZN10RubberBand11R2Stretcher14calculateSizesEv+535>:	mov    %r15,%rax
   0x00007ffff779f0fa <_ZN10RubberBand11R2Stretcher14calculateSizesEv+538>:	div    %rcx
   0x00007ffff779f0fd <_ZN10RubberBand11R2Stretcher14calculateSizesEv+541>:	cmp    %r12,%rbx
   0x00007ffff779f100 <_ZN10RubberBand11R2Stretcher14calculateSizesEv+544>:	mov    %rax,%rcx
   0x00007ffff779f103 <_ZN10RubberBand11R2Stretcher14calculateSizesEv+547>:	mov    %r12,%rax
   0x00007ffff779f106 <_ZN10RubberBand11R2Stretcher14calculateSizesEv+550>:	cmovbe %rbx,%rax
   0x00007ffff779f10a <_ZN10RubberBand11R2Stretcher14calculateSizesEv+554>:	cmp    %rax,%rcx
   0x00007ffff779f10d <_ZN10RubberBand11R2Stretcher14calculateSizesEv+557>:	jae    0x7ffff779f142 <_ZN10RubberBand11R2Stretcher14calculateSizesEv+610>
   0x00007ffff779f10f <_ZN10RubberBand11R2Stretcher14calculateSizesEv+559>:	mov    %rbx,%rax
   0x00007ffff779f112 <_ZN10RubberBand11R2Stretcher14calculateSizesEv+562>:	xor    %edx,%edx
=> 0x00007ffff779f114 <_ZN10RubberBand11R2Stretcher14calculateSizesEv+564>:	div    %rcx
   0x00007ffff779f117 <_ZN10RubberBand11R2Stretcher14calculateSizesEv+567>:	xor    %edx,%edx
   0x00007ffff779f119 <_ZN10RubberBand11R2Stretcher14calculateSizesEv+569>:	mov    %rax,%rbx
   0x00007ffff779f11c <_ZN10RubberBand11R2Stretcher14calculateSizesEv+572>:	mov    %r12,%rax
   0x00007ffff779f11f <_ZN10RubberBand11R2Stretcher14calculateSizesEv+575>:	div    %rcx
   0x00007ffff779f122 <_ZN10RubberBand11R2Stretcher14calculateSizesEv+578>:	xor    %edx,%edx
   0x00007ffff779f124 <_ZN10RubberBand11R2Stretcher14calculateSizesEv+580>:	mov    %rax,%r12
   0x00007ffff779f127 <_ZN10RubberBand11R2Stretcher14calculateSizesEv+583>:	mov    %r15,%rax
   0x00007ffff779f12a <_ZN10RubberBand11R2Stretcher14calculateSizesEv+586>:	div    %rcx
   0x00007ffff779f12d <_ZN10RubberBand11R2Stretcher14calculateSizesEv+589>:	mov    %rax,%r15
   0x00007ffff779f130 <_ZN10RubberBand11R2Stretcher14calculateSizesEv+592>:	test   %rax,%rax
   0x00007ffff779f133 <_ZN10RubberBand11R2Stretcher14calculateSizesEv+595>:	js     0x7ffff77a006c <_ZN10RubberBand11R2Stretcher14calculateSizesEv+4492>
End of assembler dump.

(gdb) info all-registers
rax            0x1c                28
rbx            0x1c                28
rcx            0x0                 0
rdx            0x0                 0
rsi            0x7ffff77d820e      140737345585678
rdi            0x80                128
rbp            0x7fffeadfe0b0      0x7fffeadfe0b0
rsp            0x7fffeadfdf60      0x7fffeadfdf60
r8             0x0                 0
r9             0x7ffff43c9d98      140737291001240
r10            0x5                 5
r11            0x7fffe4000bf8      140737018596344
r12            0x38                56
r13            0x1                 1
r14            0x7fffe402f5f0      140737018787312
r15            0x100               256
rip            0x7ffff779f114      0x7ffff779f114 <RubberBand::R2Stretcher::calculateSizes()+564>
eflags         0x10246             [ PF ZF IF RF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0
st0            0                   (raw 0x00000000000000000000)
st1            0                   (raw 0x00000000000000000000)
st2            0                   (raw 0x00000000000000000000)
st3            0                   (raw 0x00000000000000000000)
st4            0                   (raw 0x00000000000000000000)
st5            0                   (raw 0x00000000000000000000)
st6            0                   (raw 0x00000000000000000000)
st7            0                   (raw 0x00000000000000000000)
fctrl          0x37f               895
fstat          0x0                 0
ftag           0xffff              65535
fiseg          0x0                 0
fioff          0x0                 0
foseg          0x0                 0
fooff          0x0                 0
fop            0x0                 0
mxcsr          0x1fa0              [ PE IM DM ZM OM UM PM ]
k0             0x82401010          2185236496
k1             0x10f               271
k2             0xffffffff          4294967295
k3             0x0                 0
k4             0xc4c1f0fe          3301044478
k5             0x0                 0
k6             0x0                 0
k7             0x0                 0
pkru           0x55555554          1431655764
fs_base        0x7fffeadff6c0      140737133934272
gs_base        0x0                 0
zmm0           {v32_bfloat16 = {0x0, 0x0, 0x0, 0x4070, 0x0 <repeats 28 times>}, v32_half = {0x0, 0x0, 0x0, 0x4070, 0x0 <repeats 28 times>}, v16_float = {0x0, 0x40700000, 0x0 <repeats 14 times>}, v8_double = {0x4070000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70, 0x40, 0x0 <repeats 56 times>}, v32_int16 = {0x0, 0x0, 0x0, 0x4070, 0x0 <repeats 28 times>}, v16_int32 = {0x0, 0x40700000, 0x0 <repeats 14 times>}, v8_int64 = {0x4070000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x4070000000000000, 0x0, 0x0, 0x0}}
zmm1           {v32_bfloat16 = {0x0, 0x0, 0x0, 0x4070, 0x0 <repeats 28 times>}, v32_half = {0x0, 0x0, 0x0, 0x4070, 0x0 <repeats 28 times>}, v16_float = {0x0, 0x40700000, 0x0 <repeats 14 times>}, v8_double = {0x4070000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x70, 0x40, 0x0 <repeats 56 times>}, v32_int16 = {0x0, 0x0, 0x0, 0x4070, 0x0 <repeats 28 times>}, v16_int32 = {0x0, 0x40700000, 0x0 <repeats 14 times>}, v8_int64 = {0x4070000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x4070000000000000, 0x0, 0x0, 0x0}}
zmm2           {v32_bfloat16 = {0x7d9c, 0x4300, 0x0 <repeats 30 times>}, v32_half = {0x7d9c, 0x4300, 0x0 <repeats 30 times>}, v16_float = {0x43007d9c, 0x0 <repeats 15 times>}, v8_double = {0x43007d9c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x9c, 0x7d, 0x0, 0x43, 0x0 <repeats 60 times>}, v32_int16 = {0x7d9c, 0x4300, 0x0 <repeats 30 times>}, v16_int32 = {0x43007d9c, 0x0 <repeats 15 times>}, v8_int64 = {0x43007d9c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x43007d9c, 0x0, 0x0, 0x0}}
zmm3           {v32_bfloat16 = {0x0, 0x4090, 0x0 <repeats 30 times>}, v32_half = {0x0, 0x4090, 0x0 <repeats 30 times>}, v16_float = {0x40900000, 0x0 <repeats 15 times>}, v8_double = {0x40900000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0, 0x0, 0x90, 0x40, 0x0 <repeats 60 times>}, v32_int16 = {0x0, 0x4090, 0x0 <repeats 30 times>}, v16_int32 = {0x40900000, 0x0 <repeats 15 times>}, v8_int64 = {0x40900000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x40900000, 0x0, 0x0, 0x0}}
zmm4           {v32_bfloat16 = {0x0, 0x0, 0x0, 0x4000, 0x0 <repeats 28 times>}, v32_half = {0x0, 0x0, 0x0, 0x4000, 0x0 <repeats 28 times>}, v16_float = {0x0, 0x40000000, 0x0 <repeats 14 times>}, v8_double = {0x4000000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0 <repeats 56 times>}, v32_int16 = {0x0, 0x0, 0x0, 0x4000, 0x0 <repeats 28 times>}, v16_int32 = {0x0, 0x40000000, 0x0 <repeats 14 times>}, v8_int64 = {0x4000000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x4000000000000000, 0x0, 0x0, 0x0}}
zmm5           {v32_bfloat16 = {0x0, 0x0, 0x0, 0x3ff0, 0x0 <repeats 28 times>}, v32_half = {0x0, 0x0, 0x0, 0x3ff0, 0x0 <repeats 28 times>}, v16_float = {0x0, 0x3ff00000, 0x0 <repeats 14 times>}, v8_double = {0x3ff0000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x3f, 0x0 <repeats 56 times>}, v32_int16 = {0x0, 0x0, 0x0, 0x3ff0, 0x0 <repeats 28 times>}, v16_int32 = {0x0, 0x3ff00000, 0x0 <repeats 14 times>}, v8_int64 = {0x3ff0000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x3ff0000000000000, 0x0, 0x0, 0x0}}
zmm6           {v32_bfloat16 = {0x0, 0x0, 0x0, 0x3ff0, 0x0 <repeats 28 times>}, v32_half = {0x0, 0x0, 0x0, 0x3ff0, 0x0 <repeats 28 times>}, v16_float = {0x0, 0x3ff00000, 0x0 <repeats 14 times>}, v8_double = {0x3ff0000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x3f, 0x0 <repeats 56 times>}, v32_int16 = {0x0, 0x0, 0x0, 0x3ff0, 0x0 <repeats 28 times>}, v16_int32 = {0x0, 0x3ff00000, 0x0 <repeats 14 times>}, v8_int64 = {0x3ff0000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x3ff0000000000000, 0x0, 0x0, 0x0}}
zmm7           {v32_bfloat16 = {0x0, 0x0, 0x0, 0xbff0, 0x0 <repeats 28 times>}, v32_half = {0x0, 0x0, 0x0, 0xbff0, 0x0 <repeats 28 times>}, v16_float = {0x0, 0xbff00000, 0x0 <repeats 14 times>}, v8_double = {0xbff0000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xbf, 0x0 <repeats 56 times>}, v32_int16 = {0x0, 0x0, 0x0, 0xbff0, 0x0 <repeats 28 times>}, v16_int32 = {0x0, 0xbff00000, 0x0 <repeats 14 times>}, v8_int64 = {0xbff0000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0xbff0000000000000, 0x0, 0x0, 0x0}}
zmm8           {v32_bfloat16 = {0x8, 0x0, 0x0, 0x0, 0x8, 0x0 <repeats 27 times>}, v32_half = {0x8, 0x0, 0x0, 0x0, 0x8, 0x0 <repeats 27 times>}, v16_float = {0x8, 0x0, 0x8, 0x0 <repeats 13 times>}, v8_double = {0x8, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0 <repeats 55 times>}, v32_int16 = {0x8, 0x0, 0x0, 0x0, 0x8, 0x0 <repeats 27 times>}, v16_int32 = {0x8, 0x0, 0x8, 0x0 <repeats 13 times>}, v8_int64 = {0x8, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x80000000000000008, 0x0, 0x0, 0x0}}
zmm9           {v32_bfloat16 = {0x6, 0x0, 0x0, 0x0, 0x6, 0x0 <repeats 27 times>}, v32_half = {0x6, 0x0, 0x0, 0x0, 0x6, 0x0 <repeats 27 times>}, v16_float = {0x6, 0x0, 0x6, 0x0 <repeats 13 times>}, v8_double = {0x6, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0 <repeats 55 times>}, v32_int16 = {0x6, 0x0, 0x0, 0x0, 0x6, 0x0 <repeats 27 times>}, v16_int32 = {0x6, 0x0, 0x6, 0x0 <repeats 13 times>}, v8_int64 = {0x6, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x60000000000000006, 0x0, 0x0, 0x0}}
zmm10          {v32_bfloat16 = {0x4, 0x0, 0x0, 0x0, 0x4, 0x0 <repeats 27 times>}, v32_half = {0x4, 0x0, 0x0, 0x0, 0x4, 0x0 <repeats 27 times>}, v16_float = {0x4, 0x0, 0x4, 0x0 <repeats 13 times>}, v8_double = {0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0 <repeats 55 times>}, v32_int16 = {0x4, 0x0, 0x0, 0x0, 0x4, 0x0 <repeats 27 times>}, v16_int32 = {0x4, 0x0, 0x4, 0x0 <repeats 13 times>}, v8_int64 = {0x4, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x40000000000000004, 0x0, 0x0, 0x0}}
zmm11          {v32_bfloat16 = {0x2, 0x0, 0x0, 0x0, 0x2, 0x0 <repeats 27 times>}, v32_half = {0x2, 0x0, 0x0, 0x0, 0x2, 0x0 <repeats 27 times>}, v16_float = {0x2, 0x0, 0x2, 0x0 <repeats 13 times>}, v8_double = {0x2, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0 <repeats 55 times>}, v32_int16 = {0x2, 0x0, 0x0, 0x0, 0x2, 0x0 <repeats 27 times>}, v16_int32 = {0x2, 0x0, 0x2, 0x0 <repeats 13 times>}, v8_int64 = {0x2, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x20000000000000002, 0x0, 0x0, 0x0}}
zmm12          {v32_bfloat16 = {0xf9, 0xfb, 0xfd, 0xff, 0x0 <repeats 28 times>}, v32_half = {0xf9, 0xfb, 0xfd, 0xff, 0x0 <repeats 28 times>}, v16_float = {0xfb00f9, 0xff00fd, 0x0 <repeats 14 times>}, v8_double = {0xff00fd00fb00f9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0xf9, 0x0, 0xfb, 0x0, 0xfd, 0x0, 0xff, 0x0 <repeats 57 times>}, v32_int16 = {0xf9, 0xfb, 0xfd, 0xff, 0x0 <repeats 28 times>}, v16_int32 = {0xfb00f9, 0xff00fd, 0x0 <repeats 14 times>}, v8_int64 = {0xff00fd00fb00f9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0xff00fd00fb00f9, 0x0, 0x0, 0x0}}
zmm13          {v32_bfloat16 = {0xfa, 0xfe, 0x0, 0x0, 0xfb, 0xff, 0x0 <repeats 26 times>}, v32_half = {0xfa, 0xfe, 0x0, 0x0, 0xfb, 0xff, 0x0 <repeats 26 times>}, v16_float = {0xfe00fa, 0x0, 0xff00fb, 0x0 <repeats 13 times>}, v8_double = {0xfe00fa, 0xff00fb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0xfa, 0x0, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfb, 0x0, 0xff, 0x0 <repeats 53 times>}, v32_int16 = {0xfa, 0xfe, 0x0, 0x0, 0xfb, 0xff, 0x0 <repeats 26 times>}, v16_int32 = {0xfe00fa, 0x0, 0xff00fb, 0x0 <repeats 13 times>}, v8_int64 = {0xfe00fa, 0xff00fb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0xff00fb0000000000fe00fa, 0x0, 0x0, 0x0}}
zmm14          {v32_bfloat16 = {0x0 <repeats 32 times>}, v32_half = {0x0 <repeats 32 times>}, v16_float = {0x0 <repeats 16 times>}, v8_double = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0 <repeats 64 times>}, v32_int16 = {0x0 <repeats 32 times>}, v16_int32 = {0x0 <repeats 16 times>}, v8_int64 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x0, 0x0, 0x0, 0x0}}
zmm15          {v32_bfloat16 = {0x0 <repeats 32 times>}, v32_half = {0x0 <repeats 32 times>}, v16_float = {0x0 <repeats 16 times>}, v8_double = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0 <repeats 64 times>}, v32_int16 = {0x0 <repeats 32 times>}, v16_int32 = {0x0 <repeats 16 times>}, v8_int64 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x0, 0x0, 0x0, 0x0}}
zmm16          {v32_bfloat16 = {0x2525 <repeats 16 times>, 0x0 <repeats 16 times>}, v32_half = {0x2525 <repeats 16 times>, 0x0 <repeats 16 times>}, v16_float = {0x25252525, 0x25252525, 0x25252525, 0x25252525, 0x25252525, 0x25252525, 0x25252525, 0x25252525, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_double = {0x2525252525252525, 0x2525252525252525, 0x2525252525252525, 0x2525252525252525, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x25 <repeats 32 times>, 0x0 <repeats 32 times>}, v32_int16 = {0x2525 <repeats 16 times>, 0x0 <repeats 16 times>}, v16_int32 = {0x25252525, 0x25252525, 0x25252525, 0x25252525, 0x25252525, 0x25252525, 0x25252525, 0x25252525, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int64 = {0x2525252525252525, 0x2525252525252525, 0x2525252525252525, 0x2525252525252525, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x25252525252525252525252525252525, 0x25252525252525252525252525252525, 0x0, 0x0}}
zmm17          {v32_bfloat16 = {0x5b1b, 0x6d30, 0x1b00, 0x345b, 0x3b38, 0x3b35, 0x7525, 0x1b6d, 0x335b, 0x3b38, 0x3b35, 0x6425, 0x256d, 0x1b73, 0x305b, 0x6d, 0x0 <repeats 16 times>}, v32_half = {0x5b1b, 0x6d30, 0x1b00, 0x345b, 0x3b38, 0x3b35, 0x7525, 0x1b6d, 0x335b, 0x3b38, 0x3b35, 0x6425, 0x256d, 0x1b73, 0x305b, 0x6d, 0x0 <repeats 16 times>}, v16_float = {0x6d305b1b, 0x345b1b00, 0x3b353b38, 0x1b6d7525, 0x3b38335b, 0x64253b35, 0x1b73256d, 0x6d305b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_double = {0x345b1b006d305b1b, 0x1b6d75253b353b38, 0x64253b353b38335b, 0x6d305b1b73256d, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x1b, 0x5b, 0x30, 0x6d, 0x0, 0x1b, 0x5b, 0x34, 0x38, 0x3b, 0x35, 0x3b, 0x25, 0x75, 0x6d, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x25, 0x64, 0x6d, 0x25, 0x73, 0x1b, 0x5b, 0x30, 0x6d, 0x0 <repeats 33 times>}, v32_int16 = {0x5b1b, 0x6d30, 0x1b00, 0x345b, 0x3b38, 0x3b35, 0x7525, 0x1b6d, 0x335b, 0x3b38, 0x3b35, 0x6425, 0x256d, 0x1b73, 0x305b, 0x6d, 0x0 <repeats 16 times>}, v16_int32 = {0x6d305b1b, 0x345b1b00, 0x3b353b38, 0x1b6d7525, 0x3b38335b, 0x64253b35, 0x1b73256d, 0x6d305b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int64 = {0x345b1b006d305b1b, 0x1b6d75253b353b38, 0x64253b353b38335b, 0x6d305b1b73256d, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x1b6d75253b353b38345b1b006d305b1b, 0x6d305b1b73256d64253b353b38335b, 0x0, 0x0}}
zmm18          {v32_bfloat16 = {0x5b1b, 0x4815, 0x1b00, 0x115b, 0x1e1d, 0x1e10, 0x5000, 0x1b48, 0x165b, 0x1e1d, 0x1e10, 0x4100, 0x48, 0x1b56, 0x155b, 0x48, 0x0 <repeats 16 times>}, v32_half = {0x5b1b, 0x4815, 0x1b00, 0x115b, 0x1e1d, 0x1e10, 0x5000, 0x1b48, 0x165b, 0x1e1d, 0x1e10, 0x4100, 0x48, 0x1b56, 0x155b, 0x48, 0x0 <repeats 16 times>}, v16_float = {0x48155b1b, 0x115b1b00, 0x1e101e1d, 0x1b485000, 0x1e1d165b, 0x41001e10, 0x1b560048, 0x48155b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_double = {0x115b1b0048155b1b, 0x1b4850001e101e1d, 0x41001e101e1d165b, 0x48155b1b560048, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x1b, 0x5b, 0x15, 0x48, 0x0, 0x1b, 0x5b, 0x11, 0x1d, 0x1e, 0x10, 0x1e, 0x0, 0x50, 0x48, 0x1b, 0x5b, 0x16, 0x1d, 0x1e, 0x10, 0x1e, 0x0, 0x41, 0x48, 0x0, 0x56, 0x1b, 0x5b, 0x15, 0x48, 0x0 <repeats 33 times>}, v32_int16 = {0x5b1b, 0x4815, 0x1b00, 0x115b, 0x1e1d, 0x1e10, 0x5000, 0x1b48, 0x165b, 0x1e1d, 0x1e10, 0x4100, 0x48, 0x1b56, 0x155b, 0x48, 0x0 <repeats 16 times>}, v16_int32 = {0x48155b1b, 0x115b1b00, 0x1e101e1d, 0x1b485000, 0x1e1d165b, 0x41001e10, 0x1b560048, 0x48155b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int64 = {0x115b1b0048155b1b, 0x1b4850001e101e1d, 0x41001e101e1d165b, 0x48155b1b560048, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x1b4850001e101e1d115b1b0048155b1b, 0x48155b1b56004841001e101e1d165b, 0x0, 0x0}}
zmm19          {v32_bfloat16 = {0x3230, 0x4833, 0xa7a, 0x0 <repeats 29 times>}, v32_half = {0x3230, 0x4833, 0xa7a, 0x0 <repeats 29 times>}, v16_float = {0x48333230, 0xa7a, 0x0 <repeats 14 times>}, v8_double = {0xa7a48333230, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x30, 0x32, 0x33, 0x48, 0x7a, 0xa, 0x0 <repeats 58 times>}, v32_int16 = {0x3230, 0x4833, 0xa7a, 0x0 <repeats 29 times>}, v16_int32 = {0x48333230, 0xa7a, 0x0 <repeats 14 times>}, v8_int64 = {0xa7a48333230, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0xa7a48333230, 0x0, 0x0, 0x0}}
zmm20          {v32_bfloat16 = {0x5f64, 0x2030, 0x6120, 0x2065, 0x6920, 0x6568, 0x6620, 0x2720, 0x6150, 0x2072, 0x6427, 0x725f, 0x616d, 0x5f62, 0x626f, 0x5f61, 0x0 <repeats 16 times>}, v32_half = {0x5f64, 0x2030, 0x6120, 0x2065, 0x6920, 0x6568, 0x6620, 0x2720, 0x6150, 0x2072, 0x6427, 0x725f, 0x616d, 0x5f62, 0x626f, 0x5f61, 0x0 <repeats 16 times>}, v16_float = {0x20305f64, 0x20656120, 0x65686920, 0x27206620, 0x20726150, 0x725f6427, 0x5f62616d, 0x5f61626f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_double = {0x2065612020305f64, 0x2720662065686920, 0x725f642720726150, 0x5f61626f5f62616d, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x64, 0x5f, 0x30, 0x20, 0x20, 0x61, 0x65, 0x20, 0x20, 0x69, 0x68, 0x65, 0x20, 0x66, 0x20, 0x27, 0x50, 0x61, 0x72, 0x20, 0x27, 0x64, 0x5f, 0x72, 0x6d, 0x61, 0x62, 0x5f, 0x6f, 0x62, 0x61, 0x5f, 0x0 <repeats 32 times>}, v32_int16 = {0x5f64, 0x2030, 0x6120, 0x2065, 0x6920, 0x6568, 0x6620, 0x2720, 0x6150, 0x2072, 0x6427, 0x725f, 0x616d, 0x5f62, 0x626f, 0x5f61, 0x0 <repeats 16 times>}, v16_int32 = {0x20305f64, 0x20656120, 0x65686920, 0x27206620, 0x20726150, 0x725f6427, 0x5f62616d, 0x5f61626f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int64 = {0x2065612020305f64, 0x2720662065686920, 0x725f642720726150, 0x5f61626f5f62616d, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x27206620656869202065612020305f64, 0x5f61626f5f62616d725f642720726150, 0x0, 0x0}}
zmm21          {v32_bfloat16 = {0xbc4e, 0x0, 0x0, 0x0, 0x5e00, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc04e, 0x0, 0x0, 0x0, 0x6000, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf465, 0xf0b7, 0xf035, 0xf2f7, 0xf86c, 0xff73, 0x696, 0xc5d}, v32_half = {0xbc4e, 0x0, 0x0, 0x0, 0x5e00, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc04e, 0x0, 0x0, 0x0, 0x6000, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf465, 0xf0b7, 0xf035, 0xf2f7, 0xf86c, 0xff73, 0x696, 0xc5d}, v16_float = {0xbc4e, 0x0, 0x5e00, 0x0, 0x1, 0x0, 0xc04e, 0x0, 0x6000, 0x0, 0x1, 0x0, 0xf0b7f465, 0xf2f7f035, 0xff73f86c, 0xc5d0696}, v8_double = {0xbc4e, 0x5e00, 0x1, 0xc04e, 0x6000, 0x1, 0xf2f7f035f0b7f465, 0xc5d0696ff73f86c}, v64_int8 = {0x4e, 0xbc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x65, 0xf4, 0xb7, 0xf0, 0x35, 0xf0, 0xf7, 0xf2, 0x6c, 0xf8, 0x73, 0xff, 0x96, 0x6, 0x5d, 0xc}, v32_int16 = {0xbc4e, 0x0, 0x0, 0x0, 0x5e00, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xc04e, 0x0, 0x0, 0x0, 0x6000, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xf465, 0xf0b7, 0xf035, 0xf2f7, 0xf86c, 0xff73, 0x696, 0xc5d}, v16_int32 = {0xbc4e, 0x0, 0x5e00, 0x0, 0x1, 0x0, 0xc04e, 0x0, 0x6000, 0x0, 0x1, 0x0, 0xf0b7f465, 0xf2f7f035, 0xff73f86c, 0xc5d0696}, v8_int64 = {0xbc4e, 0x5e00, 0x1, 0xc04e, 0x6000, 0x1, 0xf2f7f035f0b7f465, 0xc5d0696ff73f86c}, v4_int128 = {0x5e00000000000000bc4e, 0xc04e0000000000000001, 0x10000000000006000, 0xc5d0696ff73f86cf2f7f035f0b7f465}}
zmm22          {v32_bfloat16 = {0x1, 0x0, 0x0, 0x0, 0x2403, 0xf79c, 0x0, 0x0, 0x9f00, 0xe401, 0x7fff, 0x0, 0x4980, 0xe400, 0x7fff, 0x0 <repeats 17 times>}, v32_half = {0x1, 0x0, 0x0, 0x0, 0x2403, 0xf79c, 0x0, 0x0, 0x9f00, 0xe401, 0x7fff, 0x0, 0x4980, 0xe400, 0x7fff, 0x0 <repeats 17 times>}, v16_float = {0x1, 0x0, 0xf79c2403, 0x0, 0xe4019f00, 0x7fff, 0xe4004980, 0x7fff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_double = {0x1, 0xf79c2403, 0x7fffe4019f00, 0x7fffe4004980, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x24, 0x9c, 0xf7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9f, 0x1, 0xe4, 0xff, 0x7f, 0x0, 0x0, 0x80, 0x49, 0x0, 0xe4, 0xff, 0x7f, 0x0 <repeats 34 times>}, v32_int16 = {0x1, 0x0, 0x0, 0x0, 0x2403, 0xf79c, 0x0, 0x0, 0x9f00, 0xe401, 0x7fff, 0x0, 0x4980, 0xe400, 0x7fff, 0x0 <repeats 17 times>}, v16_int32 = {0x1, 0x0, 0xf79c2403, 0x0, 0xe4019f00, 0x7fff, 0xe4004980, 0x7fff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int64 = {0x1, 0xf79c2403, 0x7fffe4019f00, 0x7fffe4004980, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0xf79c24030000000000000001, 0x7fffe400498000007fffe4019f00, 0x0, 0x0}}
zmm23          {v32_bfloat16 = {0x1, 0x0, 0x0, 0x0, 0xa84e, 0x0, 0x0, 0x0, 0x5400, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xac4e, 0x0, 0x0, 0x0, 0x5600, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb04e, 0x0, 0x0, 0x0}, v32_half = {0x1, 0x0, 0x0, 0x0, 0xa84e, 0x0, 0x0, 0x0, 0x5400, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xac4e, 0x0, 0x0, 0x0, 0x5600, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb04e, 0x0, 0x0, 0x0}, v16_float = {0x1, 0x0, 0xa84e, 0x0, 0x5400, 0x0, 0x1, 0x0, 0xac4e, 0x0, 0x5600, 0x0, 0x1, 0x0, 0xb04e, 0x0}, v8_double = {0x1, 0xa84e, 0x5400, 0x1, 0xac4e, 0x5600, 0x1, 0xb04e}, v64_int8 = {0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0xa8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x54, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0xac, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x56, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0xb0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v32_int16 = {0x1, 0x0, 0x0, 0x0, 0xa84e, 0x0, 0x0, 0x0, 0x5400, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xac4e, 0x0, 0x0, 0x0, 0x5600, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb04e, 0x0, 0x0, 0x0}, v16_int32 = {0x1, 0x0, 0xa84e, 0x0, 0x5400, 0x0, 0x1, 0x0, 0xac4e, 0x0, 0x5600, 0x0, 0x1, 0x0, 0xb04e, 0x0}, v8_int64 = {0x1, 0xa84e, 0x5400, 0x1, 0xac4e, 0x5600, 0x1, 0xb04e}, v4_int128 = {0xa84e0000000000000001, 0x10000000000005400, 0x5600000000000000ac4e, 0xb04e0000000000000001}}
zmm24          {v32_bfloat16 = {0x9c4e, 0x0, 0x0, 0x0, 0x4e00, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa04e, 0x0, 0x0, 0x0, 0x5000, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa44e, 0x0, 0x0, 0x0, 0x5200, 0x0, 0x0, 0x0}, v32_half = {0x9c4e, 0x0, 0x0, 0x0, 0x4e00, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa04e, 0x0, 0x0, 0x0, 0x5000, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa44e, 0x0, 0x0, 0x0, 0x5200, 0x0, 0x0, 0x0}, v16_float = {0x9c4e, 0x0, 0x4e00, 0x0, 0x1, 0x0, 0xa04e, 0x0, 0x5000, 0x0, 0x1, 0x0, 0xa44e, 0x0, 0x5200, 0x0}, v8_double = {0x9c4e, 0x4e00, 0x1, 0xa04e, 0x5000, 0x1, 0xa44e, 0x5200}, v64_int8 = {0x4e, 0x9c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0xa0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0xa4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x52, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v32_int16 = {0x9c4e, 0x0, 0x0, 0x0, 0x4e00, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa04e, 0x0, 0x0, 0x0, 0x5000, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0xa44e, 0x0, 0x0, 0x0, 0x5200, 0x0, 0x0, 0x0}, v16_int32 = {0x9c4e, 0x0, 0x4e00, 0x0, 0x1, 0x0, 0xa04e, 0x0, 0x5000, 0x0, 0x1, 0x0, 0xa44e, 0x0, 0x5200, 0x0}, v8_int64 = {0x9c4e, 0x4e00, 0x1, 0xa04e, 0x5000, 0x1, 0xa44e, 0x5200}, v4_int128 = {0x4e000000000000009c4e, 0xa04e0000000000000001, 0x10000000000005000, 0x5200000000000000a44e}}
zmm25          {v32_bfloat16 = {0x0, 0x3000, 0x0, 0x2f00, 0x0, 0x3000, 0x0, 0x0, 0x0, 0x3000, 0x0, 0x2000, 0x0, 0x2d00, 0x0 <repeats 18 times>}, v32_half = {0x0, 0x3000, 0x0, 0x2f00, 0x0, 0x3000, 0x0, 0x0, 0x0, 0x3000, 0x0, 0x2000, 0x0, 0x2d00, 0x0 <repeats 18 times>}, v16_float = {0x30000000, 0x2f000000, 0x30000000, 0x0, 0x30000000, 0x20000000, 0x2d000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_double = {0x2f00000030000000, 0x30000000, 0x2000000030000000, 0x2d000000, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x2f, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x2d, 0x0 <repeats 36 times>}, v32_int16 = {0x0, 0x3000, 0x0, 0x2f00, 0x0, 0x3000, 0x0, 0x0, 0x0, 0x3000, 0x0, 0x2000, 0x0, 0x2d00, 0x0 <repeats 18 times>}, v16_int32 = {0x30000000, 0x2f000000, 0x30000000, 0x0, 0x30000000, 0x20000000, 0x2d000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int64 = {0x2f00000030000000, 0x30000000, 0x2000000030000000, 0x2d000000, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x300000002f00000030000000, 0x2d0000002000000030000000, 0x0, 0x0}}
zmm26          {v32_bfloat16 = {0x0 <repeats 32 times>}, v32_half = {0x0 <repeats 32 times>}, v16_float = {0x0 <repeats 16 times>}, v8_double = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0 <repeats 64 times>}, v32_int16 = {0x0 <repeats 32 times>}, v16_int32 = {0x0 <repeats 16 times>}, v8_int64 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x0, 0x0, 0x0, 0x0}}
zmm27          {v32_bfloat16 = {0x0 <repeats 32 times>}, v32_half = {0x0 <repeats 32 times>}, v16_float = {0x0 <repeats 16 times>}, v8_double = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0 <repeats 64 times>}, v32_int16 = {0x0 <repeats 32 times>}, v16_int32 = {0x0 <repeats 16 times>}, v8_int64 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x0, 0x0, 0x0, 0x0}}
zmm28          {v32_bfloat16 = {0x0 <repeats 32 times>}, v32_half = {0x0 <repeats 32 times>}, v16_float = {0x0 <repeats 16 times>}, v8_double = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0 <repeats 64 times>}, v32_int16 = {0x0 <repeats 32 times>}, v16_int32 = {0x0 <repeats 16 times>}, v8_int64 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x0, 0x0, 0x0, 0x0}}
zmm29          {v32_bfloat16 = {0x0 <repeats 32 times>}, v32_half = {0x0 <repeats 32 times>}, v16_float = {0x0 <repeats 16 times>}, v8_double = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0 <repeats 64 times>}, v32_int16 = {0x0 <repeats 32 times>}, v16_int32 = {0x0 <repeats 16 times>}, v8_int64 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x0, 0x0, 0x0, 0x0}}
zmm30          {v32_bfloat16 = {0x0 <repeats 32 times>}, v32_half = {0x0 <repeats 32 times>}, v16_float = {0x0 <repeats 16 times>}, v8_double = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0 <repeats 64 times>}, v32_int16 = {0x0 <repeats 32 times>}, v16_int32 = {0x0 <repeats 16 times>}, v8_int64 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x0, 0x0, 0x0, 0x0}}
zmm31          {v32_bfloat16 = {0x0 <repeats 32 times>}, v32_half = {0x0 <repeats 32 times>}, v16_float = {0x0 <repeats 16 times>}, v8_double = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v64_int8 = {0x0 <repeats 64 times>}, v32_int16 = {0x0 <repeats 32 times>}, v16_int32 = {0x0 <repeats 16 times>}, v8_int64 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int128 = {0x0, 0x0, 0x0, 0x0}}

Change History (1)

comment:1 by Daniil Pryima, 13 months ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.