- 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

Reply via email to