Segher: > > From the GCC manual: > > -mmfcrf p4 2.01 > -mpopcntb p5 2.02 > -mfprnd p5+ 2.04 ("info gcc" says 2.03, that's wrong? But the > ISA > says this is 2.02 even? Now what!) > -mcmpb p6 2.05 > -mpopcntd p7 2.06 > > (and there are more, in fact).
<snip> > > It would be better if you disallowed this option combination? Don't > allow an options that says ISA X insns are allowed, but ISA Y insns > are > not, with Y < X. In this case X is 2.06 and Y is 2.02 or 2.03 or > 2.04. My fix was very specific to the builtin and the command line argument as pointed out in the bug report. Sounds like you are implying we should take a much more general approach to checking the command line args against the ISA level. Such a test would need to go somewhere else not in the builtin expansion call. We may want a routine that just does these checks which can then be called from the appropriate place. Let me go look at the GCC manual and see about what all needs testing. Carl