[Bug inline-asm/87733] local register variable not honored with earlyclobber

2020-03-14 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87733 --- Comment #31 from Segher Boessenkool --- An asm clobber just means "may be an output", and no operand will be assigned a register mentioned in a clobber. There is no magic.

[Bug inline-asm/87733] local register variable not honored with earlyclobber

2020-03-14 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87733 --- Comment #29 from Segher Boessenkool --- (In reply to Rich Felker from comment #27) > Also just realized: > > > Rich, forcing "n" to be in "$r10" seems to do the trick? Is that a > > reasonable > solution for you? > > It doesn't even

[Bug inline-asm/87733] local register variable not honored with earlyclobber

2020-03-14 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87733 --- Comment #23 from Segher Boessenkool --- It is harder for us to track it in an older bug with many older patches for it, including stuff that needed fixups later. And, the "correct" older bug for it would not be this one, anyway! Before RA

[Bug inline-asm/87733] local register variable not honored with earlyclobber

2020-03-14 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87733 --- Comment #20 from Segher Boessenkool --- Confirmed with various 7 and 8 (I don't have a mips 6 around). Don't reopen this bug, it is not necessarily related. Instead, please open a new PR. Thanks!

[Bug inline-asm/87733] local register variable not honored with earlyclobber

2020-03-14 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87733 --- Comment #15 from Segher Boessenkool --- (In reply to Rich Felker from comment #12) > > You can work around it on older GCC by simply not using a register var > > for more than one asm operand, I think? > > Nope. Making a syscall inherently

[Bug target/94176] rs6000/test: Fix selector in fold-vec-mule-misc.c

2020-03-14 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94176 Segher Boessenkool changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug target/94176] New: rs6000/test: Fix selector in fold-vec-mule-misc.c

2020-03-14 Thread segher at gcc dot gnu.org
Component: target Assignee: unassigned at gcc dot gnu.org Reporter: segher at gcc dot gnu.org Target Milestone: --- (This PR is just to test BZ commit integration).

[Bug inline-asm/87733] local register variable not honored with earlyclobber

2020-03-14 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87733 --- Comment #11 from Segher Boessenkool --- (In reply to Rich Felker from comment #10) > This is a rather huge bug to have been fixed silently. Could someone who > knows the commit that fixed it and information on what versions are affected >

[Bug rtl-optimization/94148] The DF framework uses bb->aux, which is for passes only

2020-03-13 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94148 --- Comment #5 from Segher Boessenkool --- commit 5c7e6d4bdf879b437b43037e10453275acabf521 Author: Segher Boessenkool Date: Thu Mar 12 07:12:50 2020 + df: Don't abuse bb->aux (PR94148, PR94042) The df dataflow solvers use the

[Bug rtl-optimization/94148] The DF framework uses bb->aux, which is for passes only

2020-03-13 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94148 --- Comment #4 from Segher Boessenkool --- Fixed on trunk so far.

[Bug target/94042] [10 Regression] Bootstrap fails on ppc-linux-gnu

2020-03-13 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94042 Segher Boessenkool changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug target/94042] [10 Regression] Bootstrap fails on ppc-linux-gnu

2020-03-13 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94042 Segher Boessenkool changed: What|Removed |Added Target|powerpc64-suse-linux|powerpc*

[Bug rtl-optimization/94148] The DF framework uses bb->aux, which is for passes only

2020-03-13 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94148 --- Comment #3 from Segher Boessenkool --- Fixed on trunk so far.

[Bug target/94135] PPC: subfic instead of neg used for rotate right

2020-03-12 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94135 --- Comment #3 from Segher Boessenkool --- Both subfic and neg are 1-2 if run on the integer units. neg can run on more units, but it is always 2 cycles then! (And the conditions where you *can* have 1 cycle are not very often satisfied,

[Bug target/94145] Longcalls mis-optimize loading the function address

