1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
FFmpeg/libavutil/x86
Martin Storsjö 7ec2354c38 x86: Remove inline MMX assembly that clobbers the FPU state
These inline implementations of AV_COPY64, AV_SWAP64 and AV_ZERO64
are known to clobber the FPU state - which has to be restored
with the 'emms' instruction afterwards.

This was known and signaled with the FF_COPY_SWAP_ZERO_USES_MMX
define, which calling code seems to have been supposed to check,
in order to call emms_c() after using them. See
0b1972d409,
29c4c0886d and
df215e5758 for history on earlier
fixes in the same area.

However, new code can use these AV_*64() macros without knowing
about the need to call emms_c().

Just get rid of these dangerous inline assembly snippets; this
doesn't make any difference for 64 bit architectures anyway.

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-02-09 23:55:52 +02:00
..
asm.h
bswap.h
cpu.c
cpu.h
cpuid.asm
emms.asm
fixed_dsp_init.c lavu/fixed_dsp: add missing av_restrict qualifiers 2022-10-04 10:56:12 +02:00
fixed_dsp.asm
float_dsp_init.c avutil/x86/float_dsp: add fma3 for scalarproduct 2022-09-13 17:43:15 +02:00
float_dsp.asm x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
imgutils_init.c
imgutils.asm
intmath.h
intreadwrite.h x86: Remove inline MMX assembly that clobbers the FPU state 2024-02-09 23:55:52 +02:00
lls_init.c
lls.asm x86: replace explicit REP_RETs with RETs 2023-02-01 04:23:55 +01:00
Makefile
pixelutils_init.c
pixelutils.asm avutil/x86/pixelutils: Empty MMX state in ff_pixelutils_sad_8x8_mmxext 2023-11-04 01:26:03 +01:00
pixelutils.h
timer.h
tx_float_init.c x86/tx_init: propely indicate the extended available transform sizes 2024-02-09 18:08:42 +01:00
tx_float.asm x86/tx_float: enable SIMD for sizes over 131072 2024-02-07 15:20:48 +01:00
w64xmmtest.h
x86inc.asm x86inc: Add REPX macro to repeat instructions/operations 2023-11-08 13:49:08 +01:00
x86util.asm