https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105923
Bug 105923 depends on bug 106010, which changed state.
Bug 106010 Summary: Miss vectorization for complex type copy.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106010
What|Removed |Added
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105923
--- Comment #7 from H.J. Lu ---
(In reply to Hongtao.liu from comment #6)
> > .L3:
> > subl%r13d, %r12d
> > cmpl$1, %r12d
> > je .L6
> > salq$4, %r13
> > vmovapd a(%r13), %xmm0
> >
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105923
--- Comment #6 from Hongtao.liu ---
> .L3:
> subl%r13d, %r12d
> cmpl$1, %r12d
> je .L6
> salq$4, %r13
> vmovapd a(%r13), %xmm0
> call_ZGVbN2v_foo
> vmovapd %xmm0,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105923
--- Comment #5 from Hongtao.liu ---
after a rough hack to allow complex type in both omp-simd-clone and
vectorizer(get_related_vectype_for_scalar_type), testcase in PR could be
compiled to
.L4:
vmovapd a(%rbx), %ymm0
addq
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105923
--- Comment #4 from Hongtao.liu ---
Hmm, it's in i386.cc
23455/* Set CLONEI->vecsize_mangle, CLONEI->mask_mode, CLONEI->vecsize_int,
23456 CLONEI->vecsize_float and if CLONEI->simdlen is 0, also
23457 CLONEI->simdlen. Return 0 if SIMD
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105923
--- Comment #3 from Hongtao.liu ---
An alternative is taking vector complex as a 2*N length vector(just like
vectorizer did).
But __attribute__ ((__simd__ ("notinbranch"))) need to be extent for that.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105923
Richard Biener changed:
What|Removed |Added
Ever confirmed|0 |1
Status|UNCONFIRMED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105923
Andrew Pinski changed:
What|Removed |Added
Component|target |c
Severity|normal