2020-03-12 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94145 --- Comment #10 from Segher Boessenkool --- The resolved address can only change before the first call to it, so we could even automatically insert code checking that, perhaps. My other concern is not slowing down the code if LD_BIND_NOW is in

[Bug rtl-optimization/94148] The DF framework uses bb->aux, which is for passes only

2020-03-12 Thread segher at gcc dot gnu.org
|unassigned at gcc dot gnu.org |segher at gcc dot gnu.org --- Comment #2 from Segher Boessenkool --- Yes, and it assumes it stays cleared for any new blocks, and some more subtleties. I have a patch.

[Bug target/94145] Longcalls mis-optimize loading the function address

2020-03-11 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94145 --- Comment #3 from Segher Boessenkool --- C11 6.6/9 says it *always* is constant, even.

[Bug target/94145] Longcalls mis-optimize loading the function address

2020-03-11 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94145 --- Comment #2 from Segher Boessenkool --- How could the function address ever not be constant? Hoisting it to somewhere where it is (dynamically) more expensive is a bad idea, of course.

[Bug target/94135] PPC: subfic instead of neg used for rotate right

2020-03-11 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94135 Segher Boessenkool changed: What|Removed |Added Ever confirmed|0 |1 Last reconfirmed|

[Bug target/94135] PPC: subfic instead of neg used for rotate right

2020-03-11 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94135 Segher Boessenkool changed: What|Removed |Added CC||segher at gcc dot gnu.org

[Bug target/94123] [10 regression] r10-1734, SVN r273240, causes gcc.target/powerpc/pr87507.c to fail

2020-03-11 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94123 Segher Boessenkool changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug rtl-optimization/94148] New: The DF framework uses bb->aux, which is for passes only

