[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2020-04-01 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886 Segher Boessenkool changed: What|Removed |Added Resolution|--- |FIXED Status|NEW

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2020-04-01 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886 --- Comment #41 from Segher Boessenkool --- Fixed.

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2020-04-01 Thread jakub at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2020-04-01 Thread segher at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2020-04-01 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886 Richard Biener changed: What|Removed |Added Priority|P3 |P1 --- Comment #38 from Richard Biener

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2020-03-16 Thread segher at gcc dot gnu.org
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.

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2020-03-16 Thread segher at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-08 Thread dje at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-08 Thread bugdal at aerifal dot cx
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-08 Thread segher at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-08 Thread wschmidt at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-08 Thread nsz at gcc dot gnu.org
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.

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-08 Thread nsz at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread bugdal at aerifal dot cx
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread segher at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread bugdal at aerifal dot cx
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread segher at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread awilfox at adelielinux dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886 A. Wilcox (awilfox) changed: What|Removed |Added CC||awilfox at adelielinux dot org ---

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread bugdal at aerifal dot cx
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread segher at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread bugdal at aerifal dot cx
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread bugdal at aerifal dot cx
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread rsandifo at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread segher at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread bugdal at aerifal dot cx
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread segher at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread bugdal at aerifal dot cx
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread segher at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread bugdal at aerifal dot cx
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread bugdal at aerifal dot cx
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread jakub at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread segher at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread segher at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread bugdal at aerifal dot cx
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-07 Thread bugdal at aerifal dot cx
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__("" : "+

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-06 Thread segher at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-06 Thread nsz at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-05 Thread segher at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-05 Thread segher at gcc dot gnu.org
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.

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-11-05 Thread bugdal at aerifal dot cx
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-10-23 Thread nsz at gcc dot gnu.org
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.

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-10-23 Thread nsz at gcc dot gnu.org
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

[Bug target/91886] [10 regression] powerpc64 impossible constraint in asm

2019-09-25 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91886 Richard Biener changed: What|Removed |Added Target Milestone|--- |10.0