[ARM] Split large truncating MVE stores
[llvm-complete.git] / test / CodeGen / MIR / X86 / early-clobber-register-flag.mir
blob3829489e2a9a2488a52a532491b972d6a60acf3e
1 # RUN: llc -march=x86-64 -run-pass none -o - %s | FileCheck %s
2 # This test ensures that the MIR parser parses the 'early-clobber' register
3 # flags correctly.
5 --- |
7   declare void @foo(i32)
9   define void @test(i32 %a, i32 %b) #0 {
10   entry:
11     %c = add i32 %a, %b
12     call void asm sideeffect "nop", "~{ax},~{di}"()
13     call void @foo(i32 %c)
14     ret void
15   }
17   attributes #0 = { optsize }
19 ...
20 ---
21 name:            test
22 tracksRegLiveness: true
23 liveins:
24   - { reg: '$edi' }
25   - { reg: '$esi' }
26 frameInfo:
27   stackSize:     8
28   adjustsStack:  true
29   hasCalls:      true
30 body: |
31   bb.0.entry:
32     liveins: $edi, $esi
34     frame-setup PUSH64r undef $rax, implicit-def $rsp, implicit $rsp
35     CFI_INSTRUCTION def_cfa_offset 16
36     $ecx = COPY $edi
37     $ecx = ADD32rr killed $ecx, killed $esi, implicit-def dead $eflags
38   ; CHECK: INLINEASM &nop, 1, 12, implicit-def dead early-clobber $ax, 12, implicit-def dead early-clobber $di
39     INLINEASM &nop, 1, 12, implicit-def dead early-clobber $ax, 12, implicit-def dead early-clobber $di
40     $edi = COPY killed $ecx
41     CALL64pcrel32 @foo, csr_64, implicit $rsp, implicit $edi, implicit-def $rsp
42     $rax = POP64r implicit-def $rsp, implicit $rsp
43     RETQ
44 ...