RE: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-14 Thread Kumar, Venkataramanan
Muthu kumar raj ; > GCC Patches ; Martin Jambor > ; Uros Bizjak (ubiz...@gmail.com) > ; Jan Hubicka ; Dharmakan, Rohit arul raj > > Subject: RE: [PATCH 2/5] x86: Add -mindirect-branch-loop= > > > > If everyone is ok, my suggestion is to use  "lfence" as the default

RE: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-13 Thread Van De Ven, Arjan
> > If everyone is ok, my suggestion is to use  "lfence" as the default > > loop filler for retpoline. can we do BOTH a pause and lfence. (that way on cpu's where pause is the power stop, it works, and on cpus where it's a fallthrough (AMD) it goes to the lfence)

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-13 Thread H.J. Lu
On Sat, Jan 13, 2018 at 8:34 AM, David Woodhouse wrote: > On Sat, 2018-01-13 at 03:11 +, Kumar, Venkataramanan wrote: >> >> > My original patch uses "lfence". I was asked to use "pause": >> > >> > https://gcc.gnu.org/ml/gcc-patches/2018-01/msg00969.html >> >> If everyone is ok, my suggestion

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-13 Thread David Woodhouse
On Sat, 2018-01-13 at 03:11 +, Kumar, Venkataramanan wrote: > > > My original patch uses "lfence".  I was asked to use "pause": > >  > > https://gcc.gnu.org/ml/gcc-patches/2018-01/msg00969.html > > If everyone is ok, my suggestion is to use  "lfence" as the default > loop filler for retpoline

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-13 Thread David Woodhouse
On Sat, 2018-01-13 at 03:11 +, Kumar, Venkataramanan wrote: > > > My original patch uses "lfence".  I was asked to use "pause": > >  > > https://gcc.gnu.org/ml/gcc-patches/2018-01/msg00969.html > > If everyone is ok, my suggestion is to use  "lfence" as the default > loop filler for retpoline

RE: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-12 Thread Kumar, Venkataramanan
an Hubicka ; > Dharmakan, Rohit arul raj > Subject: Re: [PATCH 2/5] x86: Add -mindirect-branch-loop= > > On Fri, Jan 12, 2018 at 10:27 AM, Kumar, Venkataramanan > wrote: > > Hi HJ, > > > >> -Original Message- > >> From: Kumar, Venkataramanan >

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-12 Thread H.J. Lu
mar raj ; >> 'GCC Patches' ; 'Jeff Law' ; >> Uros Bizjak (ubiz...@gmail.com) ; 'Jan Hubicka' >> >> Subject: RE: [PATCH 2/5] x86: Add -mindirect-branch-loop= >> >> Hi all, >> >> > -Original Message- >> &g

