Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Michael Niedermayer <michael@niedermayer.cc>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH 2/2] x86/tx_float: implement inverse MDCT AVX2 assembly
Date: Sat, 3 Sep 2022 22:55:38 +0200
Message-ID: <20220903205538.GT2088045@pb2> (raw)
In-Reply-To: <NB0-tXQ--3-2@lynne.ee>


[-- Attachment #1.1: Type: text/plain, Size: 18951 bytes --]

On Sat, Sep 03, 2022 at 03:42:36AM +0200, Lynne wrote:
> This commit implements an iMDCT in pure assembly.
> 
> This is capable of processing any mod-8 transforms, rather than just
> power of two, but since power of two is all we have assembly for
> currently, that's what's supported.
> It would really benefit if we could somehow use the C code to decide
> which function to jump into, but exposing function labels from assebly
> into C is anything but easy.
> The post-transform loop could probably be improved.
> 
> This was somewhat annoying to write, as we must support arbitrary
> strides during runtime. There's a fast branch for stride == 4 bytes
> and a slower one which uses vgatherdps.
> 
> Zen 3 benchmarks for stride == 4 for old (av_imdct_half) vs new (av_tx):
> 
> 128pt:
>    2811 decicycles in         av_tx (imdct),16775916 runs,   1300 skips
>    3082 decicycles in         av_imdct_half,16776751 runs,    465 skips
> 
> 256pt:
>    4920 decicycles in         av_tx (imdct),16775820 runs,   1396 skips
>    5378 decicycles in         av_imdct_half,16776411 runs,    805 skips
> 
> 512pt:
>    9668 decicycles in         av_tx (imdct),16775774 runs,   1442 skips
>   10626 decicycles in         av_imdct_half,16775647 runs,   1569 skips
> 
> 1024pt:
>   19812 decicycles in         av_tx (imdct),16777144 runs,     72 skips
>   23036 decicycles in         av_imdct_half,16777167 runs,     49 skips
> 
> Patch attached.
> 

x86-32 doesnt digest this very well

src/libavutil/x86/tx_float.asm:1540: error: (ASSERT:2) assertion ``8 <= 7'' failed
src/libavutil/x86/tx_float.asm:1361: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:721: ... from macro `cglobal' defined here
src//libavutil/x86/x86inc.asm:756: ... from macro `cglobal_internal' defined here
src//libavutil/x86/x86inc.asm:618: ... from macro `PROLOGUE' defined here
src//libavutil/x86/x86inc.asm:304: ... from macro `ASSERT' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7' undefined
src/libavutil/x86/tx_float.asm:1361: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:721: ... from macro `cglobal' defined here
src//libavutil/x86/x86inc.asm:756: ... from macro `cglobal_internal' defined here
src//libavutil/x86/x86inc.asm:620: ... from macro `PROLOGUE' defined here
src//libavutil/x86/x86inc.asm:382: ... from macro `ALLOC_STACK' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7' undefined
src/libavutil/x86/tx_float.asm:1361: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:721: ... from macro `cglobal' defined here
src//libavutil/x86/x86inc.asm:756: ... from macro `cglobal_internal' defined here
src//libavutil/x86/x86inc.asm:621: ... from macro `PROLOGUE' defined here
src//libavutil/x86/x86inc.asm:273: ... from macro `LOAD_IF_USED' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7' undefined
src/libavutil/x86/tx_float.asm:1361: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:721: ... from macro `cglobal' defined here
src//libavutil/x86/x86inc.asm:756: ... from macro `cglobal_internal' defined here
src//libavutil/x86/x86inc.asm:621: ... from macro `PROLOGUE' defined here
src//libavutil/x86/x86inc.asm:273: ... from macro `LOAD_IF_USED' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7' undefined
src/libavutil/x86/tx_float.asm:1361: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:721: ... from macro `cglobal' defined here
src//libavutil/x86/x86inc.asm:756: ... from macro `cglobal_internal' defined here
src//libavutil/x86/x86inc.asm:621: ... from macro `PROLOGUE' defined here
src//libavutil/x86/x86inc.asm:273: ... from macro `LOAD_IF_USED' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7' undefined
src/libavutil/x86/tx_float.asm:1361: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:721: ... from macro `cglobal' defined here
src//libavutil/x86/x86inc.asm:756: ... from macro `cglobal_internal' defined here
src//libavutil/x86/x86inc.asm:621: ... from macro `PROLOGUE' defined here
src//libavutil/x86/x86inc.asm:273: ... from macro `LOAD_IF_USED' defined here
src/libavutil/x86/tx_float.asm:1540: error: invalid combination of opcode and operands
src/libavutil/x86/tx_float.asm:1362: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7d' undefined
src/libavutil/x86/tx_float.asm:1365: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7d' undefined
src/libavutil/x86/tx_float.asm:1366: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r11q' undefined
src/libavutil/x86/tx_float.asm:1369: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7d' undefined
src/libavutil/x86/tx_float.asm:1380: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1396: ... from macro `movd' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r8q' undefined
src/libavutil/x86/tx_float.asm:1383: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m15' undefined
src/libavutil/x86/tx_float.asm:1384: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1459: ... from macro `pcmpeqd' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m15' undefined
src/libavutil/x86/tx_float.asm:1388: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1395: ... from macro `movaps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m15' undefined
src/libavutil/x86/tx_float.asm:1390: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1395: ... from macro `movaps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m8' undefined
src/libavutil/x86/tx_float.asm:1394: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1395: ... from macro `movaps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m9' undefined
src/libavutil/x86/tx_float.asm:1395: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1395: ... from macro `movaps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m10' undefined
src/libavutil/x86/tx_float.asm:1403: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1414: ... from macro `movshdup' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m11' undefined
src/libavutil/x86/tx_float.asm:1404: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1414: ... from macro `movshdup' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m12' undefined
src/libavutil/x86/tx_float.asm:1405: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1415: ... from macro `movsldup' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m13' undefined
src/libavutil/x86/tx_float.asm:1406: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1415: ... from macro `movsldup' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m10' undefined
src/libavutil/x86/tx_float.asm:1408: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1421: ... from macro `mulps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m11' undefined
src/libavutil/x86/tx_float.asm:1409: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1421: ... from macro `mulps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m10' undefined
src/libavutil/x86/tx_float.asm:1411: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1562: ... from macro `shufps' defined here
src//libavutil/x86/x86inc.asm:1262: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m11' undefined
src/libavutil/x86/tx_float.asm:1412: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1562: ... from macro `shufps' defined here
src//libavutil/x86/x86inc.asm:1262: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m10' undefined
src/libavutil/x86/tx_float.asm:1414: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1668: ... from macro `fmaddsubps' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m11' undefined
src/libavutil/x86/tx_float.asm:1415: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1668: ... from macro `fmaddsubps' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r8q' undefined
src/libavutil/x86/tx_float.asm:1417: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1398: ... from macro `movdqa' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src//libavutil/x86/x86inc.asm:1716: ... from macro `vmovdqa' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r8q' undefined
src/libavutil/x86/tx_float.asm:1418: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1398: ... from macro `movdqa' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src//libavutil/x86/x86inc.asm:1716: ... from macro `vmovdqa' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r8q' undefined
src/libavutil/x86/tx_float.asm:1422: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1140: ... from macro `add' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7q' undefined
src/libavutil/x86/tx_float.asm:1430: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7q' undefined
src/libavutil/x86/tx_float.asm:1431: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r8q' undefined
src/libavutil/x86/tx_float.asm:1432: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7q' undefined
src/libavutil/x86/tx_float.asm:1436: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1395: ... from macro `movaps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r8q' undefined
src/libavutil/x86/tx_float.asm:1444: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1395: ... from macro `movaps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m8' undefined
src/libavutil/x86/tx_float.asm:1449: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1564: ... from macro `shufps' defined here
src//libavutil/x86/x86inc.asm:1260: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `m8' undefined
src/libavutil/x86/tx_float.asm:1452: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1421: ... from macro `mulps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: invalid combination of opcode and operands
src/libavutil/x86/tx_float.asm:1461: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: invalid combination of opcode and operands
src/libavutil/x86/tx_float.asm:1462: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r9q' undefined
src/libavutil/x86/tx_float.asm:1463: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r10q' undefined
src/libavutil/x86/tx_float.asm:1464: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r9q' undefined
src/libavutil/x86/tx_float.asm:1468: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1405: ... from macro `movlps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r10q' undefined
src/libavutil/x86/tx_float.asm:1469: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1402: ... from macro `movhps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r8q' undefined
src/libavutil/x86/tx_float.asm:1471: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r8q' undefined
src/libavutil/x86/tx_float.asm:1472: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r9q' undefined
src/libavutil/x86/tx_float.asm:1473: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r10q' undefined
src/libavutil/x86/tx_float.asm:1474: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r9q' undefined
src/libavutil/x86/tx_float.asm:1478: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1405: ... from macro `movlps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r10q' undefined
src/libavutil/x86/tx_float.asm:1479: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1402: ... from macro `movhps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7q' undefined
src/libavutil/x86/tx_float.asm:1484: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1152: ... from macro `sub' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r8q' undefined
src/libavutil/x86/tx_float.asm:1485: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1152: ... from macro `sub' defined here
src/libavutil/x86/tx_float.asm:1540: error: invalid combination of opcode and operands
src/libavutil/x86/tx_float.asm:1489: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r8q' undefined
src/libavutil/x86/tx_float.asm:1490: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r11q' undefined
src/libavutil/x86/tx_float.asm:1492: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1118: ... from macro `call' defined here
src//libavutil/x86/x86inc.asm:1130: ... from macro `call_internal' defined here
src/libavutil/x86/tx_float.asm:1540: error: invalid combination of opcode and operands
src/libavutil/x86/tx_float.asm:1495: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7q' undefined
src/libavutil/x86/tx_float.asm:1499: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r8q' undefined
src/libavutil/x86/tx_float.asm:1500: ... from macro `IMDCT_FN' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7q' undefined
src/libavutil/x86/tx_float.asm:1505: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1395: ... from macro `movaps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r8q' undefined
src/libavutil/x86/tx_float.asm:1506: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1395: ... from macro `movaps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7q' undefined
src/libavutil/x86/tx_float.asm:1507: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1395: ... from macro `movaps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r8q' undefined
src/libavutil/x86/tx_float.asm:1508: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1395: ... from macro `movaps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r8q' undefined
src/libavutil/x86/tx_float.asm:1530: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1395: ... from macro `movaps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7q' undefined
src/libavutil/x86/tx_float.asm:1531: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1395: ... from macro `movaps' defined here
src//libavutil/x86/x86inc.asm:1264: ... from macro `RUN_AVX_INSTR' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7q' undefined
src/libavutil/x86/tx_float.asm:1533: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1140: ... from macro `add' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r8q' undefined
src/libavutil/x86/tx_float.asm:1534: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:1152: ... from macro `sub' defined here
src/libavutil/x86/tx_float.asm:1540: error: symbol `r7' undefined
src/libavutil/x86/tx_float.asm:1537: ... from macro `IMDCT_FN' defined here
src//libavutil/x86/x86inc.asm:638: ... from macro `RET' defined here
src/ffbuild/common.mak:103: recipe for target 'libavutil/x86/tx_float.o' failed
make: *** [libavutil/x86/tx_float.o] Error 1
make: *** Waiting for unfinished jobs....

thx

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Everything should be made as simple as possible, but not simpler.
-- Albert Einstein

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

[-- Attachment #2: Type: text/plain, Size: 251 bytes --]

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

  reply	other threads:[~2022-09-03 20:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-03  1:41 [FFmpeg-devel] [PATCH 1/2] x86/tx_float: add support for calling assembly functions from assembly Lynne
     [not found] ` <NB0-fO---3-2@lynne.ee-NB0-j8B----2>
2022-09-03  1:42   ` [FFmpeg-devel] [PATCH 2/2] x86/tx_float: implement inverse MDCT AVX2 assembly Lynne
2022-09-03 20:55     ` Michael Niedermayer [this message]
2022-09-03 21:35       ` Lynne
2022-09-06 13:21 ` [FFmpeg-devel] [PATCH 1/2] x86/tx_float: add support for calling assembly functions from assembly Mattias Wadman
2022-09-06 13:45   ` Martin Storsjö
2022-09-06 13:46     ` Mattias Wadman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220903205538.GT2088045@pb2 \
    --to=michael@niedermayer.cc \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git