X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavutil%2Fx86_cpu.h;h=08d31461fb2c700ea63aa2af183876c43d87ce05;hb=3c55ce039d5b90afad35e19fc8ca6d147dd3f976;hp=69ac0581b411030d861588033e1194742d4a8fc0;hpb=a087028ad8df703f72db629781204f371049cd77;p=ffmpeg diff --git a/libavutil/x86_cpu.h b/libavutil/x86_cpu.h index 69ac0581b41..08d31461fb2 100644 --- a/libavutil/x86_cpu.h +++ b/libavutil/x86_cpu.h @@ -18,12 +18,13 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef FFMPEG_X86CPU_H -#define FFMPEG_X86CPU_H +#ifndef AVUTIL_X86_CPU_H +#define AVUTIL_X86_CPU_H +#include #include "config.h" -#ifdef ARCH_X86_64 +#if ARCH_X86_64 # define REG_a "rax" # define REG_b "rbx" # define REG_c "rcx" @@ -31,6 +32,7 @@ # define REG_D "rdi" # define REG_S "rsi" # define PTR_SIZE "8" +typedef int64_t x86_reg; # define REG_SP "rsp" # define REG_BP "rbp" @@ -38,9 +40,10 @@ # define REGa rax # define REGb rbx # define REGc rcx +# define REGd rdx # define REGSP rsp -#else +#elif ARCH_X86_32 # define REG_a "eax" # define REG_b "ebx" @@ -49,6 +52,7 @@ # define REG_D "edi" # define REG_S "esi" # define PTR_SIZE "4" +typedef int32_t x86_reg; # define REG_SP "esp" # define REG_BP "ebp" @@ -56,15 +60,17 @@ # define REGa eax # define REGb ebx # define REGc ecx +# define REGd edx # define REGSP esp +#else +typedef int x86_reg; #endif -#if defined(ARCH_X86_64) || (defined(ARCH_X86_32) && defined(HAVE_EBX_AVAILABLE) && defined(HAVE_EBP_AVAILABLE)) -# define HAVE_7REGS 1 -#endif +#define HAVE_7REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE && HAVE_EBP_AVAILABLE)) +#define HAVE_6REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE || HAVE_EBP_AVAILABLE)) -#if defined(ARCH_X86_64) && defined(PIC) +#if ARCH_X86_64 && defined(PIC) # define BROKEN_RELOCATIONS 1 #endif -#endif /* FFMPEG_X86CPU_H */ +#endif /* AVUTIL_X86_CPU_H */