https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
Segher Boessenkool changed:
What|Removed |Added
Resolution|--- |FIXED
Status|NEW
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #41 from Segher Boessenkool ---
Fixed.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org
--- Comment #40
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #39 from Segher Boessenkool ---
commit 07fe4af4d51d74b63a76ea632d4db01d1f69f037
Author: Segher Boessenkool
Date: Wed Mar 18 21:58:45 2020 +
rs6000: Add back some w* constraints (PR91886)
In May and June last year I de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
Richard Biener changed:
What|Removed |Added
Priority|P3 |P1
--- Comment #38 from Richard Biener
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #37 from Segher Boessenkool ---
Oh, hrm, I am looking at an older version. Ugh.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #36 from Segher Boessenkool ---
(In reply to Rich Felker from comment #34)
> Per the IBM docs, LE/elfv2 (which they confusingly equate)
Where do you see this, btw? The introduction of the ABI doc says
> The OpenPOWER ELF V2 ABI is
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
Martin Liška changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #35 from David Edelsohn ---
The ELFv2 ABI does not require Power8+ because the subroutine linkage
convention requires Power8 instructions. It requires Power8+ because the ABI
provide a minimum guarantee to the programmer / developer
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #34 from Rich Felker ---
> Does musl not support BE? There is nothing about this that is LE-only
> as far as I can see.
For powerpc64, musl supports both BE and LE, and uses "elfv2" ABI for both
(since it was not present as a target
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #33 from Segher Boessenkool ---
(In reply to nsz from comment #31)
> (In reply to Segher Boessenkool from comment #28)
> > [ "ws" needs at least a Power7, btw. ]
>
> powerpc64le-* implies power8 and that's where this came up.
Does m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #32 from Bill Schmidt ---
BTW, we are in close contact with the Clang folks for Power as well, so we're
going to get together with them about constraints consistency and a way forward
to ensure these problems don't recur. I don't wan
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #31 from nsz at gcc dot gnu.org ---
(In reply to Segher Boessenkool from comment #28)
> [ "ws" needs at least a Power7, btw. ]
powerpc64le-* implies power8 and that's where this came up.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #30 from nsz at gcc dot gnu.org ---
i think it is not the end of the world if the asm constraint api
changes in this case: fixing musl is easy because it's not super
important to optimize fmin, fminf, fmax, fmaxf in libc (if it were
im
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #29 from Rich Felker ---
For reference, here are the affected functions in musl (fmax, fmaxf, fmin,
fminf):
https://git.musl-libc.org/cgit/musl/tree/src/math/powerpc64?id=v1.1.24
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #28 from Segher Boessenkool ---
(In reply to A. Wilcox (awilfox) from comment #25)
> GCC typically announces deprecations for publicly-documented interfaces
> being removed versions ahead of time, and I'm surprised that wasn't followe
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #27 from Rich Felker ---
> Have I already mentioned that if any program "in the wild" will use "ws" with
> GCC 10, then of course we can add an alias (to "wa") for it? No program
> should
> use "ws" in inline assembler, ever, but if
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #26 from Segher Boessenkool ---
(In reply to Rich Felker from comment #24)
> > Sure, and I'll do that, *if there are users*, *after they fix their stuff*.
>
> Nothing is broken on our side here. We are using the documented
> function
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
A. Wilcox (awilfox) changed:
What|Removed |Added
CC||awilfox at adelielinux dot org
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #24 from Rich Felker ---
> Sure, and I'll do that, *if there are users*, *after they fix their stuff*.
Nothing is broken on our side here. We are using the documented functionality
from gcc 9 going all the way back to whatever versio
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #23 from Segher Boessenkool ---
(In reply to rsand...@gcc.gnu.org from comment #21)
> > I am saying it is a mistake that GCC ever documented this for public
> > use. Every use of "ws" in inline asm should be "wa".
>
> But it was a m
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #22 from Rich Felker ---
And to be clear, pretty much all gcc versions from 3.4.6 to present, and all
clang/LLVM versions since they fixed some critical bugs (like -ffreestanding
not working, which was a show-stopper), are supported c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #20 from Rich Felker ---
> After both musl and LLVM are fixed, if you then *still* feel you
> need "ws", then we can talk of course. Deal?
No, it's not a deal. Your proposal is *breaking all currently-working versions*
of clang beca
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #21 from rsandifo at gcc dot gnu.org
---
(In reply to Segher Boessenkool from comment #19)
> (In reply to Rich Felker from comment #16)
> > > Using "ws" in inline asm never made sense. It was always the same as
> > > "wa", for all c
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #19 from Segher Boessenkool ---
(In reply to Rich Felker from comment #16)
> > Using "ws" in inline asm never made sense. It was always the same as
> > "wa", for all cases where either could be used in inline asm at all.
>
> It made
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #18 from Rich Felker ---
> So use "wa" instead of "ws" in the two files you use it, and can we get
> on with our lives?
Translation: Introduce a regression on all existing versions of clang because
GCC broke a documented public inter
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #17 from Segher Boessenkool ---
(In reply to Rich Felker from comment #13)
> > That does not look at types. It complains that "x" lives in memory,
> > while the constraint requires a register (a floating point register).
>
> That do
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #16 from Rich Felker ---
> Using "ws" in inline asm never made sense. It was always the same as
> "wa", for all cases where either could be used in inline asm at all.
It made sense insomuch as it was documented and was the most clea
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #15 from Segher Boessenkool ---
(In reply to Jakub Jelinek from comment #12)
> (In reply to Segher Boessenkool from comment #10)
> > No, they are not. The constraints are an implementation detail. And
> > they *have* to be, or we co
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #14 from Rich Felker ---
> So, if "ws" has been documented in the user documentation, perhaps just
> (define_register_constraint "ws" "rs6000_constraints[RS6000_CONSTRAINT_wa]"
> "Compatibility alias to wa")
> could be added? If it
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #13 from Rich Felker ---
> That does not look at types. It complains that "x" lives in memory,
> while the constraint requires a register (a floating point register).
That does not sound accurate. An (in this case lvalue since it's
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #12 from Jakub Jelinek ---
(In reply to Segher Boessenkool from comment #10)
> No, they are not. The constraints are an implementation detail. And
> they *have* to be, or we could never again improve anything.
>
> Unfortunately we
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #11 from Segher Boessenkool ---
(In reply to Rich Felker from comment #9)
> And ok, to be more productive rather than just angry about the regression,
> if you really think the "ws" constraint should be removed, what is the
> proper p
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #10 from Segher Boessenkool ---
(In reply to Rich Felker from comment #8)
> > Then LLVM has more to fix. Constraints never look at types. A register
> > constraint (like "wa") simply says what registers are valid.
>
> This is blate
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #9 from Rich Felker ---
And ok, to be more productive rather than just angry about the regression, if
you really think the "ws" constraint should be removed, what is the proper
preprocessor/configure-time check to determine the right
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #8 from Rich Felker ---
> Then LLVM has more to fix. Constraints never look at types. A register
> constraint (like "wa") simply says what registers are valid.
This is blatently false. For x86:
int foo(int x)
{
__asm__("" : "+
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #7 from Segher Boessenkool ---
Then (In reply to nsz from comment #6)
> (In reply to Segher Boessenkool from comment #5)
> > -- LLVM should support "wa", since that is *the* constraint for VSX
> > registers.
> > -- musl should use the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #6 from nsz at gcc dot gnu.org ---
(In reply to Segher Boessenkool from comment #5)
> -- LLVM should support "wa", since that is *the* constraint for VSX
> registers.
> -- musl should use the "wa" constraint in its inline asm.
> -- If
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #5 from Segher Boessenkool ---
So:
-- LLVM should support "wa", since that is *the* constraint for VSX registers.
-- musl should use the "wa" constraint in its inline asm.
-- If after those two you still want "ws" (for compiling lega
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #4 from Segher Boessenkool ---
Yes, you should use "wa".
Making our constraint (and output modifier) doc more useful is on my list
for GCC 10.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
Rich Felker changed:
What|Removed |Added
CC||bugdal at aerifal dot cx
--- Comment #3 fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #2 from nsz at gcc dot gnu.org ---
note that "ws" is now supported by clang, but "wa" is not.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
--- Comment #1 from nsz at gcc dot gnu.org ---
seems to be broken since r271916
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886
Richard Biener changed:
What|Removed |Added
Target Milestone|--- |10.0
44 matches
Mail list logo