On Wed, Oct 10, 2018 at 09:12:48AM +0200, Richard Biener wrote: > On Tue, 9 Oct 2018, Segher Boessenkool wrote: > > On Mon, Oct 08, 2018 at 11:07:46AM +0200, Richard Biener wrote: > > > On Mon, 8 Oct 2018, Segher Boessenkool wrote: > > > > On Sun, Oct 07, 2018 at 03:53:26PM +0000, Michael Matz wrote: > > > > > On Sun, 7 Oct 2018, Segher Boessenkool wrote: > > > > > > On Sun, Oct 07, 2018 at 11:18:06AM +0200, Borislav Petkov wrote: > > > > > > > Now, Richard suggested doing something like: > > > > > > > > > > > > > > 1) inline asm ("...") > > > > > > > > > > > > What would the semantics of this be? > > > > > > > > > > The size of the inline asm wouldn't be counted towards the inliner size > > > > > limits (or be counted as "1"). > > > > > > > > That sounds like a good option. > > > > > > Yes, I also like it for simplicity. It also avoids the requirement > > > of translating the number (in bytes?) given by the user to > > > "number of GIMPLE instructions" as needed by the inliner. > > > > This patch implements this, for C only so far. And the syntax is > > "asm inline", which is more in line with other syntax. > > > > How does this look? > > Looks good. A few nits - you need to document this in extend.texi, the Yup. > tree flag use needs documenting in tree-core.h, Ah yes. > and we need a testcase > (I'd suggest one that shows we inline a function with "large" asm inline > () even at -Os). I have one. Oh, and I probably should do a comment at the one line of code that isn't just bookkeeping ;-) > Oh, and I don't think we want C and C++ to diverge - so you need to > cook up C++ support as well. Right, that's why I said "C only so far". > Can kernel folks give this a second and third thought please so we > don't implement sth that in the end won't satisfy you guys? Or actually try it out and see if it has the desired effect! Nothing beats field trials. I'll do the C++ thing today hopefully, and send things to gcc-patches@. Segher