https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113652
--- Comment #20 from Segher Boessenkool <segher at gcc dot gnu.org> --- (In reply to Michael Meissner from comment #19) > When I wrote the VSX support many years ago, I intended that -mvsx enable > all of ISA 2.06 But that is not how we do things, and it can never work predictably and reliably. If you want ISA 2.07 you have to use -mcpu=power8, or any other CPU that implements that ISA level. Using other options is counterintuitive, confusing, and causes problems directly even. > The reason is the kernel needs to > be built without floating point support. The kernel and many other things. That's what -msoft-float, -mno-altivec, and -mno-vsx are for. Those options mean use no FPRs, no VRs, or no VSRs. Nothing more, nothing less. > If you say -mvsx, it should include the standard power7 integer instructions > (-mpopcntd), power6 server instructions (i.e. -mhard-dfp, -mcmpb, -mrecip, > -mpowerpc-gfxopt, and -mpowerpc-gpopt), etc. No. -mvsx means the compiler can use VSX things, is not prevented from it by -mno-vsx. There can be other reasons it can not use VSX, like, the targeted CPU does not support VSX. The option says absolutely nothing about any other instructions. > VSX support assumes it can use lfiwax and lfiwzx. Any CPU that supports VSX is ISA 2.07 at least, yes.