On 01/07/2018 03:58 PM, H.J. Lu wrote:
> This set of patches for GCC 8 mitigates variant #2 of the speculative 
> execution
> vulnerabilities on x86 processors identified by CVE-2017-5715, aka Spectre.  
> They
> convert indirect branches to call and return thunks to avoid speculative 
> execution
> via indirect call and jmp.
> 
> 
> H.J. Lu (5):
>   x86: Add -mindirect-branch=
>   x86: Add -mindirect-branch-loop=
>   x86: Add -mfunction-return=
>   x86: Add -mindirect-branch-register
>   x86: Add 'V' register operand modifier
> 
>  gcc/config/i386/constraints.md                     |  12 +-
>  gcc/config/i386/i386-opts.h                        |  14 +
>  gcc/config/i386/i386-protos.h                      |   2 +
>  gcc/config/i386/i386.c                             | 655 
> ++++++++++++++++++++-
>  gcc/config/i386/i386.h                             |  10 +
>  gcc/config/i386/i386.md                            |  51 +-
>  gcc/config/i386/i386.opt                           |  45 ++
>  gcc/config/i386/predicates.md                      |  21 +-
>  gcc/doc/extend.texi                                |  22 +
>  gcc/doc/invoke.texi                                |  37 +-
My fundamental problem with this patchkit is that it is 100% x86/x86_64
specific.

ISTM we want a target independent mechanism (ie, new standard patterns,
options, etc) then an x86/x86_64 implementation using that target
independent framework (ie, the actual implementation of those new
standard patterns).

jeff

Reply via email to