53 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=i386-linux-gnu -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=X323--- |4 define i64 @test_add_i64(i64 %a, i64 %b) {5 %r = add i64 %a, %b6 ret i64 %r7 }8 9...10---11name: test_add_i6412alignment: 1613legalized: true14regBankSelected: true15registers:16 - { id: 0, class: gpr }17 - { id: 1, class: gpr }18 - { id: 2, class: gpr }19 - { id: 3, class: gpr }20 - { id: 4, class: gpr }21 - { id: 5, class: gpr }22 - { id: 6, class: gpr }23 - { id: 7, class: gpr }24 - { id: 8, class: gpr }25 - { id: 9, class: gpr }26body: |27 bb.0 (%ir-block.0):28 ; X32-LABEL: name: test_add_i6429 ; X32: [[DEF:%[0-9]+]]:gr32 = IMPLICIT_DEF30 ; X32-NEXT: [[DEF1:%[0-9]+]]:gr32 = IMPLICIT_DEF31 ; X32-NEXT: [[DEF2:%[0-9]+]]:gr32 = IMPLICIT_DEF32 ; X32-NEXT: [[DEF3:%[0-9]+]]:gr32 = IMPLICIT_DEF33 ; X32-NEXT: [[ADD32rr:%[0-9]+]]:gr32 = ADD32rr [[DEF]], [[DEF2]], implicit-def $eflags34 ; X32-NEXT: [[SETCCr:%[0-9]+]]:gr8 = SETCCr 2, implicit $eflags35 ; X32-NEXT: CMP8ri [[SETCCr]], 1, implicit-def $eflags36 ; X32-NEXT: [[ADC32rr:%[0-9]+]]:gr32 = ADC32rr [[DEF1]], [[DEF3]], implicit-def $eflags, implicit $eflags37 ; X32-NEXT: [[SETCCr1:%[0-9]+]]:gr8 = SETCCr 2, implicit $eflags38 ; X32-NEXT: $eax = COPY [[ADD32rr]]39 ; X32-NEXT: $edx = COPY [[ADC32rr]]40 ; X32-NEXT: RET 0, implicit $eax, implicit $edx41 %0(s32) = IMPLICIT_DEF42 %1(s32) = IMPLICIT_DEF43 %2(s32) = IMPLICIT_DEF44 %3(s32) = IMPLICIT_DEF45 %9(s8) = G_CONSTANT i8 046 %5(s32), %6(s8) = G_UADDE %0, %2, %947 %7(s32), %8(s8) = G_UADDE %1, %3, %648 $eax = COPY %5(s32)49 $edx = COPY %7(s32)50 RET 0, implicit $eax, implicit $edx51 52...53