MIR Serialization: Serialize the jump table index operands.
[oota-llvm.git] / test / CodeGen / MIR / X86 / register-mask-operands.mir
1 # RUN: llc -march=x86-64 -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s
2 # This test ensures that the MIR parser parses register mask operands correctly.
3
4 --- |
5
6   define i32 @compute(i32 %a) #0 {
7   body:
8     %c = mul i32 %a, 11
9     ret i32 %c
10   }
11
12   define i32 @foo(i32 %a) #0 {
13   entry:
14     %b = call i32 @compute(i32 %a)
15     ret i32 %b
16   }
17
18   attributes #0 = { "no-frame-pointer-elim"="false" }
19
20 ...
21 ---
22 name:            compute
23 body:
24   - id:          0
25     name:        body
26     instructions:
27       - '%eax = IMUL32rri8 %edi, 11, implicit-def %eflags'
28       - 'RETQ %eax'
29 ...
30 ---
31 # CHECK: name: foo
32 name:            foo
33 body:
34   - id:          0
35     name:        entry
36     instructions:
37       # CHECK:      - 'PUSH64r %rax
38       # CHECK-NEXT: - 'CALL64pcrel32 @compute, csr_64, implicit %rsp, implicit %edi, implicit-def %rsp, implicit-def %eax'
39       - 'PUSH64r %rax, implicit-def %rsp, implicit %rsp'
40       - 'CALL64pcrel32 @compute, csr_64, implicit %rsp, implicit %edi, implicit-def %rsp, implicit-def %eax'
41       - '%rdx = POP64r implicit-def %rsp, implicit %rsp'
42       - 'RETQ %eax'
43 ...