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: > > 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. > > -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. > > 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). > > > +# -mcpu=power5 should generate 970 compatible kernel code > > It doesn't. Even if it did, it would need more explanation! Okay, sounds like we should go back to power4. Thanks, Nick