[Bug debug/98776] DW_AT_low_pc is inconsistent with function entry address, when enabling -fpatchable-function-entry

2021-03-31 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98776 Richard Earnshaw changed: What|Removed |Added CC||i at maskray dot me --- Comment #1

[Bug target/99836] aarch64: -fpatchable-function-entry=N[,0] should place .cfi_startproc before NOPs

2021-03-31 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99836 Richard Earnshaw changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug target/99773] ARM v8.1-m MVE interaction with -mfloat-abi not clear

2021-03-26 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99773 --- Comment #4 from Richard Earnshaw --- (In reply to Christophe Lyon from comment #3) > I tried changing TARGET_HARD_FLOAT_SUB in arm.h to: > #define TARGET_HARD_FLOAT_SUB (arm_float_abi != ARM_FLOAT_ABI_SOFT\ >

[Bug target/99773] ARM v8.1-m MVE interaction with -mfloat-abi not clear

2021-03-25 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99773 --- Comment #1 from Richard Earnshaw --- -march=armv8.1-m.main+mve -mfloat-abi=hard should use the VFP registers for passing any FP arguments so the build attribute for Tag_ABI_VFP_args should be set to show that. It's true that soft-float

[Bug target/99724] [11 Regression] CE in in extract_insn, at recog.c:2770

2021-03-23 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99724 Richard Earnshaw changed: What|Removed |Added Last reconfirmed||2021-03-23

[Bug target/99551] aarch64: csel is used for cold scalar computation which affects performance

2021-03-11 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99551 --- Comment #1 from Richard Earnshaw --- probably one of the if-conversion passes.

[Bug target/99271] [10 regression] Wrong code for Arm-v8-m.main CMSE calling __gnu_cmse_nonsecure_call

2021-03-01 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99271 Richard Earnshaw changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED

[Bug target/99143] Bad section alignment on AArch64

2021-03-01 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99143 Richard Earnshaw changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|---

[Bug target/99271] [10 regression] Wrong code for Arm-v8-m.main CMSE calling __gnu_cmse_nonsecure_call

2021-02-25 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99271 Richard Earnshaw changed: What|Removed |Added Summary|[10/11 regression] Wrong|[10 regression] Wrong code

[Bug target/99271] [10/11 regression] Wrong code for Arm-v8-m.main CMSE calling __gnu_cmse_nonsecure_call

2021-02-25 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
||2021-02-25 Status|UNCONFIRMED |NEW Priority|P3 |P1 Assignee|unassigned at gcc dot gnu.org |rearnsha at gcc dot gnu.org

[Bug target/99271] New: [10/11 regression] Wrong code for Arm-v8-m.main CMSE calling __gnu_cmse_nonsecure_call

2021-02-25 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
Keywords: wrong-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: rearnsha at gcc dot gnu.org Target Milestone: --- Target: arm The code fragment: typedef void (*f)(int) __attribute__

[Bug target/82150] Produces a branch prefetch which causes a hang

2021-01-29 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82150 Richard Earnshaw changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|---

[Bug target/82150] Produces a branch prefetch which causes a hang

2021-01-29 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82150 Richard Earnshaw changed: What|Removed |Added Last reconfirmed||2021-01-29 Ever confirmed|0

[Bug target/82150] Produces a branch prefetch which causes a hang

2021-01-28 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82150 Richard Earnshaw changed: What|Removed |Added Resolution|--- |INVALID

[Bug target/98681] [8/9/10/11 Regression] aarch64: Invalid ubfiz instruction rejected by assembler

2021-01-22 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98681 --- Comment #5 from Richard Earnshaw --- Patch looks generally sensible, but I think all the INTVALs in that expression should be converted to UINTVAL. The mask, in particular, is unsigned and it is weird that one moment we're using a unsigned

[Bug target/98759] arm cortex-r5 single precisions flotaing point generation

2021-01-20 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98759 Richard Earnshaw changed: What|Removed |Added Resolution|--- |INVALID

[Bug target/94993] aarch64 incompatible with -mgeneral-regs-only

