On 17/08/2021 09:15, Peter Maydell wrote:
[E-MAIL EXTERNO] Não clique em links ou abra anexos, a menos que você possa 
confirmar o remetente e saber que o conteúdo é seguro. Em caso de e-mail 
suspeito entre imediatamente em contato com o DTI.

On Tue, 17 Aug 2021 at 13:09, Matheus K. Ferst
<matheus.fe...@eldorado.org.br> wrote:

On 17/08/2021 06:27, Philippe Mathieu-Daudé wrote:
On 8/16/21 9:13 PM, matheus.fe...@eldorado.org.br wrote:
From: Matheus Ferst <matheus.fe...@eldorado.org.br>
-static inline Int128 bswap128(Int128 a)
-{
-    return int128_make128(bswap64(int128_gethi(a)), bswap64(int128_getlo(a)));
-}

Personally I'd move this one to the other #ifdef side,
and implement here with __builtin_bswap128().


I saw this builtin, but I couldn't test it on my system. It seems that
Clang doesn't implement it, and it's only available on GCC 11:
https://godbolt.org/z/T6vhd5a38 . I think we can use it, but I'd need to
figure how to add a test for it in the configure script.

You should be able to get away without a configure script test --
#if __has_builtin(__builtin_bswap128)
/* version with the builtin here */
#else
/* fallback */
#endif

ought to work. (Any gcc new enough to have the builtin also has
__has_builtin; clang has had __has_builtin for ages; our compiler.h
defines a fallback "always 0" __has_builtin for older compilers.)

-- PMM


Nice, I'll prepare a v2.

--
Matheus K. Ferst
Instituto de Pesquisas ELDORADO <http://www.eldorado.org.br/>
Analista de Software Júnior
Aviso Legal - Disclaimer <https://www.eldorado.org.br/disclaimer.html>

Reply via email to