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