2020-11-25 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94993 Richard Earnshaw changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug target/95908] [AArch64] wrong code with ILP32 and -fwrapv

2020-11-25 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95908 --- Comment #1 from Richard Earnshaw --- I'm sure the code we generate doesn't match your expectations. What's more, I don't think it's really practical to meet them. To do so would require emitting a mask operation after practically every

[Bug target/97534] [10/11 Regression] ICE in decompose, at rtl.h:2280 (arm-linux-gnueabihf)

2020-11-24 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97534 Richard Earnshaw changed: What|Removed |Added Resolution|--- |FIXED Status|NEW

[Bug target/97534] [10/11 Regression] ICE in decompose, at rtl.h:2280 (arm-linux-gnueabihf)

2020-11-12 Thread rearnsha at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97534 --- Comment #5 from Richard Earnshaw --- No, I don't think it's related to that, in fact, I think this is just a latent bug that's been in the code for a long time. At one point we have a 32-bit signed integer containing INT_MIN, which is

[Bug target/96882] Wrong assembly code generated with arm-none-eabi-gcc -flto -mfloat-abi=hard options

2020-09-15 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96882 --- Comment #8 from Richard Earnshaw --- (In reply to emilie.feral from comment #7) > Hello, > Any news on the subject? > Would you advise in the meantime to discard the LTO (with the -fno-lto > option) on the compilation unit containing the

[Bug target/96939] LTO vs. different arm arch options

2020-09-04 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96939 --- Comment #6 from Richard Earnshaw --- (In reply to Jakub Jelinek from comment #4) > Doesn't seem to be related to me, in the other PR everything is compiled > with one set of options and no target attribute is involved either. No, that's a

[Bug target/96939] LTO vs. different arm arch options

2020-09-04 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96939 --- Comment #5 from Richard Earnshaw --- I batted my head against this when reworking the command line options stuff a couple of years back, but the documentation on how the different hooks should interact (especially for LTO and streaming) is,

[Bug target/96882] Wrong assembly code generated with arm-none-eabi-gcc -flto -mfloat-abi=hard options

2020-09-02 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96882 --- Comment #6 from Richard Earnshaw --- Yes, the problem is related to returning values in memory and the ABI variants we have. If we have hardware floating-point we generally use registers to return values; if we don't, then we have to return

[Bug target/96882] Wrong assembly code generated with arm-none-eabi-gcc -flto -mfloat-abi=hard options

2020-09-01 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96882 Richard Earnshaw changed: What|Removed |Added Target||arm --- Comment #4 from Richard

[Bug c/96882] Wrong assembly code generated with arm-none-eabi-gcc -flto -mfloat-abi=hard options

2020-09-01 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96882 Richard Earnshaw changed: What|Removed |Added Status|WAITING |NEW --- Comment #3 from Richard

[Bug c/96882] Wrong assembly code generated with arm-none-eabi-gcc -flto -mfloat-abi=hard options

2020-09-01 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96882 Richard Earnshaw changed: What|Removed |Added Ever confirmed|0 |1 Status|UNCONFIRMED

[Bug target/96768] -mpure-code produces switch tables for thumb-1

2020-08-28 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96768 --- Comment #3 from Richard Earnshaw --- Note that the switch table is in the .rodata section, so that's not a problem.

[Bug target/96751] overwriting libstdc++ for a default target during building libraries for armv5te/mthumb-interwork

2020-08-25 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96751 Richard Earnshaw changed: What|Removed |Added Last reconfirmed||2020-08-25

[Bug target/96313] [AArch64] vqmovun* return types should be unsigned

2020-07-27 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96313 Richard Earnshaw changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed|

[Bug target/95676] [armhf] g++ mis-compiles code at -O1 or above

2020-06-15 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95676 Richard Earnshaw changed: What|Removed |Added Status|UNCONFIRMED |WAITING Ever confirmed|0

[Bug target/95651] GCC compilation error on AArch64: error: expected expression: AARCH64_INIT_MEMTAG_BUILTINS_DECL

2020-06-12 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95651 Richard Earnshaw changed: What|Removed |Added Status|UNCONFIRMED |WAITING Last reconfirmed|

