| ; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 6 |
| ; RUN: llc < %s -mtriple x86_64-w64-windows-gnu -exception-model=dwarf -stop-after=prolog-epilog | FileCheck %s --check-prefix=PEI |
| |
| define void @_Z1fv() { |
| ; PEI-LABEL: name: _Z1fv |
| ; PEI: bb.0.entry: |
| ; PEI-NEXT: liveins: $xmm15, $xmm10 |
| ; PEI-NEXT: {{ $}} |
| ; PEI-NEXT: $rsp = frame-setup SUB64ri32 $rsp, 40, implicit-def dead $eflags |
| ; PEI-NEXT: frame-setup MOVAPSmr $rsp, 1, $noreg, 16, $noreg, killed $xmm15 :: (store (s128) into %fixed-stack.1) |
| ; PEI-NEXT: frame-setup MOVAPSmr $rsp, 1, $noreg, 0, $noreg, killed $xmm10 :: (store (s128) into %fixed-stack.0) |
| ; PEI-NEXT: frame-setup CFI_INSTRUCTION def_cfa_offset 48 |
| ; PEI-NEXT: CFI_INSTRUCTION offset $xmm10, -48 |
| ; PEI-NEXT: CFI_INSTRUCTION offset $xmm15, -32 |
| ; PEI-NEXT: INLINEASM &"", sideeffect attdialect, clobber, implicit-def dead early-clobber $xmm10, clobber, implicit-def dead early-clobber $xmm15, clobber, implicit-def dead early-clobber $df, clobber, implicit-def early-clobber $fpsw, clobber, implicit-def dead early-clobber $eflags |
| ; PEI-NEXT: $xmm10 = frame-destroy MOVAPSrm $rsp, 1, $noreg, 0, $noreg :: (load (s128) from %fixed-stack.0) |
| ; PEI-NEXT: $xmm15 = frame-destroy MOVAPSrm $rsp, 1, $noreg, 16, $noreg :: (load (s128) from %fixed-stack.1) |
| ; PEI-NEXT: $rsp = frame-destroy ADD64ri32 $rsp, 40, implicit-def dead $eflags |
| ; PEI-NEXT: RET 0 |
| entry: |
| tail call void asm sideeffect "", "~{xmm10},~{xmm15},~{dirflag},~{fpsr},~{flags}"() |
| ret void |
| } |