94 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=i586-linux-gnu -mcpu=haswell -mattr=-slow-incdec -run-pass=instruction-select %s -o - | FileCheck %s --check-prefix=CHECK3#4# This is necessary to test that attribute-based rule predicates work and that5# they properly reset between functions.6 7--- |8 define i32 @const_i32_1() {9 ret i32 110 }11 12 define i32 @const_i32_1_optsize() #0 {13 ret i32 114 }15 16 define i32 @const_i32_1b() {17 ret i32 118 }19 20 define i32 @const_i32_1_optsizeb() #0 {21 ret i32 122 }23 24 attributes #0 = { optsize }25...26---27name: const_i32_128legalized: true29regBankSelected: true30selected: false31registers:32 - { id: 0, class: gpr }33body: |34 bb.1 (%ir-block.0):35 ; CHECK-LABEL: name: const_i32_136 ; CHECK: [[MOV32ri:%[0-9]+]]:gr32 = MOV32ri 137 ; CHECK-NEXT: $eax = COPY [[MOV32ri]]38 ; CHECK-NEXT: RET 0, implicit $eax39 %0(s32) = G_CONSTANT i32 140 $eax = COPY %0(s32)41 RET 0, implicit $eax42...43---44name: const_i32_1_optsize45legalized: true46regBankSelected: true47selected: false48registers:49 - { id: 0, class: gpr }50body: |51 bb.1 (%ir-block.0):52 ; CHECK-LABEL: name: const_i32_1_optsize53 ; CHECK: [[MOV32r1_:%[0-9]+]]:gr32 = MOV32r1 implicit-def dead $eflags54 ; CHECK-NEXT: $eax = COPY [[MOV32r1_]]55 ; CHECK-NEXT: RET 0, implicit $eax56 %0(s32) = G_CONSTANT i32 157 $eax = COPY %0(s32)58 RET 0, implicit $eax59...60---61name: const_i32_1b62legalized: true63regBankSelected: true64selected: false65registers:66 - { id: 0, class: gpr }67body: |68 bb.1 (%ir-block.0):69 ; CHECK-LABEL: name: const_i32_1b70 ; CHECK: [[MOV32ri:%[0-9]+]]:gr32 = MOV32ri 171 ; CHECK-NEXT: $eax = COPY [[MOV32ri]]72 ; CHECK-NEXT: RET 0, implicit $eax73 %0(s32) = G_CONSTANT i32 174 $eax = COPY %0(s32)75 RET 0, implicit $eax76...77---78name: const_i32_1_optsizeb79legalized: true80regBankSelected: true81selected: false82registers:83 - { id: 0, class: gpr }84body: |85 bb.1 (%ir-block.0):86 ; CHECK-LABEL: name: const_i32_1_optsizeb87 ; CHECK: [[MOV32r1_:%[0-9]+]]:gr32 = MOV32r1 implicit-def dead $eflags88 ; CHECK-NEXT: $eax = COPY [[MOV32r1_]]89 ; CHECK-NEXT: RET 0, implicit $eax90 %0(s32) = G_CONSTANT i32 191 $eax = COPY %0(s32)92 RET 0, implicit $eax93...94