[Bug target/94995] gcc/config/aarch64/cortex-a57-fma-steering.c: 5 * member function could be const ?

2020-05-26 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94995 Richard Earnshaw changed: What|Removed |Added Priority|P3 |P5 Target|

[Bug bootstrap/95122] Cross-compile arm32 toolchain with hard float, but Error in gcc final

2020-05-14 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95122 --- Comment #4 from Richard Earnshaw --- Don't use -mhard-float or -msoft-float. Instead, you should be using -mfloat-abi=[hard|softfp|soft] as appropriate. Also, rather than encoding this into various sets of flags you should configure the

[Bug target/94743] IRQ handler doesn't save scratch VFP registers

2020-05-04 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94743 --- Comment #14 from Richard Earnshaw --- (In reply to Christophe Lyon from comment #13) > But, in general (non-interrupt) code, what is supposed to happen if you > compile for a d32 VFP and run on d16 one ? (and the code uses the extra >

[Bug target/94743] IRQ handler doesn't save scratch VFP registers

2020-05-04 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94743 --- Comment #12 from Richard Earnshaw --- (In reply to Christophe Lyon from comment #11) > (In reply to Richard Earnshaw from comment #10) > > (In reply to Christophe Lyon from comment #9) > > > > My initial thoughts are along the lines of... >

[Bug tree-optimization/93674] [8/9 Regression] GCC eliminates conditions it should not, when strict-enums is on

2020-05-04 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93674 Richard Earnshaw changed: What|Removed |Added Resolution|--- |FIXED Status|REOPENED

[Bug target/94743] IRQ handler doesn't save scratch VFP registers

2020-05-04 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94743 --- Comment #10 from Richard Earnshaw --- (In reply to Christophe Lyon from comment #9) > > My initial thoughts are along the lines of... > > Only try to save FP registers that this function directly clobbers. > What's the point of saving these

[Bug target/94743] IRQ handler doesn't save scratch VFP registers

2020-04-28 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94743 --- Comment #7 from Richard Earnshaw --- well, __aeabi_memcpy is required not to clobber the FP state. Sadly, GCC does not know about it...

[Bug target/94743] IRQ handler doesn't save scratch VFP registers

2020-04-28 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94743 --- Comment #5 from Richard Earnshaw --- This is made more complex due to the fact that the existence of the top 16 D registers depends on the hardware you have, so saving them might require a d32 variant of the ISA, but we can't (quickly) tell

[Bug testsuite/94763] UNRESOLVED scan assembler tests on arm-none-eabi

2020-04-27 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94763 Richard Earnshaw changed: What|Removed |Added Ever confirmed|0 |1 Last reconfirmed|

[Bug target/94748] aarch64: many unnecessary bti j emitted

2020-04-27 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94748 --- Comment #1 from Richard Earnshaw --- A BTI that's not immediately after a label looks wrong. Either it should be removed entirely, or it should be merged with the preceding BTI.

[Bug target/94697] aarch64: bti j at function start instead of bti c

2020-04-22 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94697 Richard Earnshaw changed: What|Removed |Added Last reconfirmed||2020-04-22 Ever confirmed|0

[Bug libfortran/94694] [10 Regression][libgfortran] libgfortran does not compile on bare-metal aarch64-none-elf (newlib)

2020-04-21 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94694 --- Comment #5 from Richard Earnshaw --- (In reply to Richard Biener from comment #2) > Note in another bug it was said that libgfortran requires a C99 runtime, > when that's not available you should disable gfortran build. GCC (or >

[Bug tree-optimization/93674] [8/9 Regression] GCC eliminates conditions it should not, when strict-enums is on

2020-04-20 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93674 Richard Earnshaw changed: What|Removed |Added Resolution|FIXED |--- Summary|[8/9/10

[Bug debug/94502] [aarch64] Missing LR register location in FDE

2020-04-09 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94502 Richard Earnshaw changed: What|Removed |Added Resolution|FIXED |INVALID --- Comment #7 from Richard

[Bug target/94220] libgcc FTB for ARM Thumb when optimizing for size

2020-03-26 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94220 Richard Earnshaw changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug target/94220] libgcc FTB for ARM Thumb when optimizing for size

