[FFmpeg-cvslog] r19086 - trunk/libavcodec/x86/mlpdsp.c
ramiro
subversion
Thu Jun 4 01:48:28 CEST 2009
Author: ramiro
Date: Thu Jun 4 01:48:28 2009
New Revision: 19086
Log:
Use less macros in x86-optimized mlpdsp.
Fixes compilation on 32-bit llvm which didn't allow a cast in an m operand.
Modified:
trunk/libavcodec/x86/mlpdsp.c
Modified: trunk/libavcodec/x86/mlpdsp.c
==============================================================================
--- trunk/libavcodec/x86/mlpdsp.c Thu Jun 4 01:34:35 2009 (r19085)
+++ trunk/libavcodec/x86/mlpdsp.c Thu Jun 4 01:48:28 2009 (r19086)
@@ -75,11 +75,6 @@ static const void *iirtable[5] = { &ff_m
#define RESULT "%%rsi"
#define RESULT32 "%%esi"
-#define READVAL "r"
-#define RDWRVAL "+r"
-#define COUNTER "c"
-#define ECXUSED
-
#else /* if ARCH_X86_32 */
#define MLPMUL(label, offset, offs, offc) \
@@ -106,11 +101,6 @@ static const void *iirtable[5] = { &ff_m
#define RESULT "%%eax"
#define RESULT32 "%%eax"
-#define READVAL "m"
-#define RDWRVAL "+m"
-#define COUNTER "m"
-#define ECXUSED , "ecx"
-
#endif /* !ARCH_X86_64 */
#define BINC AV_STRINGIFY(4* MAX_CHANNELS)
@@ -164,19 +154,20 @@ static void mlp_filter_channel_x86(int32
: /* 0*/"+r"(state),
/* 1*/"+r"(coeff),
/* 2*/"+r"(sample_buffer),
- /* 3*/RDWRVAL(blocksize)
- :
- /* 4*/READVAL((x86_reg)mask),
- /* 5*/READVAL(firjump),
- /* 6*/READVAL(iirjump),
- /* 7*/COUNTER(filter_shift)
#if ARCH_X86_64
+ /* 3*/"+r"(blocksize)
+ : /* 4*/"r"((x86_reg)mask), /* 5*/"r"(firjump),
+ /* 6*/"r"(iirjump) , /* 7*/"c"(filter_shift)
, /* 8*/"r"((int64_t)coeff[0])
, /* 9*/"r"((int64_t)coeff[1])
, /*10*/"r"((int64_t)coeff[2])
-#endif /* ARCH_X86_64 */
- : REG_a, REG_d, REG_S
- ECXUSED
+ : "rax", "rdx", "rsi"
+#else /* ARCH_X86_32 */
+ /* 3*/"+m"(blocksize)
+ : /* 4*/"m"( mask), /* 5*/"m"(firjump),
+ /* 6*/"m"(iirjump) , /* 7*/"m"(filter_shift)
+ : "eax", "edx", "esi", "ecx"
+#endif /* !ARCH_X86_64 */
);
}
More information about the ffmpeg-cvslog
mailing list