On Wed, Dec 18, 2019 at 7:58 AM Segher Boessenkool <seg...@kernel.crashing.org> wrote: > > On Sun, Dec 15, 2019 at 09:43:20AM -0800, Ian Lance Taylor wrote: > > On Sat, Dec 14, 2019 at 11:25 PM Segher Boessenkool > > <seg...@kernel.crashing.org> wrote: > > > > > > On Sat, Dec 14, 2019 at 10:51:50AM -0800, Ian Lance Taylor via gcc wrote: > > > > I'm seeing compiler crashes building libgcc for powerpc64le-linux-gnu, > > > > cross-compiling from x86_64-pc-linux-gnu. I'm at SVN revision 279830. > > > > I'm seeing the following. Is anybody else seeing this crash? Thanks. > > > > > > No, and that makes me wonder what is going on. The error is simple enough > > > of course, as you note in a later message; but why do we not see it on > > > every other build? > > > > I think it's because clang treats a left shift by a negative number as > > undefined behavior but GCC does not. So GCC is consistently producing > > some number, and clang is producing different numbers. > > > > I should note that I don't really understand what purpose that > > constant is serving anyhow. > > It's the (old, changed months ago!) register number for CR7. This code > creates the bitfield that says which CR fields to save or restore.
That much I got, but the bitfield doesn't seem to actually be used for anything. It seems to be created and matched but not used. Unless I missed something. The constant doesn't seem to add anything we don't already know from the register number. > Anyway, should be fixed now. If you can confirm, please do :-) Confirmed. Thanks. Ian