2020-03-23 Thread rearnsha at gcc dot gnu.org
|when optimizing for size|when optimizing for size Assignee|unassigned at gcc dot gnu.org |rearnsha at gcc dot gnu.org --- Comment #1 from Richard Earnshaw --- Mine

[Bug target/94236] -mcmodel=large does not work on aarch64

2020-03-23 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94236 --- Comment #8 from Richard Earnshaw --- (In reply to Andrew Pinski from comment #6) > Note for Threos OS, please don't reuse the same target triplet as elf or > linux; use your own triplet. Also adding long calls is not hard and such. The

[Bug middle-end/94172] [arm-none-eabi] ICE in expand_debug_locations, at cfgexpand.c:5403

2020-03-16 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94172 --- Comment #4 from Richard Earnshaw --- (In reply to Jakub Jelinek from comment #3) > Can't reproduce on the trunk, neither on x86_64-linux with -Os -g3 > -fshort-enums, nor on arm-linux-gnueabi with -Os -g3 -fshort-enums > -mcpu=cortex-m0

[Bug target/91913] [8/9 Regression] ICE in extract_constrain_insn, at recog.c:2211

2020-03-12 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91913 Richard Earnshaw changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED

[Bug target/90311] [9 Regression] wrong code with -O and __builtin_add_overflow() and compare

2020-03-05 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90311 Richard Earnshaw changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug target/90311] [9 Regression] wrong code with -O and __builtin_add_overflow() and compare

2020-03-05 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90311 --- Comment #11 from Richard Earnshaw --- Looks like this was fixed with r10-1963. Testing that as a backport.

[Bug rtl-optimization/90311] [9 Regression] wrong code with -O and __builtin_add_overflow() and compare

2020-03-05 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90311 --- Comment #10 from Richard Earnshaw --- Initial commit in the series was r10-3970 but there were certainly follow-ups after that.

[Bug rtl-optimization/90311] [9 Regression] wrong code with -O and __builtin_add_overflow() and compare

2020-03-05 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90311 Richard Earnshaw changed: What|Removed |Added Summary|[9/10 Regression] wrong |[9 Regression] wrong code

[Bug rtl-optimization/90378] [9/10 regression] -Os -flto miscompiles 454.calculix after r266385 on Arm

2020-02-18 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90378 --- Comment #6 from Richard Earnshaw --- (In reply to Richard Earnshaw from comment #5) > (In reply to Vladimir Makarov from comment #4) > > > Miscompilation occurs in same configuration: arm-linux-gnueabihf at -O2 > > > -flto. > > > > > > > I

[Bug rtl-optimization/90378] [9/10 regression] -Os -flto miscompiles 454.calculix after r266385 on Arm

2020-02-18 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90378 --- Comment #5 from Richard Earnshaw --- (In reply to Vladimir Makarov from comment #4) > > Miscompilation occurs in same configuration: arm-linux-gnueabihf at -O2 > > -flto. > > > > I don't see how these two patches *directly* resulted in

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

2020-02-12 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93565 --- Comment #14 from Richard Earnshaw --- With the simpler test case we see Breakpoint 1, try_combine (i3=0x764d33c0, i2=0x764d3380, i1=0x0, i0=0x0, new_direct_jump_p=0x7fffd850, last_combined_insn=0x764d33c0) at

[Bug c++/93674] GCC eliminates conditions it should not, when strict-enums is on

2020-02-11 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93674 --- Comment #5 from Richard Earnshaw --- I'm seeing it on AArch64 for master. Adding an enum value with an initializer of -1 causes the problem to go away. So it looks like the 'unsigned' conversion is happening too soon.

[Bug target/91913] [8/9/10 Regression] ICE in extract_constrain_insn, at recog.c:2211

2020-02-10 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91913 --- Comment #4 from Richard Earnshaw --- Main bug fixed with https://gcc.gnu.org/ml/gcc-cvs/2020-02/msg02312.html Awaiting commit of testcase.

