Re: [PATCH] cprop_hardreg: Workaround for narrow mode != lowpart targets

2022-01-20 Thread Richard Sandiford via Gcc-patches
Andreas Krebbel via Gcc-patches writes: > On 1/14/22 20:41, Andreas Krebbel via Gcc-patches wrote: >> On 1/14/22 08:37, Richard Biener wrote: >> ... >>> Can the gist of this bug be put into the GCC bugzilla so the rev can >>> refer to it? >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104034 >>

Re: [PATCH] cprop_hardreg: Workaround for narrow mode != lowpart targets

2022-01-14 Thread Andreas Krebbel via Gcc-patches
On 1/14/22 20:41, Andreas Krebbel via Gcc-patches wrote: > On 1/14/22 08:37, Richard Biener wrote: > ... >> Can the gist of this bug be put into the GCC bugzilla so the rev can >> refer to it? > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104034 > >> Can we have a testcase even? > The testcase

Re: [PATCH] cprop_hardreg: Workaround for narrow mode != lowpart targets

2022-01-14 Thread Andrew Pinski via Gcc-patches
On Fri, Jan 14, 2022 at 11:42 AM Andreas Krebbel via Gcc-patches wrote: > > On 1/14/22 08:37, Richard Biener wrote: > ... > > Can the gist of this bug be put into the GCC bugzilla so the rev can > > refer to it? > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104034 > > > Can we have a testcase

Re: [PATCH] cprop_hardreg: Workaround for narrow mode != lowpart targets

2022-01-14 Thread Andreas Krebbel via Gcc-patches
On 1/14/22 08:37, Richard Biener wrote: ... > Can the gist of this bug be put into the GCC bugzilla so the rev can > refer to it? https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104034 > Can we have a testcase even? The testcase from Jakub is in the BZ. However, since it doesn't fail with head I

Re: [PATCH] cprop_hardreg: Workaround for narrow mode != lowpart targets

2022-01-13 Thread Richard Biener via Gcc-patches
On Thu, Jan 13, 2022 at 6:12 PM Andreas Krebbel via Gcc-patches wrote: > > The cprop_hardreg pass is built around the assumption that accessing a > register in a narrower mode is the same as accessing the lowpart of > the register. This unfortunately is not true for vector registers on > IBM Z.

Re: [PATCH] cprop_hardreg: Workaround for narrow mode != lowpart targets

2022-01-13 Thread Andreas Krebbel via Gcc-patches
On 1/13/22 18:11, Andreas Krebbel via Gcc-patches wrote: ... > @@ -5949,7 +5959,7 @@ register if floating point arithmetic is not being > done. As long as the\n\ > floating registers are not in class @code{GENERAL_REGS}, they will not\n\ > be used unless some pattern's constraint asks for

[PATCH] cprop_hardreg: Workaround for narrow mode != lowpart targets

2022-01-13 Thread Andreas Krebbel via Gcc-patches
The cprop_hardreg pass is built around the assumption that accessing a register in a narrower mode is the same as accessing the lowpart of the register. This unfortunately is not true for vector registers on IBM Z. This caused a miscompile of LLVM with GCC 8.5. The problem could not be reproduced