On Tue, Oct 29, 2019 at 11:57:40PM +0100, Jakub Jelinek wrote: > On Tue, Oct 29, 2019 at 05:40:11PM -0500, Segher Boessenkool wrote: > > On Tue, Oct 29, 2019 at 06:15:31PM +0100, Jakub Jelinek wrote: > > There already are a lot of different ways to get information about the > > execution environment you're running on; why is this any better? > > There is no question of better or worse, it is simply a part of a standard > that GCC is trying to implement, like we try to implement all of C++20, we > also try to implement all of OpenMP or OpenACC etc.
We now get three levels: "arch", "isa", "extensions". Power has only at most half of such levels: arch is Power, isa is Power, you can say things like AltiVec (aka VMX) and VSX are extensions (that's what the X stands for anyway :-) ). In older versions of the architecture we had (optional) "categories", but that is gone as well. So yes I wonder how we should map reality to these three levels. And I also do wonder how this is better than one level as anything else has :-) > The exact identifiers are implementation defined though, and that is why we > need to think of what is reasonable for each target (at least each target > where OpenMP is used often, powerpc is certainly one of those). Do you know any OpenMP on Power users we can ask for their opinions? Segher