On Fri, May 26, 2023 at 03:07:59PM +0100, Jonathan Wakely wrote: > > These points are obvious. > > NOT obvious is but that -m<feature> -march=<lowerISA> does not clear any > > <feature> not supported in <lowerISA>, i.e the last one does NOT win here. > > The last -march option selects the base set of instructions. The -mISA > options modify that base.
And for -m32 it is also the last option that wins, but as with many other cases just last one from certain set of options. In the -m32 case, last one of -m{32,64,x32,m16} option wins. In the -march= case, the last -march= option wins. In say the PIC/PIE options case, last one of -f{,no-}{pic,PIC,pie,PIE} option wins. The -mISA options are processed left to right after setting base from -march=. Jakub