diff options
author | Anton Khirnov <anton@khirnov.net> | 2019-04-09 09:35:58 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2024-04-16 17:32:15 +0200 |
commit | bda21267fd85388d1543976cc86f71097fc2bf5c (patch) | |
tree | 9587cffb5f4e1bd42f1ad54d9a42b839e573b5e6 /residual_calc.c | |
parent | bf320a3d0f5c526f0d96551681c37e20b3f44efb (diff) |
residual_calc.asm: add AVX512 versionavx512
Diffstat (limited to 'residual_calc.c')
-rw-r--r-- | residual_calc.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/residual_calc.c b/residual_calc.c index 6d43e4d..fe7ec12 100644 --- a/residual_calc.c +++ b/residual_calc.c @@ -79,6 +79,11 @@ ResidualLineCalc mg2di_residual_line_calc_s1_avx2; ResidualLineCalc mg2di_residual_line_calc_s2_avx2; ResidualLineAdd mg2di_residual_line_add_s1_avx2; ResidualLineAdd mg2di_residual_line_add_s2_avx2; + +ResidualLineCalc mg2di_residual_line_calc_s1_avx512; +ResidualLineCalc mg2di_residual_line_calc_s2_avx512; +ResidualLineAdd mg2di_residual_line_add_s1_avx512; +ResidualLineAdd mg2di_residual_line_add_s2_avx512; #endif static void @@ -336,6 +341,11 @@ int mg2di_residual_calc_init(ResidualCalcContext *ctx) priv->residual_line_add = mg2di_residual_line_add_s1_avx2; priv->calc_blocksize = 4; } + if (ctx->cpuflags & MG2DI_CPU_FLAG_AVX512) { + priv->residual_line_calc = mg2di_residual_line_calc_s1_avx512; + priv->residual_line_add = mg2di_residual_line_add_s1_avx512; + priv->calc_blocksize = 8; + } #endif break; case 2: @@ -347,6 +357,11 @@ int mg2di_residual_calc_init(ResidualCalcContext *ctx) priv->residual_line_add = mg2di_residual_line_add_s2_avx2; priv->calc_blocksize = 4; } + if (ctx->cpuflags & MG2DI_CPU_FLAG_AVX512) { + priv->residual_line_calc = mg2di_residual_line_calc_s2_avx512; + priv->residual_line_add = mg2di_residual_line_add_s2_avx512; + priv->calc_blocksize = 8; + } #endif break; } |