[Bug testsuite/63175] [4.9/5 regression] FAIL: gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c scan-tree-dump-times slp2" basic block vectorized using SLP" 1
rguenther at suse dot de
gcc-bugzilla@gcc.gnu.org
Mon Mar 2 17:47:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63175
--- Comment #21 from rguenther at suse dot de <rguenther at suse dot de> ---
On March 2, 2015 5:58:28 PM CET, "msebor at gcc dot gnu.org"
<gcc-bugzilla@gcc.gnu.org> wrote:
>https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63175
>
>--- Comment #20 from Martin Sebor <msebor at gcc dot gnu.org> ---
>(In reply to rguenther@suse.de from comment #19)
>
>Please remove the extern from the first test and try again (it's a
>vestige of
>the second test). Here's the assembly emitted by 4.8.3 for the first
>test
>(without the extern):
>
>$ cat u.c && gcc -DT="int" -O2 -ftree-vectorize -maltivec -S u.c && cat
>u.s
>const T a [] = { 1, 2, 3, 4, 5 };
>T b[sizeof a / sizeof *a];
>
>void g (void)
>{
> const T *p = a;
> T *q = b + 1;
>
> *q++ = *p++;
> *q++ = *p++;
> *q++ = *p++;
> *q++ = *p++;
>}
> .file "u.c"
> .section ".toc","aw"
> .section ".text"
> .section ".toc","aw"
>.LC0:
> .quad b
> .section ".text"
> .align 2
> .p2align 4,,15
> .globl g
> .section ".opd","aw"
> .align 3
>g:
> .quad .L.g,.TOC.@tocbase
> .previous
> .type g, @function
>.L.g:
> addis 9,2,.LC1@toc@ha
> addis 10,2,.LC0@toc@ha
> addi 9,9,.LC1@toc@l
> lxvw4x 32,0,9
> ld 9,.LC0@toc@l(10)
> li 10,4
> stxvw4x 32,9,10
But isn't this simply wrong-code?!
> blr
> .long 0
> .byte 0,0,0,0,0,0,0,0
> .size g,.-.L.g
> .comm b,20,4
> .globl a
> .section .rodata
> .align 4
> .type a, @object
> .size a, 20
>a:
> .long 1
> .long 2
> .long 3
> .long 4
> .long 5
> .section .rodata.cst16,"aM",@progbits,16
> .align 4
>.LC1:
> .4byte 1
> .4byte 2
> .4byte 3
> .4byte 4
> .ident "GCC: (GNU) 4.8.3 20140911 (Red Hat 4.8.3-9)"
> .section .note.GNU-stack,"",@progbits
More information about the Gcc-bugs
mailing list