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

Reply via email to