x86 - add speculation_barrier pattern 73/198473/3
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 1 Aug 2018 08:16:38 +0000 (08:16 +0000)
committerDongkyun Son <dongkyun.s@samsung.com>
Wed, 6 Feb 2019 15:56:35 +0000 (15:56 +0000)
commitfa5fafbf45197bb30ddc50f477d0c8af409d413f
tree76f911b74df931c380731fff8175d5ccbe861e03
parent070b3cd5223758d8f65eeb75bcfdcaeed1b19106
x86 - add speculation_barrier pattern

This patch adds a speculation barrier for x86, based on my
understanding of the required mitigation for that CPU, which is to use
an lfence instruction.

This patch needs some review by an x86 expert and if adjustments are
needed, I'd appreciate it if they could be picked up by the port
maintainer.  This is supposed to serve as an example of how to deploy
the new __builtin_speculation_safe_value() intrinsic on this
architecture.

* config/i386/i386.md (unspecv): Add UNSPECV_SPECULATION_BARRIER.
(speculation_barrier): New insn.

(backported 5812770a029b1a49b72cabf08b2f202d2d00dc69)

Change-Id: I94d1aacb04c9288a0fbeb38109aeb80a59ca47e6
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263196 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.md