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 target/69596] New: vzeroupper is generated in interrupt handler


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69596

            Bug ID: 69596
           Summary: vzeroupper is generated in interrupt handler
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hjl.tools at gmail dot com
                CC: vaalfreja at gmail dot com
  Target Milestone: ---

[hjl@gnu-6 gcc]$ cat x.i
void
__attribute__((interrupt))
fn (void *frame)
{
  asm ("#"
       :
       :
       : "xmm3");
}
[hjl@gnu-6 gcc]$ ./xgcc -B./ -S -O2 -mno-avx512f -mno-iamcu -mavx  x.i
[hjl@gnu-6 gcc]$ cat x.s
        .file   "x.i"
        .text
        .p2align 4,,15
        .globl  fn
        .type   fn, @function
fn:
.LFB0:
        .cfi_startproc
        vmovups %ymm3, -32(%rsp)
        .cfi_offset 20, -40
#APP
# 5 "x.i" 1
        #
# 0 "" 2
#NO_APP
        vzeroupper  <<<<<<<<<<<<< This isn't necessary
        vmovups -32(%rsp), %ymm3
        iretq
        .cfi_endproc
.LFE0:
        .size   fn, .-fn
        .ident  "GCC: (GNU) 6.0.0 20160131 (experimental)"
        .section        .note.GNU-stack,"",@progbits
[hjl@gnu-6 gcc]$

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