aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-05-15 23:44:50 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-05-15 23:56:39 +0200
commitbebce653e5601ceafa004db0eb6b2c7d4d16f0c0 (patch)
tree5b4b931b18668fce8d72aa89edb3cf3157f9c1fe /libavcodec
parentd1310c591eb24202ecc28af4adb28cce690109e5 (diff)
downloadffmpeg-bebce653e5601ceafa004db0eb6b2c7d4d16f0c0.tar.gz
avcodec/x86/dsputil_mmx: Fix build with clang-usan
Found-by: Katerina Barone-Adesi Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/x86/dsputil_mmx.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c
index c574458a20..86100ba6ff 100644
--- a/libavcodec/x86/dsputil_mmx.c
+++ b/libavcodec/x86/dsputil_mmx.c
@@ -177,7 +177,7 @@ void name(int16_t *blocks) \
{ \
__asm__ volatile ( \
"pxor %%mm7, %%mm7 \n\t" \
- "mov %1, %%"REG_a" \n\t" \
+ "mov $-"#n", %%"REG_a" \n\t" \
"1: \n\t" \
"movq %%mm7, (%0, %%"REG_a") \n\t" \
"movq %%mm7, 8(%0, %%"REG_a") \n\t" \
@@ -185,12 +185,11 @@ void name(int16_t *blocks) \
"movq %%mm7, 24(%0, %%"REG_a") \n\t" \
"add $32, %%"REG_a" \n\t" \
"js 1b \n\t" \
- :: "r"(((uint8_t *) blocks) + 128 * n), \
- "i"(-128 * n) \
+ :: "r"(((uint8_t *) blocks) + n) \
: "%"REG_a); \
}
-CLEAR_BLOCKS(ff_clear_blocks_mmx, 6)
-CLEAR_BLOCKS(ff_clear_block_mmx, 1)
+CLEAR_BLOCKS(ff_clear_blocks_mmx, 768)
+CLEAR_BLOCKS(ff_clear_block_mmx, 128)
void ff_clear_block_sse(int16_t *block)
{
@@ -212,7 +211,7 @@ void ff_clear_blocks_sse(int16_t *blocks)
{
__asm__ volatile (
"xorps %%xmm0, %%xmm0 \n"
- "mov %1, %%"REG_a" \n"
+ "mov $-768, %%"REG_a" \n"
"1: \n"
"movaps %%xmm0, (%0, %%"REG_a") \n"
"movaps %%xmm0, 16(%0, %%"REG_a") \n"
@@ -224,7 +223,7 @@ void ff_clear_blocks_sse(int16_t *blocks)
"movaps %%xmm0, 112(%0, %%"REG_a") \n"
"add $128, %%"REG_a" \n"
"js 1b \n"
- :: "r"(((uint8_t *) blocks) + 128 * 6), "i"(-128 * 6)
+ :: "r"(((uint8_t *) blocks) + 128 * 6)
: "%"REG_a);
}