# Undefined behavior sanitizer suppression file
#
# For documentation of the format, see:
# https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html#issue-suppression

# aom_dsp/x86/obmc_intrinsic_sse4.h
alignment:obmc_variance_w4

# av1/encoder/x86/pickrst_sse4.c
alignment:acc_stat_highbd_win7_one_line_sse4_1
alignment:acc_stat_highbd_win5_one_line_sse4_1
alignment:acc_stat_win7_one_line_sse4_1
alignment:acc_stat_win5_one_line_sse4_1

# av1/encoder/x86/rdopt_sse4.c
alignment:horver_correlation_4x4

# av1/common/x86/convolve_sse2.c
alignment:av1_convolve_y_sr_sse2

# aom_dsp/x86/blend_a64_mask_sse4.c
alignment:highbd_blend_a64_d16_mask_w4_sse4_1

# aom_dsp/x86/blend_a64_mask_avx2.c
alignment:highbd_blend_a64_d16_mask_w4_avx2
