Index: src/x86/filmgrain_avx2.asm --- src/x86/filmgrain_avx2.asm.orig +++ src/x86/filmgrain_avx2.asm @@ -151,6 +151,7 @@ cglobal generate_grain_y_8bpc, 2, 9, 8, buf, fg_data jmp r5 .ar1: + _CET_ENDBR DEFINE_ARGS buf, fg_data, cf3, shift, val3, min, max, x, val0 mov shiftd, [fg_dataq+FGData.ar_coeff_shift] movsx cf3d, byte [fg_dataq+FGData.ar_coeffs_y+3] @@ -200,9 +201,11 @@ cglobal generate_grain_y_8bpc, 2, 9, 8, buf, fg_data dec hd jg .y_loop_ar1 .ar0: + _CET_ENDBR RET .ar2: + _CET_ENDBR %if WIN64 ; xmm6 and xmm7 already saved %assign xmm_regs_used 16 @@ -286,6 +289,7 @@ cglobal generate_grain_y_8bpc, 2, 9, 8, buf, fg_data INIT_YMM avx2 .ar3: + _CET_ENDBR %if WIN64 ; xmm6 and xmm7 already saved %assign stack_offset 16 @@ -461,6 +465,7 @@ cglobal generate_grain_uv_%1_8bpc, 4, 10, 16, buf, buf INIT_YMM avx2 .ar0: + _CET_ENDBR DEFINE_ARGS buf, bufy, fg_data, uv, unused, shift imul uvd, 28 mov shiftd, [fg_dataq+FGData.ar_coeff_shift] @@ -589,6 +594,7 @@ INIT_YMM avx2 INIT_XMM avx2 .ar1: + _CET_ENDBR DEFINE_ARGS buf, bufy, fg_data, uv, val3, cf3, min, max, x, shift imul uvd, 28 mov shiftd, [fg_dataq+FGData.ar_coeff_shift] @@ -671,6 +677,7 @@ INIT_XMM avx2 RET .ar2: + _CET_ENDBR DEFINE_ARGS buf, bufy, fg_data, uv, unused, shift mov shiftd, [fg_dataq+FGData.ar_coeff_shift] imul uvd, 28 @@ -765,6 +772,7 @@ INIT_XMM avx2 INIT_YMM avx2 .ar3: + _CET_ENDBR DEFINE_ARGS buf, bufy, fg_data, uv, unused, shift mov shiftd, [fg_dataq+FGData.ar_coeff_shift] imul uvd, 28