[vlc-devel] [PATCH 1/3] packetizer: startcode_helper: prefer intrinsics

Francois Cartegnie fcvlcdev at free.fr
Thu Sep 10 22:50:11 CEST 2020


Le 10/09/2020 à 22:35, Rémi Denis-Courmont a écrit :
> Le torstaina 10. syyskuuta 2020, 23.18.19 EEST Francois Cartegnie a écrit :
>> There's no universal cross compiler way to store
>> a vector constant have dependency listed in the next
>> assembly block.
> 
> There are no ways, period. I don't think any compiler provides any guarantees 
> that registers are preserved across assembler blocks.
> 
>> With pure assembly, there's risk
>> of clobbering constant if the compiler auto vector
>> the TRY_MATCH sections.
> 
> I don't get this. If you need a value from one assembler block to another, you 
> need to assign it as an output of the first block, and an input (or output/
> input) of the following blocks.
> 

To set vector as in/output in inline assembly to declare dependency
you'll need m128 from intrinsics headers (why just use header then ?)
and the constraint parameter isn't guaranteed to work everywhere.


-- 
Francois Cartegnie
VideoLAN - VLC Developer


More information about the vlc-devel mailing list