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)"