comparison x86/dsputil_mmx.c @ 8668:191860960b23 libavcodec

Workaround for gcc 3.4 to align sh properly
author conrad
date Mon, 26 Jan 2009 03:40:48 +0000
parents 04423b2f6e0b
children 31138c296ac6
comparison
equal deleted inserted replaced
8667:5690a6211e8c 8668:191860960b23
2489 } 2489 }
2490 2490
2491 static int32_t scalarproduct_int16_sse2(int16_t * v1, int16_t * v2, int order, int shift) 2491 static int32_t scalarproduct_int16_sse2(int16_t * v1, int16_t * v2, int order, int shift)
2492 { 2492 {
2493 int res = 0; 2493 int res = 0;
2494 DECLARE_ALIGNED_16(int64_t, sh); 2494 DECLARE_ALIGNED_16(xmm_reg, sh);
2495 x86_reg o = -(order << 1); 2495 x86_reg o = -(order << 1);
2496 2496
2497 v1 += order; 2497 v1 += order;
2498 v2 += order; 2498 v2 += order;
2499 sh = shift; 2499 sh.a = shift;
2500 __asm__ volatile( 2500 __asm__ volatile(
2501 "pxor %%xmm7, %%xmm7 \n\t" 2501 "pxor %%xmm7, %%xmm7 \n\t"
2502 "1: \n\t" 2502 "1: \n\t"
2503 "movdqu (%0,%3), %%xmm0 \n\t" 2503 "movdqu (%0,%3), %%xmm0 \n\t"
2504 "movdqu 16(%0,%3), %%xmm1 \n\t" 2504 "movdqu 16(%0,%3), %%xmm1 \n\t"