This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/46011] New: 256bit vectorizer failed on double->int


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46011

           Summary: 256bit vectorizer failed on double->int
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: hjl.tools@gmail.com


For gcc.target/i386/vectorize4-avx.c, vect256 branch
generates:

.L2:
    vmovaps    -120(%rsp,%rax), %ymm0
    vcvtps2pd    %xmm0, %ymm1
    vextractf128    $0x1, %ymm0, %xmm0
    vsqrtpd    %ymm1, %ymm1
    vcvttpd2dqy    %ymm1, %xmm1
    vmovdqu    %xmm1, (%rdi,%rax)
    vcvtps2pd    %xmm0, %ymm0
    vsqrtpd    %ymm0, %ymm0
    vcvttpd2dqy    %ymm0, %xmm0
    vmovdqu    %xmm0, 16(%rdi,%rax)
    addq    $32, %rax
    cmpq    $1024, %rax
    jne    .L2

Trunk at revision 165455 generates

.L2:
    vmovaps    -120(%rsp,%rax), %xmm1
    vmovhlps    %xmm1, %xmm0, %xmm0
    vcvtps2pd    %xmm1, %xmm2
    vsqrtpd    %xmm2, %xmm2
    vcvttpd2dqx    %xmm2, %xmm2
    vcvtps2pd    %xmm0, %xmm1
    vsqrtpd    %xmm1, %xmm1
    vcvttpd2dqx    %xmm1, %xmm1
    vpunpcklqdq    %xmm1, %xmm2, %xmm1
    vmovdqu    %xmm1, (%rdi,%rax)
    addq    $16, %rax
    cmpq    $1024, %rax
    jne    .L2


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]