- new ptrsize macro equals 8 on x64, 4 otherwise - added p suffix to registers and function arguments refering to pointer sized registers and arguments
Signed-off-by: Matthias Räncker <[email protected]> --- libavutil/x86/x86inc.asm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm index a18c6f4..dc23782 100644 --- a/libavutil/x86/x86inc.asm +++ b/libavutil/x86/x86inc.asm @@ -219,6 +219,12 @@ DECLARE_REG_TMP_SIZE 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14 %define gprsize 4 %endif +%if ARCH_X86_64_X64 + %define ptrsize 8 +%else + %define ptrsize 4 +%endif + %macro PUSH 1 push %1 %ifidn rstk, rsp @@ -297,6 +303,7 @@ DECLARE_REG_TMP_SIZE 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14 %assign %%i 0 %rep n_arg_names CAT_UNDEF arg_name %+ %%i, q + CAT_UNDEF arg_name %+ %%i, p CAT_UNDEF arg_name %+ %%i, d CAT_UNDEF arg_name %+ %%i, w CAT_UNDEF arg_name %+ %%i, h @@ -313,6 +320,7 @@ DECLARE_REG_TMP_SIZE 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14 %assign %%i 0 %rep %0 %xdefine %1q r %+ %%i %+ q + %xdefine %1p r %+ %%i %+ p %xdefine %1d r %+ %%i %+ d %xdefine %1w r %+ %%i %+ w %xdefine %1h r %+ %%i %+ h @@ -1281,3 +1289,29 @@ FMA_INSTR pmadcswd, pmaddwd, paddd ; tzcnt is equivalent to "rep bsf" and is backwards-compatible with bsf. ; This lets us use tzcnt without bumping the yasm version requirement yet. %define tzcnt rep bsf + +; FIXME : integrate into DECLARE_REG macros + +%if ARCH_X86_64_X32 +%xdefine r0p r0d +%xdefine r1p r1d +%xdefine r2p r2d +%xdefine r3p r3d +%xdefine r4p r4d +%xdefine r5p r5d +%xdefine r6p r6d +%xdefine r7p r7d +%xdefine r8p r8d +%xdefine r9p r9d +%else +%xdefine r0p r0 +%xdefine r1p r1 +%xdefine r2p r2 +%xdefine r3p r3 +%xdefine r4p r4 +%xdefine r5p r5 +%xdefine r6p r6 +%xdefine r7p r7 +%xdefine r8p r8 +%xdefine r9p r9 +%endif -- 1.8.1.1 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
