configure: remove check for .align semantics

The check determined whether the argument for .align is in bytes, or
log2(bytes). Apparently it's always in bytes for ELF i386 systems, and
this check is used for x86 inline assembler only. Even if this
assumption should be wrong, it likely won't cause much damage: the
existing code uses it only in the form ".align 4", which means in the
worst case it will try to align to 16 bytes, which doesn't cause any
problems (unless the object file format does not support such a high
alignment).

Update the filters that used this.

Quoting the GNU as manual:

For other systems, including ppc, i386 using a.out format, arm and
strongarm, it is the number of low-order zero bits the location counter
must have after advancement. For example `.align 3' advances the
location counter until it a multiple of 8. If the location counter is
already a multiple of 8, no change is needed.
This commit is contained in:
wm4 2013-01-13 14:10:43 +01:00
parent ec57c94ba2
commit fe6c93eab8
5 changed files with 8 additions and 23 deletions

15
configure vendored
View File

@ -492,7 +492,6 @@ _rpath=no
libpostproc=auto
libavfilter=no
libavdevice=no
_asmalign_pot=auto
_stream_cache=yes
_priority=no
def_dos_paths="#define HAVE_DOS_PATHS 0"
@ -1187,19 +1186,6 @@ echores $pic
if x86 ; then
echocheck ".align is a power of two"
if test "$_asmalign_pot" = auto ; then
_asmalign_pot=no
inline_asm_check '".align 3"' && _asmalign_pot=yes
fi
if test "$_asmalign_pot" = "yes" ; then
def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align " #ZEROBITS "\n\t"'
else
def_asmalign_pot='#define ASMALIGN(ZEROBITS) ".align 1<<" #ZEROBITS "\n\t"'
fi
echores $_asmalign_pot
echocheck "ebx availability"
ebx_available=no
def_ebx_available='#define HAVE_EBX_AVAILABLE 0'
@ -3304,7 +3290,6 @@ $def_vsscanf
/* system-specific features */
$def_asmalign_pot
$def_dl
$def_dos_paths
$def_iconv

View File

@ -61,7 +61,7 @@ static int diff_MMX(unsigned char *old, unsigned char *new, int os, int ns)
"pxor %%mm4, %%mm4 \n\t"
"pxor %%mm7, %%mm7 \n\t"
ASMALIGN(4)
".align 4 \n\t"
"1: \n\t"
"movq (%%"REG_S"), %%mm0 \n\t"

View File

@ -149,7 +149,7 @@ void affine_1d_MMX (eq2_param_t *par, unsigned char *dst, unsigned char *src,
"movq (%6), %%mm4 \n\t"
"pxor %%mm0, %%mm0 \n\t"
"movl %4, %%eax\n\t"
ASMALIGN(4)
".align 4\n\t"
"1: \n\t"
"movq (%0), %%mm1 \n\t"
"movq (%0), %%mm2 \n\t"

View File

@ -83,7 +83,7 @@ static void pack_nn_MMX(unsigned char *dst, unsigned char *y,
int av_unused us, int av_unused vs)
{
__asm__ volatile (""
ASMALIGN(4)
".align 4 \n\t"
"1: \n\t"
"movq (%0), %%mm1 \n\t"
"movq (%0), %%mm2 \n\t"
@ -123,7 +123,7 @@ static void pack_li_0_MMX(unsigned char *dst, unsigned char *y,
#endif
"pxor %%mm0, %%mm0 \n\t"
ASMALIGN(4)
".align 4 \n\t"
".Lli0: \n\t"
"movq (%%"REG_S"), %%mm1 \n\t"
"movq (%%"REG_S"), %%mm2 \n\t"
@ -231,7 +231,7 @@ static void pack_li_1_MMX(unsigned char *dst, unsigned char *y,
#endif
"pxor %%mm0, %%mm0 \n\t"
ASMALIGN(4)
".align 4 \n\t"
".Lli1: \n\t"
"movq (%%"REG_S"), %%mm1 \n\t"
"movq (%%"REG_S"), %%mm2 \n\t"

View File

@ -152,7 +152,7 @@ static inline void lineNoise_MMX(uint8_t *dst, uint8_t *src, int8_t *noise, int
"pcmpeqb %%mm7, %%mm7 \n\t"
"psllw $15, %%mm7 \n\t"
"packsswb %%mm7, %%mm7 \n\t"
ASMALIGN(4)
".align 4 \n\t"
"1: \n\t"
"movq (%0, %%"REG_a"), %%mm0 \n\t"
"movq (%1, %%"REG_a"), %%mm1 \n\t"
@ -181,7 +181,7 @@ static inline void lineNoise_MMX2(uint8_t *dst, uint8_t *src, int8_t *noise, int
"pcmpeqb %%mm7, %%mm7 \n\t"
"psllw $15, %%mm7 \n\t"
"packsswb %%mm7, %%mm7 \n\t"
ASMALIGN(4)
".align 4 \n\t"
"1: \n\t"
"movq (%0, %%"REG_a"), %%mm0 \n\t"
"movq (%1, %%"REG_a"), %%mm1 \n\t"
@ -219,7 +219,7 @@ static inline void lineNoiseAvg_MMX(uint8_t *dst, uint8_t *src, int len, int8_t
__asm__ volatile(
"mov %5, %%"REG_a" \n\t"
ASMALIGN(4)
".align 4 \n\t"
"1: \n\t"
"movq (%1, %%"REG_a"), %%mm1 \n\t"
"movq (%0, %%"REG_a"), %%mm0 \n\t"