Displaying 3 results from an estimated 3 matches for "sprenkels".
2019 Sep 12
2
Side-channel resistant values
..., for example using empty inline
assembly directives[1], are just ugly hacks.
So I am wondering: Is there any support for preventing these kinds of
optimizations? Or is there otherwise a "mostly recommended" way to
prevent these optimizations?
Thanks for your advice.
All the best,
Daan Sprenkels
PS. Perhaps, would there be interest to add such a feature to LLVM?
I found this repository on GitHub[2], adding a `__builtin_ct_choose`
intrinsic to clang. But as far as I know, this has never been upstreamed.
[1]: Chandler Carruth described this trick at CppCon15:
<https://youtu.be/nXaxk27z...
2019 Sep 12
2
Side-channel resistant values
...an currently get this effect using __builtin_unpredictable in Clang. __builtin_unpredictable wasn't added for this purpose, and it's a hint not a forced behavior, but I believe that it causes the backend to prefer cmov to branches during lowering.
-Hal
On Sep 12, 2019, at 12:30 PM, Daan Sprenkels via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote:
PS. Perhaps, would there be interest to add such a feature to LLVM?
I found this repository on GitHub[2], adding a `__builtin_ct_choose`
intrinsic to clang. But as far as I know, this has never been ups...
2019 Sep 13
2
Side-channel resistant values
...hat they continually run and that checks the specific instruction stream produced by the compiler. Given the current state, that's about the only reliable approach I know of.
>
> -Chandler
>
>
> -Hal
>
>
>
>>
>>> On Sep 12, 2019, at 12:30 PM, Daan Sprenkels via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>>
>>> PS. Perhaps, would there be interest to add such a feature to LLVM?
>>> I found this repository on GitHub[2], adding a `__builtin_ct_choose`
>>> intrinsic to...