[Bug bootstrap/93548] arm-tune.md and arm-tables.opt should be updated with move-if-changed

2020-02-03 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93548 --- Comment #11 from Richard Earnshaw --- I don't think so, since the write back will update the timestamp. It would only rerun it once per make anyway. Also, the timestamp approach is really designed for files in the build area, not those

[Bug bootstrap/93548] arm-tune.md and arm-tables.opt should be updated with move-if-changed

2020-02-03 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93548 Richard Earnshaw changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug bootstrap/93548] arm-tune.md and arm-tables.opt should be updated with move-if-changed

2020-02-03 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93548 Richard Earnshaw changed: What|Removed |Added Status|REOPENED|NEW --- Comment #7 from Richard

[Bug bootstrap/93548] arm-tune.md and arm-tables.opt should be updated with move-if-changed

2020-02-03 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93548 Richard Earnshaw changed: What|Removed |Added Status|RESOLVED|REOPENED Last reconfirmed|

[Bug rtl-optimization/93235] [AArch64] ICE with __fp16 in a struct

2020-01-23 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93235 Richard Earnshaw changed: What|Removed |Added Component|target |rtl-optimization --- Comment #4 from

[Bug target/93341] [10 Regression] ICE in aarch64_do_track_speculation, at config/aarch64/aarch64-speculation.cc:221

2020-01-21 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93341 --- Comment #5 from Richard Earnshaw --- (In reply to Andrew Pinski from comment #3) > /* We should be able to reverse all conditions. */ > gcc_assert (inv_cond_code != UNKNOWN); > > Obvious this code is broken

[Bug target/92071] [10 regression][ARM] ice in gen_movsi, at config/arm/arm.md:5378

2020-01-17 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92071 --- Comment #7 from Richard Earnshaw --- (In reply to Richard Biener from comment #6) > Agreed. Did anybody bisect what caused this? It only came to light when we added a check in the backend. So I'm not sure a bisect will be that helpful,

[Bug target/93188] [9 regression] a-profile multilib mismatch for rmprofile toolchain when architecture includes +mp or +sec

2020-01-10 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93188 Richard Earnshaw changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug target/93188] [9 regression] a-profile multilib mismatch for rmprofile toolchain when architecture includes +mp or +sec

2020-01-10 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93188 --- Comment #4 from Richard Earnshaw --- Author: rearnsha Date: Fri Jan 10 16:50:15 2020 New Revision: 280123 URL: https://gcc.gnu.org/viewcvs?rev=280123=gcc=rev Log: backport: arm: Fix rmprofile multilibs when architecture includes +mp or +sec

[Bug target/93188] [9 regression] a-profile multilib mismatch for rmprofile toolchain when architecture includes +mp or +sec

2020-01-08 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93188 Richard Earnshaw changed: What|Removed |Added Summary|[9/10-regression] a-profile |[9 regression] a-profile

[Bug target/93188] [9/10-regression] a-profile multilib mismatch for rmprofile toolchain when architecture includes +mp or +sec

2020-01-08 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93188 --- Comment #2 from Richard Earnshaw --- Author: rearnsha Date: Wed Jan 8 09:29:02 2020 New Revision: 279993 URL: https://gcc.gnu.org/viewcvs?rev=279993=gcc=rev Log: arm: Fix rmprofile multilibs when architecture includes +mp or +sec (PR

[Bug target/93188] [9/10-regression] a-profile multilib mismatch for rmprofile toolchain when architecture includes +mp or +sec

2020-01-07 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93188 Richard Earnshaw changed: What|Removed |Added Target||arm Status|UNCONFIRMED

[Bug target/93005] Redundant NEON loads/stores from stack are not eliminated

2020-01-07 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93005 --- Comment #8 from Richard Earnshaw --- (In reply to Joel Holdsworth from comment #7) > > Did you test it with big-endian? > > Good question. It seems to do the right thing in both cases: > https://godbolt.org/z/7rDzAm foo2(long*,

[Bug target/93005] Redundant NEON loads/stores from stack are not eliminated

