https://gcc.gnu.org/bugzilla/show_bug.cgi?id=35490
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING Last reconfirmed| |2016-01-19 CC| |msebor at gcc dot gnu.org Ever confirmed|0 |1 Known to fail| | --- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> --- I don't have a GCC for Darwin but with trunk configured for powerpc64-linux-gnu the emitted code looks correct. Andrew, can you confirm whether this is still a problem? $ cat a.c && /build/gcc-trunk/gcc/xgcc -B /build/gcc-trunk/gcc -O2 -S -Wall -maltivec -o/dev/stdout a.c #define vector __vector struct data { vector float v; }; extern int bar (int a, struct data b, void *c); int foo (struct data *inp_r3, void *inp_r4) { return bar(10, *inp_r3, ((void *) inp_r4)); } .file "a.c" .machine power4 .section ".toc","aw" .section ".text" .align 2 .p2align 4,,15 .globl foo .section ".opd","aw" .align 3 foo: .quad .L.foo,.TOC.@tocbase,0 .previous .type foo, @function .L.foo: mflr 0 mr 7,4 std 0,16(1) stdu 1,-112(1) lvx 2,0,3 li 3,10 bl bar nop addi 1,1,112 ld 0,16(1) mtlr 0 blr .long 0 .byte 0,0,0,1,128,0,0,0 .size foo,.-.L.foo .ident "GCC: (GNU) 6.0.0 20160119 (experimental)"