https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #33 from CVS Commits ---
The master branch has been updated by Jakub Jelinek :
https://gcc.gnu.org/g:a7aec76a74dd38524be325343158d3049b6ab3ac
commit r14-3541-ga7aec76a74dd38524be325343158d3049b6ab3ac
Author: Jakub Jelinek
Date:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #32 from Vincent Lefèvre ---
(In reply to Jakub Jelinek from comment #31)
> (In reply to Vincent Lefèvre from comment #30)
> > (In reply to Jakub Jelinek from comment #29)
> > > I mean that if the compiler can't see it is in [0, 1],
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #31 from Jakub Jelinek ---
(In reply to Vincent Lefèvre from comment #30)
> (In reply to Jakub Jelinek from comment #29)
> > (In reply to Vincent Lefèvre from comment #28)
> > > What do you mean by "the first additions will be less
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #30 from Vincent Lefèvre ---
(In reply to Jakub Jelinek from comment #29)
> (In reply to Vincent Lefèvre from comment #28)
> > What do you mean by "the first additions will be less optimized"? (If you
> > don't know anything about
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #29 from Jakub Jelinek ---
(In reply to Vincent Lefèvre from comment #28)
> (In reply to Jakub Jelinek from comment #27)
> > Given that the builtins exist for 10 years already, I think changing it for
> > them is too late, though
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #28 from Vincent Lefèvre ---
(In reply to Jakub Jelinek from comment #27)
> Given that the builtins exist for 10 years already, I think changing it for
> them is too late, though they don't seem to take backwards compatibility as
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #27 from Jakub Jelinek ---
Given that the builtins exist for 10 years already, I think changing it for
them is too late, though they don't seem to take backwards compatibility as
seriously.
They don't document the [0, 1] restriction
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #26 from Marc Glisse ---
(In reply to CVS Commits from comment #22)
> While the design of these builtins in clang is questionable,
> rather than being say
> unsigned __builtin_addc (unsigned, unsigned, bool, bool *)
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #25 from CVS Commits ---
The master branch has been updated by Jakub Jelinek :
https://gcc.gnu.org/g:f8f68c4ca622a24c2e8cf2b5f2f9fdcd47a7b369
commit r14-2001-gf8f68c4ca622a24c2e8cf2b5f2f9fdcd47a7b369
Author: Jakub Jelinek
Date:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #24 from Jakub Jelinek ---
Sorry, in that case nothing needs to be done for riscv. I'm sure aarch64, arm
has one (e.g. adcs), I think powerpc has some, but e.g. PR43892 is still open,
and I'm sure s390 has them too (alc*, slb*).
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #23 from Jeffrey A. Law ---
risc-v doesn't have any special instructions to implement add-with-carry or
subtract-with-borrow. Depending on who you talk do, it's either a feature or a
mis-design.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #22 from CVS Commits ---
The master branch has been updated by Jakub Jelinek :
https://gcc.gnu.org/g:2b4e0415ad664cdb3ce87d1f7eee5ca26911a05b
commit r14-1896-g2b4e0415ad664cdb3ce87d1f7eee5ca26911a05b
Author: Jakub Jelinek
Date:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
Jakub Jelinek changed:
What|Removed |Added
CC||krebbel at gcc dot gnu.org,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #20 from CVS Commits ---
The master branch has been updated by Jakub Jelinek :
https://gcc.gnu.org/g:43a3252c42af12ad90082e4088ea58eecd0bf582
commit r14-1837-g43a3252c42af12ad90082e4088ea58eecd0bf582
Author: Jakub Jelinek
Date:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #19 from CVS Commits ---
The master branch has been updated by Jakub Jelinek :
https://gcc.gnu.org/g:ec52d228d6db7f77188ad099a8c0ff65dead3241
commit r14-1836-gec52d228d6db7f77188ad099a8c0ff65dead3241
Author: Jakub Jelinek
Date:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #18 from CVS Commits ---
The master branch has been updated by Jakub Jelinek :
https://gcc.gnu.org/g:b6ca11407d4f5d16ccfb580ea2d3d9aa08d7cd11
commit r14-1835-gb6ca11407d4f5d16ccfb580ea2d3d9aa08d7cd11
Author: Jakub Jelinek
Date:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
Jakub Jelinek changed:
What|Removed |Added
Attachment #55271|0 |1
is obsolete|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
Jakub Jelinek changed:
What|Removed |Added
Status|NEW |ASSIGNED
Assignee|unassigned
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #15 from Paweł Bylica ---
For what it's worth, clang's __builtin_addc is implemented in frontend only as
a pair of __builtin_add_overflow. The commit from 11 year ago does not explain
why they were added.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #14 from Jakub Jelinek ---
Unfortunately, the clang __builtin_addc* and __builtin_subc* builtins are badly
designed.
Instead of adding or subtracting a 1-bit carry, where the result is guaranteed
to have 1-bit carry as well, they
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #13 from Andrew Pinski ---
(In reply to Vincent Lefèvre from comment #12)
> One issue is that _addcarry_u64 / x86intrin.h are not documented, so the
> conditions of its use in portable code are not clear. I suppose that it is
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
--- Comment #12 from Vincent Lefèvre ---
(In reply to Andrew Pinski from comment #11)
> x86 has _addcarry_u64 which gets it mostly (see PR 97387).
>
> The clang builtins __builtin_*_overflow are there but not the __builtin_add*
> builtins.
>
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79173
Andrew Pinski changed:
What|Removed |Added
Keywords||missed-optimization
See Also|
23 matches
Mail list logo