From b624f0660b663fc5bee83320275d3ce099ec1c59 Mon Sep 17 00:00:00 2001 From: James Almer Date: Sun, 24 Jan 2016 02:10:43 -0300 Subject: [PATCH 1/2] x86: Add ymm_reg struct Needed to declare 32-byte long constants Signed-off-by: James Almer Signed-off-by: Luca Barbato --- libavutil/x86/asm.h | 1 + 1 file changed, 1 insertion(+) diff --git a/libavutil/x86/asm.h b/libavutil/x86/asm.h index e30f5dbaf7..db5f3d5ac5 100644 --- a/libavutil/x86/asm.h +++ b/libavutil/x86/asm.h @@ -25,6 +25,7 @@ #include "config.h" typedef struct xmm_reg { uint64_t a, b; } xmm_reg; +typedef struct ymm_reg { uint64_t a, b, c, d; } ymm_reg; #if ARCH_X86_64 # define OPSIZE "q" From 77a44f577b644a328dcf90cde11d2ecae69eda05 Mon Sep 17 00:00:00 2001 From: James Almer Date: Sun, 24 Jan 2016 02:10:44 -0300 Subject: [PATCH 2/2] configure: add missing avx2 support check AVX2 support was introduced in Yasm 1.2.0 and NASM 2.10, and the oldest versions currently supported are Yasm 0.8.0 and NASM 2.03 Signed-off-by: James Almer Signed-off-by: Luca Barbato --- configure | 1 + 1 file changed, 1 insertion(+) diff --git a/configure b/configure index c5bcb784f2..8af0dccf24 100755 --- a/configure +++ b/configure @@ -4313,6 +4313,7 @@ EOF check_yasm "movbe ecx, [5]" && enable yasm || die "yasm/nasm not found or too old. Use --disable-yasm for a crippled build." + check_yasm "vextracti128 xmm0, ymm0, 0" || disable avx2_external check_yasm "vpmacsdd xmm0, xmm1, xmm2, xmm3" || disable xop_external check_yasm "vfmadd132ps ymm0, ymm1, ymm2" || disable fma3_external check_yasm "vfmaddps ymm0, ymm1, ymm2, ymm3" || disable fma4_external