On Mon, May 11, 2020 at 1:03 PM David Woodhouse wrote:
>
> On Mon, 2020-05-11 at 13:01 -0700, Linus Torvalds wrote:
> > On Mon, May 11, 2020 at 12:52 PM Nick Desaulniers
> > wrote:
> > >
> > > Interesting approach. Researching __builtin_choose_expr, it looks
> > > like it was cited as prior art
On Mon, May 11, 2020 at 3:34 PM Brian Gerst wrote:
>
> On Mon, May 11, 2020 at 2:46 PM Nick Desaulniers
> wrote:
> >
> > On Mon, May 11, 2020 at 11:09 AM Brian Gerst wrote:
> > > This looks like the same issue that we just discussed for bitops.h.
> > > Add the "b" operand size modifier to force
On Mon, May 11, 2020 at 12:34 PM Brian Gerst wrote:
>
> On Mon, May 11, 2020 at 2:46 PM Nick Desaulniers
> wrote:
> >
> > On Mon, May 11, 2020 at 11:09 AM Brian Gerst wrote:
> > > This looks like the same issue that we just discussed for bitops.h.
> > > Add the "b" operand size modifier to
On Mon, 2020-05-11 at 13:01 -0700, Linus Torvalds wrote:
> On Mon, May 11, 2020 at 12:52 PM Nick Desaulniers
> wrote:
> >
> > Interesting approach. Researching __builtin_choose_expr, it looks
> > like it was cited as prior art for C11's _Generic keyword.
>
> Well, the thing that made me think
On Mon, May 11, 2020 at 12:52 PM Nick Desaulniers
wrote:
>
> Interesting approach. Researching __builtin_choose_expr, it looks
> like it was cited as prior art for C11's _Generic keyword.
Well, the thing that made me think that __builtin_choose_expr() would
work is that unlike the switch
On Mon, May 11, 2020 at 11:24 AM Linus Torvalds
wrote:
>
> On Mon, May 11, 2020 at 11:12 AM Linus Torvalds
> wrote:
> >
> > Would using "__builtin_choose_expr()" be able to avoid this whole issue?
>
> We actually have a fair amount of "pick expression based on size", so
> with a few helper
On Mon, May 11, 2020 at 2:46 PM Nick Desaulniers
wrote:
>
> On Mon, May 11, 2020 at 11:09 AM Brian Gerst wrote:
> > This looks like the same issue that we just discussed for bitops.h.
> > Add the "b" operand size modifier to force it to use the 8-bit
> > register names (and probably also needs
On Mon, May 11, 2020 at 11:09 AM Brian Gerst wrote:
> This looks like the same issue that we just discussed for bitops.h.
> Add the "b" operand size modifier to force it to use the 8-bit
> register names (and probably also needs the "w" modifier in the 16-bit
> case).
While it does feel
On Mon, May 11, 2020 at 11:24 AM Linus Torvalds
wrote:
>
> I guess I should just test it, since I have that clang tree.
No, clang doesn't seem to handle it even with __builtin_choose_expr(),
and has that
invalid input size for constraint 'qi'
even when it's in a side that is never chosen.
On Mon, May 11, 2020 at 11:12 AM Linus Torvalds
wrote:
>
> Would using "__builtin_choose_expr()" be able to avoid this whole issue?
We actually have a fair amount of "pick expression based on size", so
with a few helper macros we could make the code look better than the
case statements too.
On Mon, May 11, 2020 at 10:24 AM Nick Desaulniers
wrote:
>
> Bumping for comment+review.
>
> On Mon, May 4, 2020 at 4:03 PM Nick Desaulniers
> wrote:
> >
> > - : "qi" ((pto_T__)(val))); \
> > + : "qi" ((unsigned char)(unsigned long)(val))); \
I
On Mon, May 11, 2020 at 1:26 PM Nick Desaulniers
wrote:
>
> Bumping for comment+review.
>
> On Mon, May 4, 2020 at 4:03 PM Nick Desaulniers
> wrote:
> >
> > GCC and Clang are architecturally different, which leads to subtle
> > issues for code that's invalid but clearly dead. This can happen
Bumping for comment+review.
On Mon, May 4, 2020 at 4:03 PM Nick Desaulniers wrote:
>
> GCC and Clang are architecturally different, which leads to subtle
> issues for code that's invalid but clearly dead. This can happen with
> code that emulates polymorphism with the preprocessor and sizeof.
>
GCC and Clang are architecturally different, which leads to subtle
issues for code that's invalid but clearly dead. This can happen with
code that emulates polymorphism with the preprocessor and sizeof.
GCC will perform semantic analysis after early inlining and dead code
elimination, so it will
14 matches
Mail list logo