2020-01-06 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93005 --- Comment #6 from Richard Earnshaw --- (In reply to Joel Holdsworth from comment #5) > I found that if I make modified versions of the intrinsics in arm_neon.h > that are designed more along the lines of the x86_64 SSE intrinsics defined >

[Bug target/93119] [ICE] The traditional TLS support of aarch64-ilp32 target may be not perfect while enable fPIC

2020-01-03 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93119 --- Comment #3 from Richard Earnshaw --- (In reply to Andrew Pinski from comment #2) > Simplier patch, change PTR to P instead. Mine then. > > That is: > diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md > index

[Bug fortran/36117] Use MPFR for bessel function (optimization, rejects valid F2008)

2020-01-01 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36117 --- Comment #6 from Richard Earnshaw --- Comment #5 was really for PR36177

[Bug ada/70786] Missing "not" breaks Ada.Text_IO.Get_Immediate(File, Item, Available)

2019-12-23 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70786 --- Comment #9 from Richard Earnshaw --- comment 8 should be for pr70876.

[Bug rtl-optimization/37377] [4.4 Regression] Bootstrap failure compiling libgcc

2019-12-23 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=37377 --- Comment #17 from Richard Earnshaw --- last patch was for pr37577.

[Bug target/92071] [10 regression][ARM] ice in gen_movsi, at config/arm/arm.md:5378

2019-11-21 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92071 --- Comment #5 from Richard Earnshaw --- (In reply to Jakub Jelinek from comment #4) > I'd say this should be fixed in the arm backend, instead of asserts it > should check whether operands are aligned and if not, perform unaligned load > or

[Bug libfortran/78314] [aarch64] ieee_support_halting does not report unsupported fpu traps correctly

2019-11-15 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78314 --- Comment #28 from Richard Earnshaw --- The last release of gcc-7 has now been made, so it's end-of-life and no further fixes for it will be made.

[Bug target/92462] [arm32] -ftree-pre makes a variable to be wrongly hoisted out

2019-11-12 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92462 Richard Earnshaw changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

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

2019-11-05 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92342 --- Comment #9 from Richard Earnshaw --- (In reply to Segher Boessenkool from comment #7) > I think the IF_THEN_ELSE version should be canonical, and it should be > formed in simplify_rtx, not at random spots in combine. Why? The and/ior

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

2019-11-04 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92342 --- Comment #6 from Richard Earnshaw --- (In reply to Richard Earnshaw from comment #5) > So if the AND-based idiom is now preferred, shouldn't the if-then-else > variant be transformed into it? Similarly for IOR, when we get > > (IOR (NEG ())

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

2019-11-04 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92342 --- Comment #5 from Richard Earnshaw --- So if the AND-based idiom is now preferred, shouldn't the if-then-else variant be transformed into it? Similarly for IOR, when we get (IOR (NEG ()) (reg)) from (IF_THEN_ELSE () (reg) (const_int

[Bug middle-end/92308] Gimple passes could do a better job of forming address CSEs

2019-11-04 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92308 --- Comment #7 from Richard Earnshaw --- Reload also had a hook TARGET_LEGITIMIZE_RELOAD_ADDRESS as well. But it had the same problems - lack of context leading to guesswork and therefore too local or too general fix-ups.

[Bug middle-end/92308] Gimple passes could do a better job of forming address CSEs

2019-11-04 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92308 --- Comment #6 from Richard Earnshaw --- (In reply to rguent...@suse.de from comment #5) > On Mon, 4 Nov 2019, rearnsha at gcc dot gnu.org wrote: > I suspect TARGET_LEGITIMIZE_ADDRESS is only applied during > reload/LRA, correct?

[Bug middle-end/92308] Gimple passes could do a better job of forming address CSEs

2019-11-04 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92308 --- Comment #4 from Richard Earnshaw --- So taking the example I posted in the initial report and compiling with trunk for arm -mcpu=cortex-m4 -mthumb -Os, we get: ldr r3, .L2 movsr2, #1 str r2, [r3, #2060]

