Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-27 Thread Joseph Myers
On Fri, 27 Jul 2018, Richard Earnshaw (lists) wrote: > The c-c++-common/spec-barrier-1.c test will fail on any target that has > not been updated (it deliberately doesn't check for > __HAVE_SPECULATION_BARRIER before trying to use the new intrinsic). The > test contains a comment to that effect.

Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-27 Thread Richard Earnshaw (lists)
On 27/07/18 01:46, Paul Koning wrote: > > >> On Jul 26, 2018, at 7:34 PM, Joseph Myers wrote: >> >> On Wed, 25 Jul 2018, Richard Earnshaw (lists) wrote: >> > Port maintainers DO need to decide what to do about speculation, even if > it is explicitly that no mitigation is needed.

Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-26 Thread Paul Koning
> On Jul 26, 2018, at 7:34 PM, Joseph Myers wrote: > > On Wed, 25 Jul 2018, Richard Earnshaw (lists) wrote: > Port maintainers DO need to decide what to do about speculation, even if it is explicitly that no mitigation is needed. >>> >>> Agreed. But I didn't yet see a request for

Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-26 Thread Joseph Myers
On Wed, 25 Jul 2018, Richard Earnshaw (lists) wrote: > >> Port maintainers DO need to decide what to do about speculation, even if > >> it is explicitly that no mitigation is needed. > > > > Agreed. But I didn't yet see a request for maintainers to decide that? > > > > consider it made, then

Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-26 Thread Richard Biener
On Thu, Jul 26, 2018 at 3:06 PM Richard Earnshaw (lists) wrote: > > On 26/07/18 13:41, Richard Biener wrote: > > On Thu, Jul 26, 2018 at 12:03 PM Richard Earnshaw (lists) > > wrote: > >> > >> On 25/07/18 14:47, Richard Biener wrote: > >>> On Wed, Jul 25, 2018 at 2:41 PM Richard Earnshaw (lists)

Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-26 Thread Richard Earnshaw (lists)
On 26/07/18 13:41, Richard Biener wrote: > On Thu, Jul 26, 2018 at 12:03 PM Richard Earnshaw (lists) > wrote: >> >> On 25/07/18 14:47, Richard Biener wrote: >>> On Wed, Jul 25, 2018 at 2:41 PM Richard Earnshaw (lists) >>> wrote: On 25/07/18 11:36, Richard Biener wrote: > On Wed,

Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-26 Thread Richard Biener
On Thu, Jul 26, 2018 at 12:03 PM Richard Earnshaw (lists) wrote: > > On 25/07/18 14:47, Richard Biener wrote: > > On Wed, Jul 25, 2018 at 2:41 PM Richard Earnshaw (lists) > > wrote: > >> > >> On 25/07/18 11:36, Richard Biener wrote: > >>> On Wed, Jul 25, 2018 at 11:49 AM Richard Earnshaw (lists)

Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-26 Thread Richard Earnshaw (lists)
On 25/07/18 14:47, Richard Biener wrote: > On Wed, Jul 25, 2018 at 2:41 PM Richard Earnshaw (lists) > wrote: >> >> On 25/07/18 11:36, Richard Biener wrote: >>> On Wed, Jul 25, 2018 at 11:49 AM Richard Earnshaw (lists) >>> wrote: On 24/07/18 18:26, Richard Biener wrote: > On Mon,

Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-26 Thread Richard Biener
On Wed, Jul 25, 2018 at 8:03 PM Richard Earnshaw (lists) wrote: > > On 24/07/18 18:26, Richard Biener wrote: > > So, please make resolve_overloaded_builtin return a no-op on such targets > > which means you can remove the above warning. Maybe such targets > > shouldn't advertise / initialize the

Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-25 Thread Richard Earnshaw (lists)
On 24/07/18 18:26, Richard Biener wrote: > So, please make resolve_overloaded_builtin return a no-op on such targets > which means you can remove the above warning. Maybe such targets > shouldn't advertise / initialize the builtins at all? So I tried to make resolve_overloaded_builtin collapse

Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-25 Thread Richard Biener
On Wed, Jul 25, 2018 at 2:41 PM Richard Earnshaw (lists) wrote: > > On 25/07/18 11:36, Richard Biener wrote: > > On Wed, Jul 25, 2018 at 11:49 AM Richard Earnshaw (lists) > > wrote: > >> > >> On 24/07/18 18:26, Richard Biener wrote: > >>> On Mon, Jul 9, 2018 at 6:40 PM Richard Earnshaw > >>>

Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-25 Thread Richard Earnshaw (lists)
On 25/07/18 11:36, Richard Biener wrote: > On Wed, Jul 25, 2018 at 11:49 AM Richard Earnshaw (lists) > wrote: >> >> On 24/07/18 18:26, Richard Biener wrote: >>> On Mon, Jul 9, 2018 at 6:40 PM Richard Earnshaw >>> wrote: This patch defines a new intrinsic function

Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-25 Thread Richard Biener
On Wed, Jul 25, 2018 at 11:49 AM Richard Earnshaw (lists) wrote: > > On 24/07/18 18:26, Richard Biener wrote: > > On Mon, Jul 9, 2018 at 6:40 PM Richard Earnshaw > > wrote: > >> > >> > >> This patch defines a new intrinsic function > >> __builtin_speculation_safe_value. A generic default

Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-25 Thread Richard Earnshaw (lists)
On 24/07/18 18:26, Richard Biener wrote: > On Mon, Jul 9, 2018 at 6:40 PM Richard Earnshaw > wrote: >> >> >> This patch defines a new intrinsic function >> __builtin_speculation_safe_value. A generic default implementation is >> defined which will attempt to use the backend pattern >>

Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-24 Thread Richard Biener
On Mon, Jul 9, 2018 at 6:40 PM Richard Earnshaw wrote: > > > This patch defines a new intrinsic function > __builtin_speculation_safe_value. A generic default implementation is > defined which will attempt to use the backend pattern > "speculation_safe_barrier". If this pattern is not defined,

Re: [PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-23 Thread Richard Earnshaw (lists)
Ping. This patch needs reviewing an appropriate maintainer. I'm aware that the documentation needs extending a bit to provide some example use cases as discussed in the follow-up to the generic discussion, but the rest of the patch still stands. R. On 09/07/18 17:38, Richard Earnshaw wrote: >

[PATCH 1/7] Add __builtin_speculation_safe_value

2018-07-09 Thread Richard Earnshaw
This patch defines a new intrinsic function __builtin_speculation_safe_value. A generic default implementation is defined which will attempt to use the backend pattern "speculation_safe_barrier". If this pattern is not defined, or if it is not available, then the compiler will emit a warning,