https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70010
--- Comment #5 from Cyril Bur <cyrilbur at gmail dot com> --- Hi Martin, (After forgetting -O2 and wondering why everything changed: conclusion -O2 is important for this) I added -fno-inline (so: -O2 -Wall -Wextra -flto -fno-inline) to my cases and while optimisations may have caused altivec_touch_fn() to be a bit strange: 0000000010000650 <.altivec_touch_fn>: 10000650: 60 00 00 00 nop 10000654: 10 00 04 c4 vxor v0,v0,v0 10000658: 39 22 80 90 addi r9,r2,-32624 1000065c: 7c 00 49 ce stvx v0,0,r9 10000660: 4e 80 00 20 blr It does use Altivec and not VSX. I believe this confirms your statement.