[TTI] getTypeBasedIntrinsicInstrCost - add basic handling for strided load/store...
[llvm-project.git] / llvm / test / CodeGen / X86 / stackmap-undef-operand-anyregcc.mir
blob3c6390ba2379c829a5cac32c39694e3828310efb
1 # RUN: llc -mtriple=x86_64-apple-darwin -start-after=virtregrewriter -o - %s | FileCheck %s
3 # Check there's no assertion for anyregcc with an undef operand to a stackmap.
5 # CHECK: __LLVM_StackMaps:
6 # CHECK-NEXT: .byte     3
7 # CHECK-NEXT: .byte     0
8 # CHECK-NEXT: .short    0
9 # CHECK-NEXT: .long     1
10 # CHECK-NEXT: .long     0
11 # CHECK-NEXT: .long     1
12 # CHECK-NEXT: .quad     _undef_anyregcc_patchpoint
13 # CHECK-NEXT: .quad     8
14 # CHECK-NEXT: .quad     1
15 # CHECK-NEXT: .quad     12
16 # CHECK-NEXT: .long     Ltmp0-_undef_anyregcc_patchpoint
17 # CHECK-NEXT: .short    0
18 # CHECK-NEXT: .short    2
19 # CHECK-NEXT: .byte     1
20 # CHECK-NEXT: .byte     0
21 # CHECK-NEXT: .short    8
22 # CHECK-NEXT: .short    0
23 # CHECK-NEXT: .short    0
24 # CHECK-NEXT: .long     0
25 # CHECK-NEXT: .byte     1
26 # CHECK-NEXT: .byte     0
27 # CHECK-NEXT: .short    8
28 # CHECK-NEXT: .short    0
29 # CHECK-NEXT: .short    0
30 # CHECK-NEXT: .long     0
31 # CHECK-NEXT: .p2align  3, 0x0
32 # CHECK-NEXT: .short    0
33 # CHECK-NEXT: .short    7
34 # CHECK-NEXT: .short    0
35 # CHECK-NEXT: .byte     0
36 # CHECK-NEXT: .byte     8
37 # CHECK-NEXT: .short    3
38 # CHECK-NEXT: .byte     0
39 # CHECK-NEXT: .byte     8
40 # CHECK-NEXT: .short    7
41 # CHECK-NEXT: .byte     0
42 # CHECK-NEXT: .byte     8
43 # CHECK-NEXT: .short    12
44 # CHECK-NEXT: .byte     0
45 # CHECK-NEXT: .byte     8
46 # CHECK-NEXT: .short    13
47 # CHECK-NEXT: .byte     0
48 # CHECK-NEXT: .byte     8
49 # CHECK-NEXT: .short    14
50 # CHECK-NEXT: .byte     0
51 # CHECK-NEXT: .byte     8
52 # CHECK-NEXT: .short    15
53 # CHECK-NEXT: .byte     0
54 # CHECK-NEXT: .byte     8
55 # CHECK-NEXT: .p2align  3
56 ---
57 name:  undef_anyregcc_patchpoint
58 tracksRegLiveness: true
59 frameInfo:
60   hasPatchPoint:   true
61   hasCalls:        true
62   adjustsStack:    true
63 fixedStack:
64   - { id: 0, type: default, offset: 72, size: 8, alignment: 8, stack-id: default,
65       isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,
66       debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
67 body:             |
68   bb.0:
69     liveins: $rcx, $rdi, $rdx, $rsi, $r8, $r9
71     ADJCALLSTACKDOWN64 0, 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
72     dead renamable $rax = MOV64rm %fixed-stack.0, 1, $noreg, 0, $noreg :: (load (s64) from %fixed-stack.0)
73     renamable $rax = PATCHPOINT 12, 15, 0, 1, 13, undef renamable $rax, csr_64_allregs, implicit-def dead early-clobber $r11, implicit-def $rsp, implicit-def $ssp
74     ADJCALLSTACKUP64 0, 0, implicit-def dead $rsp, implicit-def dead $eflags, implicit-def dead $ssp, implicit $rsp, implicit $ssp
75     RET 0, $rax
77 ...