The -mno-vrsave switch as well as the old -mvrsave=no is ignored on 64bit target.
Testcase is an empty file. Results with powerpc64-unknown-linux-gnu-gcc -o a.s -c b.c -maltivec -mno-vrsave -S -fverbose-asm -m64 into: # rs6000/powerpc options: -msdata=none .section ".toc","aw" .section ".text" # GNU C version 4.1.2 (Gentoo 4.1.2) (powerpc64-unknown-linux-gnu) # compiled by GNU C version 4.1.1 (Gentoo 4.1.1-r3). # GGC heuristics: --param ggc-min-expand=44 --param ggc-min-heapsize=27672 # options passed: -D__unix__ -D__gnu_linux__ -D__linux__ -Dunix -D__unix # -Dlinux -D__linux -Asystem=linux -Asystem=unix -Asystem=posix # -msecure-plt -maltivec -mno-vrsave -m64 -auxbase-strip -fverbose-asm # options enabled: -falign-loops -fargument-alias -fbranch-count-reg # -fcommon -fearly-inlining -feliminate-unused-debug-types -ffunction-cse # -fgcse-lm -fident -finline-functions-called-once -fivopts # -fkeep-static-consts -fleading-underscore -floop-optimize2 -fmath-errno # -fpeephole -freg-struct-return -fsched-interblock -fsched-spec # -fsched-stalled-insns-dep -fshow-column -fsplit-ivs-in-unroller # -ftrapping-math -ftree-loop-im -ftree-loop-ivcanon -ftree-loop-optimize # -ftree-vect-loop-version -fverbose-asm -fzero-initialized-in-bss -m64 # -maix-struct-return -maltivec -mbig -mbig-endian -mfp-in-toc # -mfused-madd -mhard-float -mnew-mnemonics -mpowerpc -mpowerpc-gfxopt # -mpowerpc64 -msched-prolog -msecure-plt -mupdate -mvrsave # Compiler executable checksum: 9f98a4867284f64c17c8db6425da4d5f .ident "GCC: (GNU) 4.1.2 (Gentoo 4.1.2)" Somehow -mvrsave comes into "option enabled" -m32 does not pass this. -- Summary: -mno-vrsave ignored on ppc64 Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc at breakpoint dot cc GCC build triplet: powerpc64-linux-gnu GCC host triplet: powerpc64-linux-gnu GCC target triplet: powerpc64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31635