GCC to gnerate code for On Wed, 15 Aug 2018 at 12:55, Jeffrey Walton wrote: > > I'm catching a SIGILL on POWER7 ppc64-le machine. I compiled the > source with -mcpu=power8 so I could enable some builtins I may need. > Use of the builtins is guarded at runtime. (This is the classic distro > model, where most source code is compiled for a minimum machine but You haven't compiled for a minimum machine, you've compiled for POWER8 when your minimum is POWER7. > higher ISAs are guarded at runtime). > > GCC converted some C code into POWER8 code. The SIGILL is happening in > the function prologue due to use of mtfprwz. Apparently mtfprwz is a > ISA 2.07B/POWER8 instruction. > > My question is, how do I tell GCC to use a different ISA than I am > using? I need a solution for compielrs found in the field, and that > includes GCC 4.8: You told GCC to generate code for POWER8. If you don't want to it generate POWER8 instructions, don't tell it to use that ISA. Maybe you want to use the target attribute: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html