1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -mtriple=x86_64-linux-gnu -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL 3--- | 4 5 define i8 @test() { 6 ret i8 undef 7 } 8 9 define i8 @test2(i8 %a) { 10 %r = add i8 %a, undef 11 ret i8 %r 12 } 13 14 define float @test3() { 15 ret float undef 16 } 17... 18--- 19name: test 20alignment: 16 21legalized: true 22regBankSelected: true 23registers: 24 - { id: 0, class: gpr, preferred-register: '' } 25liveins: 26fixedStack: 27stack: 28constants: 29body: | 30 bb.1 (%ir-block.0): 31 ; ALL-LABEL: name: test 32 ; ALL: [[DEF:%[0-9]+]]:gr8 = IMPLICIT_DEF 33 ; ALL: $al = COPY [[DEF]] 34 ; ALL: RET 0, implicit $al 35 %0(s8) = G_IMPLICIT_DEF 36 $al = COPY %0(s8) 37 RET 0, implicit $al 38 39... 40--- 41name: test2 42alignment: 16 43legalized: true 44regBankSelected: true 45registers: 46 - { id: 0, class: gpr, preferred-register: '' } 47 - { id: 1, class: gpr, preferred-register: '' } 48 - { id: 2, class: gpr, preferred-register: '' } 49liveins: 50fixedStack: 51stack: 52constants: 53body: | 54 bb.1 (%ir-block.0): 55 liveins: $edi 56 57 ; ALL-LABEL: name: test2 58 ; ALL: [[COPY:%[0-9]+]]:gr8 = COPY $dil 59 ; ALL: [[DEF:%[0-9]+]]:gr8 = IMPLICIT_DEF 60 ; ALL: [[ADD8rr:%[0-9]+]]:gr8 = ADD8rr [[COPY]], [[DEF]], implicit-def $eflags 61 ; ALL: $al = COPY [[ADD8rr]] 62 ; ALL: RET 0, implicit $al 63 %0(s8) = COPY $dil 64 %1(s8) = G_IMPLICIT_DEF 65 %2(s8) = G_ADD %0, %1 66 $al = COPY %2(s8) 67 RET 0, implicit $al 68 69... 70--- 71name: test3 72alignment: 16 73legalized: true 74regBankSelected: true 75tracksRegLiveness: true 76registers: 77 - { id: 1, class: vecr } 78body: | 79 bb.1 (%ir-block.0): 80 ; ALL-LABEL: name: test3 81 ; ALL: [[DEF:%[0-9]+]]:vr128 = IMPLICIT_DEF 82 ; ALL: $xmm0 = COPY [[DEF]] 83 ; ALL: RET 0, implicit $xmm0 84 %1:vecr(s128) = G_IMPLICIT_DEF 85 $xmm0 = COPY %1:vecr(s128) 86 RET 0, implicit $xmm0 87 88... 89