Home | History | Annotate | Download | only in X86
      1 # RUN: llc -march=x86-64 -start-after branch-folder -stop-after branch-folder -o - %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   bb.0.body:
     25     %eax = IMUL32rri8 %edi, 11, implicit-def %eflags
     26     RETQ %eax
     27 ...
     28 ---
     29 # CHECK: name: foo
     30 name:            foo
     31 body: |
     32   bb.0.entry:
     33     ; CHECK:      PUSH64r %rax
     34     ; CHECK-NEXT: CALL64pcrel32 @compute, csr_64, implicit %rsp, implicit %edi, implicit-def %rsp, implicit-def %eax
     35     PUSH64r %rax, implicit-def %rsp, implicit %rsp
     36     CALL64pcrel32 @compute, csr_64, implicit %rsp, implicit %edi, implicit-def %rsp, implicit-def %eax
     37     %rdx = POP64r implicit-def %rsp, implicit %rsp
     38     RETQ %eax
     39 ...
     40