2020-03-11 Thread segher at gcc dot gnu.org
mal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: segher at gcc dot gnu.org Target Milestone: --- df-core.c:df_worklist_dataflow_doublequeue uses bb->aux, clobbering it, while that field is documented as /* Auxiliar

[Bug rtl-optimization/94148] The DF framework uses bb->aux, which is for passes only

2020-03-11 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94148 Segher Boessenkool changed: What|Removed |Added Blocks||94042 Target Milestone|---

[Bug target/94042] [10 Regression] Bootstrap fails on ppc-linux-gnu

2020-03-10 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94042 --- Comment #46 from Segher Boessenkool --- Thank you very much for that new testcase! I wish I had it before :-) Yesterday I found the problem. It is in separate shrink-wrapping. The fix is probably simple; hang on :-)

[Bug target/94042] [10 Regression] Bootstrap fails on ppc-linux-gnu

2020-03-09 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94042 --- Comment #42 from Segher Boessenkool --- Okay, I see your dumps are 64-bit as well. But mine are very different, huh. Still, it crashes in pretty much the same way.

[Bug target/94042] [10 Regression] Bootstrap fails on ppc-linux-gnu

2020-03-09 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94042 --- Comment #38 from Segher Boessenkool --- Then, how did you do that?

[Bug target/94042] [10 Regression] Bootstrap fails on ppc-linux-gnu

2020-03-09 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94042 --- Comment #37 from Segher Boessenkool --- Oh wait. I am dumb I guess? You did those dumps with a stage1 compiler?

[Bug target/94042] [10 Regression] Bootstrap fails on ppc-linux-gnu

2020-03-09 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94042 --- Comment #36 from Segher Boessenkool --- > > I did that (with /usr/bin/gcc etc. though, won't work at all otherwise), > > but that builds stage2 as 64-bit? > > Hm, that's possible. But the stage2 should not crash right? It doesn't work, of

[Bug target/94042] [10 Regression] Bootstrap fails on ppc-linux-gnu

2020-03-09 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94042 --- Comment #34 from Segher Boessenkool --- (In reply to Vladimir Makarov from comment #29) > Sorry for all the troubles with my latest patch and thank you for fair > criticism. I've decided to revert the patch as soon as git starts working. >

[Bug target/94042] [10 Regression] Bootstrap fails on ppc-linux-gnu

2020-03-09 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94042 --- Comment #33 from Segher Boessenkool --- (In reply to Martin Liška from comment #31) > (In reply to Segher Boessenkool from comment #30) > > I cannot reproduce the problem, btw (I cannot build a 32-bit hosted > > toolchain). > > Martin, you

[Bug target/94042] [10 Regression] Bootstrap fails on ppc-linux-gnu

2020-03-09 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94042 --- Comment #32 from Segher Boessenkool --- Sigh. No, this is *not* a target bug (or we certainly do not know it is), please stop marking it that. It seems to be a bug in shrink-wrapping, but the dump does not show enough information (only

[Bug target/94042] [10 Regression] Bootstrap fails on ppc-linux-gnu

2020-03-09 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94042 --- Comment #30 from Segher Boessenkool --- I cannot reproduce the problem, btw (I cannot build a 32-bit hosted toolchain). Martin, you have a working recipe?

[Bug target/94042] [10 Regression] Bootstrap fails on ppc-linux-gnu

2020-03-06 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94042 --- Comment #34 from Segher Boessenkool --- Yeah, 16 (or really 12-ish, not all are available) I call "tiny" :-) It is very surprising (and not pleasantly so) that this overrides REG_ALLOC_ORDER. We allocate GPR0 last (of the volatile GPRs),

[Bug target/94042] [10 Regression] Bootstrap fails on ppc-linux-gnu

2020-03-06 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94042 --- Comment #32 from Segher Boessenkool --- So it sounds like this helps for targets with tiny register sets?

[Bug target/94042] [10 Regression] Bootstrap fails on ppc-linux-gnu

2020-03-06 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94042 --- Comment #30 from Segher Boessenkool --- r10-6919 isn't good for Power, btw. Why would it *ever* be a good idea?

[Bug target/94042] [10 Regression] Bootstrap fails on ppc-linux-gnu

2020-03-06 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94042 Segher Boessenkool changed: What|Removed |Added Assignee|marxin at gcc dot gnu.org |segher at gcc dot gnu.org

[Bug target/91638] powerpc -mlong-double-NN (documentation) issues

2020-03-05 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91638 --- Comment #5 from Segher Boessenkool --- Yeah, not sure. A user can just do `-mlong-double-128`, and will get whichever 128-bit format is the default. That is the "old" way, when we only had the ibm128 format, and it will be the new way too,

[Bug target/49854] Clean up SPE/e500 option handling

2020-03-04 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49854 Segher Boessenkool changed: What|Removed |Added CC||segher at gcc dot gnu.org Target

[Bug target/84302] ICE: Segmentation fault (in extract_insn) on SPE target

2020-03-04 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84302 Segher Boessenkool changed: What|Removed |Added CC||segher at gcc dot gnu.org Target

[Bug target/85170] ICE: in final_scan_insn_1, at final.c:3139 (error: could not split insn)

2020-03-04 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85170 Segher Boessenkool changed: What|Removed |Added CC||segher at gcc dot gnu.org Target

[Bug target/87083] ICE in extract_insn, at recog.c:2305 (error: unrecognizable insn)

2020-03-04 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87083 Segher Boessenkool changed: What|Removed |Added Target Milestone|--- |8.5

[Bug target/37759] powerpc option -mabi=no-spe still generates SPE instructions

2020-03-04 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37759 Segher Boessenkool changed: What|Removed |Added CC||segher at gcc dot gnu.org Target

[Bug target/71012] ICE: in expand_expr_real_2, at expr.c:9348 when compiling stress-ng

2020-03-04 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71012 Segher Boessenkool changed: What|Removed |Added CC||segher at gcc dot gnu.org Target

[Bug target/81628] Backport r250637 and r250638 to the powerpcspe* target

2020-03-04 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81628 Segher Boessenkool changed: What|Removed |Added CC||segher at gcc dot gnu.org Target

[Bug target/85121] Assembler messages: Error: operand out of range (264 is not between 0 and 248)

2020-03-04 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85121 Segher Boessenkool changed: What|Removed |Added CC||segher at gcc dot gnu.org Target

[Bug target/86133] powerpc (-mcpu=8548) internal compiler error for double variables

2020-03-04 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86133 Segher Boessenkool changed: What|Removed |Added Target Milestone|--- |8.5

[Bug target/86772] [meta-bug] tracking port status for CVE-2017-5753

2020-03-04 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86772 Bug 86772 depends on bug 86801, which changed state. Bug 86801 Summary: Powerpcspe port (may) need updating for CVE-2017-5753 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86801 What|Removed |Added

[Bug target/86801] Powerpcspe port (may) need updating for CVE-2017-5753

2020-03-04 Thread segher at gcc dot gnu.org
||segher at gcc dot gnu.org Resolution|--- |WONTFIX --- Comment #1 from Segher Boessenkool --- GCC 9 does not support powerpcspe.

[Bug target/80700] [8 Regression] ICE: Bus error (on SPE target)

2020-03-04 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80700 Segher Boessenkool changed: What|Removed |Added Known to work||9.0 Summary|[8/9/10

[Bug target/81288] [8/9/10 Regression] ICE on 32-bit BE powerpcspe w/ -misel -O2 (-O3, -Ofast, -Os)

2020-03-04 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81288 --- Comment #10 from Segher Boessenkool --- Works in GCC 9, as in, the target does not exist any more in GCC 9.

[Bug testsuite/91799] [10 regression] r273245 breaks test case gcc.target/powerpc/pr88233.c

2020-03-02 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91799 Segher Boessenkool changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|FIXED

[Bug testsuite/91799] [10 regression] r273245 breaks test case gcc.target/powerpc/pr88233.c

2020-03-01 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91799 --- Comment #7 from Segher Boessenkool --- I hadn't fully tested it yet.

[Bug inline-asm/93981] No EH information generated for asm statements

2020-03-01 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93981 --- Comment #7 from Segher Boessenkool --- (In reply to jwjagersma from comment #5) > (In reply to Segher Boessenkool from comment #4) > > Pretending any asm can throw would be a pretty serious code degradation. > > > > Any asm that is not

[Bug inline-asm/93981] No EH information generated for asm statements

2020-02-29 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93981 --- Comment #4 from Segher Boessenkool --- Pretending any asm can throw would be a pretty serious code degradation. Any asm that is not volatile cannot throw (and be correct code). But most volatile asm in the wild can never throw, either.

[Bug rtl-optimization/93974] [8/9/10 Regression] ICE in decompose_normal_address, at rtlanal.c:6403 on powerpc64le-linux-gnu since r10-6762

2020-02-29 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93974 Segher Boessenkool changed: What|Removed |Added Component|target |rtl-optimization --- Comment #5

[Bug inline-asm/93981] No EH information generated for asm statements

2020-02-29 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93981 Segher Boessenkool changed: What|Removed |Added CC||segher at gcc dot gnu.org

[Bug testsuite/91797] [10 regression] r273240 breaks test case gcc.target/powerpc/pr68805.c

2020-02-28 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91797 --- Comment #6 from Segher Boessenkool --- I don't think I marked this as P1, fwiw, I hardly ever prioritise bugs, and I would never make a test tweak a P1.

[Bug testsuite/91797] [10 regression] r273240 breaks test case gcc.target/powerpc/pr68805.c

2020-02-28 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91797 --- Comment #5 from Segher Boessenkool --- This and PR88233 were lost somewhere behind the sofa ;-)

[Bug testsuite/91797] [10 regression] r273240 breaks test case gcc.target/powerpc/pr68805.c

2020-02-28 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91797 --- Comment #4 from Segher Boessenkool --- commit 6cad71cf330623d4a01cb1bb77d4398b1674c776 Author: Segher Boessenkool Date: Wed Jul 10 21:58:08 2019 + fix pr68805.c diff --git a/gcc/testsuite/gcc.target/powerpc/pr68805.c

[Bug testsuite/91799] [10 regression] r273245 breaks test case gcc.target/powerpc/pr88233.c

2020-02-28 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91799 --- Comment #4 from Segher Boessenkool --- Apparently I missed committing the above. Will do later, when I am awake again.

[Bug testsuite/91799] [10 regression] r273245 breaks test case gcc.target/powerpc/pr88233.c

2020-02-28 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91799 --- Comment #3 from Segher Boessenkool --- commit 9b46c7543834c1a2004321dbf487fce29e015aae Author: Segher Boessenkool Date: Wed Jul 10 21:58:36 2019 + fix pr88233.c diff --git a/gcc/testsuite/gcc.target/powerpc/pr88233.c

[Bug target/87560] ICE in curr_insn_transform, at lra-constraints.c:3892

2020-02-28 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87560 --- Comment #5 from Segher Boessenkool --- This code is unmodified since 2016, and we didn't change the flag handling afair.

[Bug rtl-optimization/92656] The zero_extend insn can't be eliminated in the combine pass

2020-02-28 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92656 --- Comment #6 from Segher Boessenkool --- The is no simple solution, yeah. It may be possible to have a simple change that results in better code on average, but that will be marginal :-/

[Bug rtl-optimization/92656] The zero_extend insn can't be eliminated in the combine pass

2020-02-27 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92656 --- Comment #4 from Segher Boessenkool --- The whole reg_stat thing cannot ever reliably track known bits. We need some other mechanism to do this, something that *is* reliable, and does not give different results if you try combinations in a

[Bug rtl-optimization/92342] [10 Regression] a small missed transformation into x?b:0

2020-02-27 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92342 --- Comment #12 from Segher Boessenkool --- Gimple can help writing silly expressions like this in a more canonical form (whatever we decide to use for that) at least, yeah. But you can not do RTL's job in gimple ;-)

[Bug target/93012] PPC: inefficient 64-bit constant generation (upper = lower)

2020-02-26 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93012 Segher Boessenkool changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug target/93932] PowerPC vec_extract with variable element number has code regressions for V2DI/V2DF vectors

2020-02-25 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93932 --- Comment #2 from Segher Boessenkool --- So the issue is that input_operand allows too much? Other patterns that could use such a fix are float2, floatuns2, movsd_store, movsd_load, *vsx_le_permute_, vsx_set_v1ti, vsx_extract__var,

[Bug other/93168] Error messages are full of control code garbage

2020-02-19 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93168 --- Comment #7 from Segher Boessenkool --- (In reply to David Malcolm from comment #6) > Segher: did the above patch fix it for your terminal? I haven't found time to test it on all those systems yet, no.

[Bug rtl-optimization/93565] [9/10 regression] Combine duplicates instructions

2020-02-14 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565 --- Comment #22 from Segher Boessenkool --- T0T2T3T4 alpha 6049096 100.020% 100.018% 100.001% arc 4019384 100.000% 99.989% 99.989% arm 14177962 99.999% 99.999%

[Bug target/93583] [10 Regression] bootstrap failure on powerpc64le-linux-gnu

2020-02-14 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93583 --- Comment #4 from Segher Boessenkool --- The line where things crash is rtx temp = gen_reg_rtx (GET_MODE (valreg)); but presumably valreg is just 0 here?

[Bug rtl-optimization/93565] [9/10 regression] Combine duplicates instructions

2020-02-13 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565 --- Comment #21 from Segher Boessenkool --- (In reply to Andrew Pinski from comment #20) > (In reply to Segher Boessenkool from comment #18) > > Created attachment 47841 [details] > > Patch to treat sign_extend as is_just_move > > Do you think

[Bug rtl-optimization/93565] [9/10 regression] Combine duplicates instructions

2020-02-13 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565 --- Comment #19 from Segher Boessenkool --- With that above patch, I get (T0 is original, T2 is with patch, these are file sizes of a Linux build, mostly defconfig): T0T2 alpha 6049096 100.020% arc

[Bug rtl-optimization/93565] [9/10 regression] Combine duplicates instructions

2020-02-13 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565 --- Comment #18 from Segher Boessenkool --- Created attachment 47841 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47841=edit Patch to treat sign_extend as is_just_move

[Bug rtl-optimization/93565] [9/10 regression] Combine duplicates instructions

2020-02-12 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565 --- Comment #17 from Segher Boessenkool --- That above commit is just a spec special, it doesn't solve anything else, imnsho.

[Bug rtl-optimization/93565] [9/10 regression] Combine duplicates instructions

2020-02-12 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565 --- Comment #16 from Segher Boessenkool --- It is not the same cost. It reduces the path length.

[Bug tree-optimization/93697] New: pr93661.c does not warn on (32-bit) powerpc-linux

2020-02-11 Thread segher at gcc dot gnu.org
Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: segher at gcc dot gnu.org Target Milestone: --- The new testcase pr93661.c does not warn. int f () { unsigned x = 0x; __builtin_memset (1+(char *) , 0, -1); /* { dg-warning "maximum o

[Bug rtl-optimization/93565] [9/10 regression] Combine duplicates instructions

2020-02-11 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565 --- Comment #13 from Segher Boessenkool --- nonzero_bits is not reliable. We also cannot really do what you propose here, all of this is done for *every* combination. We currently generate (set (reg/v:SI 96 [ a ]) (and:SI (reg:SI 104)

[Bug rtl-optimization/93565] [9/10 regression] Combine duplicates instructions

2020-02-11 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565 --- Comment #11 from Segher Boessenkool --- (The original problem I have an idea for -- don't generate a parallel of two SETs with equal SET_SRC -- but that doesn't handle the new case).

[Bug rtl-optimization/93565] [9/10 regression] Combine duplicates instructions

2020-02-11 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565 --- Comment #10 from Segher Boessenkool --- One of the first things combine tries is Trying 7 -> 8: 7: r96:SI=r104:SI&0xe REG_DEAD r104:SI 8: r99:DI=sign_extend(r96:SI) ... Successfully matched this instruction: (set (reg/v:SI 96

[Bug rtl-optimization/66552] Missed optimization when shift amount is result of signed modulus

2020-02-10 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66552 --- Comment #12 from Segher Boessenkool --- Sure, but what makes shift amount special here? This works just fine in any other expression as well. That is, for unsigned n; for negative numbers modulo works differently: it returns 0 or negative,

[Bug rtl-optimization/66552] Missed optimization when shift amount is result of signed modulus

2020-02-10 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66552 --- Comment #10 from Segher Boessenkool --- What makes shift amount special at all, for those gimple simplifications?

[Bug middle-end/71509] Bitfield causes load hit store with larger store than load

2020-02-10 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71509 --- Comment #12 from Segher Boessenkool --- But it could do just stw r4,0(r3) (on LE; and with a rotate first, on BE).

[Bug target/92518] [10 regression] ppc rounding tests fail after r278207

2020-02-08 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92518 --- Comment #8 from Segher Boessenkool --- I confirm this is caused by r278207.

[Bug target/92518] [10 regression] ppc rounding tests fail after r278207

2020-02-08 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92518 --- Comment #7 from Segher Boessenkool --- Ah, -fdump-ipa-all-all . So it seems like ppc-round.c.072i.icf is what is wrong; it says Equals called for: round_float_uint/3:round_float_int/1 with result: true Equals called for:

[Bug target/92518] [10 regression] ppc rounding tests fail after r278207

2020-02-08 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92518 --- Comment #6 from Segher Boessenkool --- It is still okay in ppc-round.c.048t.local-fnsummary2 but it is wrong in ppc-round.c.088t.fixup_cfg3 (the pass immediately after it, at -O2).

[Bug target/92518] [10 regression] ppc rounding tests fail after r278207

2020-02-08 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92518 --- Comment #5 from Segher Boessenkool --- Actually, this is simply wrong. === ;; Function round_double_uint (round_double_uint, funcdef_no=5, decl_uid=2879, cgraph_uid=3, symbol_order=2) round_double_uint (double a) { int _4; double _5;

[Bug rtl-optimization/93565] Combine duplicates count trailing zero instructions

2020-02-06 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565 --- Comment #7 from Segher Boessenkool --- What makes that move redundant? I don't see it.

[Bug rtl-optimization/93565] Combine duplicates count trailing zero instructions

2020-02-06 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565 --- Comment #5 from Segher Boessenkool --- IOW, we need hard numbers, not guesstimates :-)

[Bug rtl-optimization/93565] Combine duplicates count trailing zero instructions

2020-02-06 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565 --- Comment #4 from Segher Boessenkool --- Why would that be unlikely? It lengthens the lifetime of that pseudo, potentially significantly.

[Bug middle-end/93512] Introduce rotate_truncation_mask

2020-02-06 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93512 --- Comment #4 from Segher Boessenkool --- I said (or I meant, at least) that as far as I see and know, all rotate instructions on all machines do this truncation. It is of course possible for targets to write it in RTL that only works for a

[Bug target/91638] powerpc -mlong-double-NN (documentation) issues

2020-02-06 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91638 --- Comment #2 from Segher Boessenkool --- That isn't documentation.

[Bug target/87213] ICE in final_scan_insn_1, at final.c:3070

2020-02-05 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87213 Segher Boessenkool changed: What|Removed |Added Resolution|INVALID |WORKSFORME

[Bug target/87213] ICE in final_scan_insn_1, at final.c:3070

2020-02-04 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87213 --- Comment #2 from Segher Boessenkool --- I don't know how I reproduced this before, but I cannot any more.

[Bug rtl-optimization/93565] Combine duplicates count trailing zero instructions

2020-02-04 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565 --- Comment #2 from Segher Boessenkool --- Of course it first tried to do Failed to match this instruction: (parallel [ (set (reg:DI 101 [ _9 ]) (ctz:DI (reg/v:DI 98 [ x ]))) (set (reg:DI 100) (ctz:DI

[Bug rtl-optimization/93565] Combine duplicates count trailing zero instructions

2020-02-04 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565 Segher Boessenkool changed: What|Removed |Added CC||segher at gcc dot gnu.org

[Bug middle-end/93505] [8/9 Regression] wrong code or ICE with __builtin_bswap64() and rotation at -Og

2020-02-03 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93505 --- Comment #18 from Segher Boessenkool --- PR93512 is marked as enhancement, but if we don't fix this it is a regression.

[Bug middle-end/93509] Stack protector should offer trap-only handling

2020-01-31 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93509 Segher Boessenkool changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug middle-end/93505] [8/9/10 Regression] wrong code or ICE with __builtin_bswap64() and rotation at -Og

2020-01-30 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93505 --- Comment #13 from Segher Boessenkool --- (In reply to Jakub Jelinek from comment #11) > and so I'd say even if we just don't fix expand_binop, this shows an > optimization opportunity for the rs6000 backend > if the rotlw instruction only

[Bug middle-end/93505] [8/9/10 Regression] wrong code or ICE with __builtin_bswap64() and rotation at -Og

2020-01-30 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93505 --- Comment #12 from Segher Boessenkool --- (In reply to Jakub Jelinek from comment #10) > Created attachment 47740 [details] > gcc10-pr93505.patch > > Untested combiner fix. IMHO even when we fix expand_binop we want it > anyway, because we

[Bug libgomp/91938] libgomp (and libitm) DSOs are incorrectly built with initial-exec tls-model

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

<    6   7   8   9   10   11   12   13   14   15   >