Steve Munroe was tuning an application on PowerPC, and needed to set the -msave-toc-indirect option for only one function, and it wasn't available via the #praga/attribute target options. This patch adds support for the additional options that don't involve an ABI change to the list of options that can be set via the #pragma GCC target or attribute((target(...))) support. I have bootstrapped the compiler on a power7 (big endian) and power8 (little endian) with no regressions. Is this patch ok to install? I would like to backport this patch to the current branches (5.x, 4.9, 4.8, maybe 4.7). Is this ok? [gcc] 2015-04-23 Michael Meissner PR target/65849 * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that save to independent variables use the Save attribute. This will allow these options to be modified with the #pragma/attribute target support. (-mallow-movmisalign): Likewise. (-mallow-df-permute): Likewise. (-msched-groups): Likewise. (-malways-hint): Likewise. (-malign-branch-targets): Likewise. (-mvectorize-builtins): Likewise. (-msave-toc-indirect): Likewise. * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that can be set via the #pragma/attribute target support. (rs6000_opt_vars): Likewise. (rs6000_inner_target_options): If VSX was set, also set -mno-avoid-indexed-addresses. [gcc/testsuite] 2015-04-23 Michael Meissner PR target/65849 * gcc.target/powerpc/pr65849-1.c: New test to verify being able to set new options. * gcc.target/powerpc/pr65849-2.c: Likewise. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797