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

           Summary: Missing vzeroupper
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: hjl.to...@gmail.com
                CC: ubiz...@gmail.com


Created attachment 22430
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22430
A testcase

/export/build/gnu/gcc/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc/build-x86_64-linux/gcc/ -O3 -funroll-loops -ffast-math
-mavx -Wno-multichar -S bad.c

.L531:
        vmovapd %ymm0, (%rsp)
        vzeroupper
        call    Get_Token
        movl    Token_Id(%rip), %eax
        vmovapd (%rsp), %ymm0
        cmpl    $1, %eax
        je      .L139
        cmpl    $2, %eax
        je      .L541

L171:
        vmovsd  (%rax), %xmm9
        vsubsd  32(%rsp,%rcx,8), %xmm9, %xmm8
        leal    1(%rdx), %ecx
        cmpl    %ecx, %esi
        vmovsd  %xmm8, (%rax)
        jg      .L543
        jmp     .L531
        .p2align 4,,10
        .p2align 3
.L541:
        leaq    80(%rsp), %rsi 
        movq    %r12, %rdi 
        call    Parse_Num_Term <<<< missing vzeroupper
        movl    0(%r13), %esi 
        movl    80(%rsp), %eax 
        vmovapd (%rsp), %ymm0
        cmpl    %eax, %esi

Reply via email to