[Bug middle-end/92308] Gimple passes could do a better job of forming address CSEs

2019-11-04 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92308 --- Comment #2 from Richard Earnshaw --- Very few micro-architectures would benefit from auto-inc style addressing in a sequence like this. With modern super-scaler systems you want to use offset addressing where possible (from a common base).

[Bug rtl-optimization/92281] Inconsistent canonicalization of (minus (minus A B) C)

2019-11-01 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92281 --- Comment #5 from Richard Earnshaw --- (In reply to Segher Boessenkool from comment #4) > (In reply to Richard Earnshaw from comment #2) > > Yes, but since > > (A - B) - C = A - B - C = A - C - B = (A - C) - B > > we can clearly swap the

[Bug rtl-optimization/92294] alias attribute generates incorrect code

2019-10-31 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92294 --- Comment #1 from Richard Earnshaw --- Things go wrong in the forward-prop 1 pass.

[Bug middle-end/92308] New: Gimple passes could do a better job of forming address CSEs

2019-10-31 Thread rearnsha at gcc dot gnu.org
Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: rearnsha at gcc dot gnu.org Target Milestone: --- Consider this testcase which was mentioned in https://gcc.gnu.org/ml/gcc-help/2019-10/msg00122.html. #define BB_ADDRESS 0x43fe1800

[Bug rtl-optimization/92281] Inconsistent canonicalization of (minus (minus A B) C)

2019-10-31 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92281 --- Comment #3 from Richard Earnshaw --- As for 'special' regs and their ordering, I'm not sure. I would suggest that if we have a commutative operation with two registers and one of the registers is marked as a pointer, then it should appear

[Bug rtl-optimization/92281] Inconsistent canonicalization of (minus (minus A B) C)

2019-10-31 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92281 --- Comment #2 from Richard Earnshaw --- (In reply to Segher Boessenkool from comment #1) > (In reply to Richard Earnshaw from comment #0) > > > Failed to match this instruction: > > (set (reg:SI 125 [+4 ]) > > (minus:SI (minus:SI (reg:SI

[Bug tree-optimization/92282] New: gimple for (a + ~b) is harder to optimize in RTL when types are unsigned

2019-10-30 Thread rearnsha at gcc dot gnu.org
-optimization Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: rearnsha at gcc dot gnu.org Target Milestone: --- Given: t f1(t a, t b) { return a + ~b; } if t is of type int64_t

[Bug rtl-optimization/92281] New: Inconsistent canonicalization of (minus (minus A B) C)

2019-10-30 Thread rearnsha at gcc dot gnu.org
: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: rearnsha at gcc dot gnu.org CC: segher at kernel dot crashing.org Target Milestone: --- Here are two combine attempts from a simple testcase: arm

[Bug target/77882] [Aarch64] Add 'naked' function attribute

2019-10-28 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77882 --- Comment #5 from Richard Earnshaw --- (In reply to Elad Lahav from comment #4) > Created attachment 47119 [details] > Proposed implementation of naked functions for aarch64 > > The change is quite simple (see the proposed patch). I hope it

[Bug rtl-optimization/87871] [9/10 Regression] testcases fail after r265398 on arm

2019-10-25 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87871 --- Comment #63 from Richard Earnshaw --- We need to reach closure on this, but there's nothing really concrete to make such a decision. Which of the tests originally reported are still failing?

[Bug target/88656] [7/8/9 Regression] lr clobbered by thumb prologue before __builtin_return_address(0) reads from it

2019-10-25 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88656 Bug 88656 depends on bug 88167, which changed state. Bug 88167 Summary: [7/8/9 regression] [ARM] Function __builtin_return_address returns invalid address https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88167 What|Removed

[Bug target/88167] [7/8/9 regression] [ARM] Function __builtin_return_address returns invalid address

2019-10-25 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88167 Richard Earnshaw changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|---

[Bug target/88656] [7/8/9 Regression] lr clobbered by thumb prologue before __builtin_return_address(0) reads from it

2019-10-25 Thread rearnsha at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88656 Richard Earnshaw changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

<    1   2   3   4   5   6   7   8   9   10   >