RE: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-12 Thread Kumar, Venkataramanan
> > Cc: Nagarajan, Muthu kumar raj ; > > GCC Patches ; Jeff Law ; > Uros > > Bizjak (ubiz...@gmail.com) ; 'Jan Hubicka' > > > > Subject: RE: [PATCH 2/5] x86: Add -mindirect-branch-loop= > > > > Hi all, > > > > > -Ori

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-12 Thread Jeff Law
On 01/12/2018 07:05 AM, H.J. Lu wrote: > On Fri, Jan 12, 2018 at 4:38 AM, Martin Jambor wrote: >> Hi, >> >> On Thu, Jan 11 2018, Jeff Law wrote: >>> On 01/07/2018 03:59 PM, H.J. Lu wrote: Add -mindirect-branch-loop= option to control loop filler in call and return thunks generated by -mi

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-12 Thread Jeff Law
t;> GCC Patches ; Jeff Law ; Uros >> Bizjak (ubiz...@gmail.com) ; 'Jan Hubicka' >> >> Subject: RE: [PATCH 2/5] x86: Add -mindirect-branch-loop= >> >> Hi all, >> >>> -Original Message- >>> From: H.J. Lu [mailto:hjl.to...@gmail.c

RE: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-12 Thread Kumar, Venkataramanan
; > > Kumar, Venkataramanan ; GCC > Patches > > ; Jeff Law > > Subject: Re: [PATCH 2/5] x86: Add -mindirect-branch-loop= > > > > On Fri, Jan 12, 2018 at 4:38 AM, Martin Jambor wrote: > > > Hi, > > > > > > On Thu, Jan 11 2018, Jeff Law

RE: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-12 Thread Kumar, Venkataramanan
Hi all, > -Original Message- > From: H.J. Lu [mailto:hjl.to...@gmail.com] > Sent: Friday, January 12, 2018 7:36 PM > To: Martin Jambor > Cc: Nagarajan, Muthu kumar raj ; > Kumar, Venkataramanan ; GCC > Patches ; Jeff Law > Subject: Re: [PATCH 2/5] x86: Ad

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-12 Thread H.J. Lu
On Fri, Jan 12, 2018 at 4:38 AM, Martin Jambor wrote: > Hi, > > On Thu, Jan 11 2018, Jeff Law wrote: >> On 01/07/2018 03:59 PM, H.J. Lu wrote: >>> Add -mindirect-branch-loop= option to control loop filler in call and >>> return thunks generated by -mindirect-branch=. 'lfence' uses "lfence" >>> as

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-12 Thread Martin Jambor
Hi, On Thu, Jan 11 2018, Jeff Law wrote: > On 01/07/2018 03:59 PM, H.J. Lu wrote: >> Add -mindirect-branch-loop= option to control loop filler in call and >> return thunks generated by -mindirect-branch=. 'lfence' uses "lfence" >> as loop filler. 'pause' uses "pause" as loop filler. 'nop' uses

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-11 Thread H.J. Lu
On Thu, Jan 11, 2018 at 1:42 PM, Jeff Law wrote: > On 01/07/2018 03:59 PM, H.J. Lu wrote: >> Add -mindirect-branch-loop= option to control loop filler in call and >> return thunks generated by -mindirect-branch=. 'lfence' uses "lfence" >> as loop filler. 'pause' uses "pause" as loop filler. 'no

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-11 Thread Jeff Law
On 01/07/2018 03:59 PM, H.J. Lu wrote: > Add -mindirect-branch-loop= option to control loop filler in call and > return thunks generated by -mindirect-branch=. 'lfence' uses "lfence" > as loop filler. 'pause' uses "pause" as loop filler. 'nop' uses "nop" > as loop filler. The default is 'lfence

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-08 Thread H.J. Lu
On Mon, Jan 8, 2018 at 1:00 PM, David Woodhouse wrote: > On Mon, 2018-01-08 at 09:20 +0100, Florian Weimer wrote: >> * H. J. Lu: >> >> > Add -mindirect-branch-loop= option to control loop filler in call and >> > return thunks generated by -mindirect-branch=. 'lfence' uses "lfence" >> > as loop fi

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-08 Thread David Woodhouse
On Mon, 2018-01-08 at 09:20 +0100, Florian Weimer wrote: > * H. J. Lu: > > > Add -mindirect-branch-loop= option to control loop filler in call and > > return thunks generated by -mindirect-branch=.  'lfence' uses "lfence" > > as loop filler.  'pause' uses "pause" as loop filler.  'nop' uses "nop"

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-08 Thread H.J. Lu
On Mon, Jan 8, 2018 at 10:32 AM, Florian Weimer wrote: > * H. J. Lu: > >> On Mon, Jan 8, 2018 at 12:20 AM, Florian Weimer wrote: >>> * H. J. Lu: >>> Add -mindirect-branch-loop= option to control loop filler in call and return thunks generated by -mindirect-branch=. 'lfence' uses "lfenc

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-08 Thread Florian Weimer
* H. J. Lu: > On Mon, Jan 8, 2018 at 12:20 AM, Florian Weimer wrote: >> * H. J. Lu: >> >>> Add -mindirect-branch-loop= option to control loop filler in call and >>> return thunks generated by -mindirect-branch=. 'lfence' uses "lfence" >>> as loop filler. 'pause' uses "pause" as loop filler. 'n

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-08 Thread H.J. Lu
On Mon, Jan 8, 2018 at 12:20 AM, Florian Weimer wrote: > * H. J. Lu: > >> Add -mindirect-branch-loop= option to control loop filler in call and >> return thunks generated by -mindirect-branch=. 'lfence' uses "lfence" >> as loop filler. 'pause' uses "pause" as loop filler. 'nop' uses "nop" >> as

Re: [PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-08 Thread Florian Weimer
* H. J. Lu: > Add -mindirect-branch-loop= option to control loop filler in call and > return thunks generated by -mindirect-branch=. 'lfence' uses "lfence" > as loop filler. 'pause' uses "pause" as loop filler. 'nop' uses "nop" > as loop filler. The default is 'lfence'. Why is the loop needed

[PATCH 2/5] x86: Add -mindirect-branch-loop=

2018-01-07 Thread H.J. Lu
Add -mindirect-branch-loop= option to control loop filler in call and return thunks generated by -mindirect-branch=. 'lfence' uses "lfence" as loop filler. 'pause' uses "pause" as loop filler. 'nop' uses "nop" as loop filler. The default is 'lfence'. gcc/ * config/i386/i386-opts.h (in