Re: [RFC PATCH 5/7] powerpc/64s: update generic cpu option name and compiler flags
From: "Nicholas Piggin" <npiggin@gmail.com>
Date: 2022-09-21 01:02:06
On Wed Sep 21, 2022 at 8:16 AM AEST, Segher Boessenkool wrote:
Hi! On Tue, Sep 20, 2022 at 12:01:47AM +1000, Nicholas Piggin wrote:quoted
Update the 64s GENERIC_CPU option. POWER4 support has been dropped, so make that clear in the option name.AFAIR the minimum now is POWER4+ (ISA 2.01), not POWER5 (ISA 2.02).
It's POWER5 now, because of commit 471d7ff8b5 ("powerpc/64s: Remove
POWER4 support"), which is misguided about POWER4+ and also introduced
the -mcpu=power5 bug on 970 builds :\
Not sure it's worth adding POWER4+ support back but if someone has a
POWER4+ or adds it to QEMU TCG, I will do the patch.
quoted
-mtune= before power8 is dropped because the minimum gcc version supports power8, and tuning is made consistent between big and little endian.Tuning for p8 on e.g. 970 gives quite bad results. No idea if anyone cares, but this is a serious regression if so.
It's for "generic" kernel so we set low minimum but higher tune, assuming that people would usually have newer, so it was already doing -mtune=power7. We could make a specific 970/G5 entry though, since those still have users.
quoted
Big endian drops -mcpu=power4 in favour of power5. Effectively the minimum compiler version means power5 was always being selected here, so this should not change anything. 970 / G5 code generation does not seem to have been a problem with -mcpu=power5, but it's possible we should go back to power4 to be really safe.Yes, -mcpu=power5 code does *not* run on 970, if you are unlucky enough that the compiler does something smart with popcntb (the sole non-float insn new on p5, not counting hrfid).quoted
+# -mcpu=power5 should generate 970 compatible kernel codeIt doesn't. Even if it did, it would need more explanation!
Okay, sounds like we should go back to power4. Thanks, Nick