https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113652
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So t-float128 has this line: # Build the emulator without ISA 3.0 hardware support. FP128_CFLAGS_SW = -Wno-type-limits -mvsx -mfloat128 \ ... Which gets added to some of the libgcc object files while compiling: $(fp128_softfp_obj) : INTERNAL_CFLAGS += $(FP128_CFLAGS_SW) $(fp128_ppc_obj) : INTERNAL_CFLAGS += $(FP128_CFLAGS_SW) The problem is CFLAGS gets added also. It seems like passing -mvsx enables some other instructions in GCC's code generation BUT does not enable it for the assembler ...