• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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