1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv64 -run-pass=legalizer %s -o - \
8 ; CHECK-LABEL: name: implicit_def_i8
9 ; CHECK: [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
10 ; CHECK-NEXT: $x10 = COPY [[DEF]](s64)
11 ; CHECK-NEXT: PseudoRET implicit $x10
12 %0:_(s8) = G_IMPLICIT_DEF
13 %1:_(s64) = G_ANYEXT %0(s8)
15 PseudoRET implicit $x10
19 name: implicit_def_i15
22 ; CHECK-LABEL: name: implicit_def_i15
23 ; CHECK: [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
24 ; CHECK-NEXT: $x10 = COPY [[DEF]](s64)
25 ; CHECK-NEXT: PseudoRET implicit $x10
26 %0:_(s15) = G_IMPLICIT_DEF
27 %1:_(s64) = G_ANYEXT %0(s15)
29 PseudoRET implicit $x10
33 name: implicit_def_i16
36 ; CHECK-LABEL: name: implicit_def_i16
37 ; CHECK: [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
38 ; CHECK-NEXT: $x10 = COPY [[DEF]](s64)
39 ; CHECK-NEXT: PseudoRET implicit $x10
40 %0:_(s16) = G_IMPLICIT_DEF
41 %1:_(s64) = G_ANYEXT %0(s16)
43 PseudoRET implicit $x10
47 name: implicit_def_i32
50 ; CHECK-LABEL: name: implicit_def_i32
51 ; CHECK: [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
52 ; CHECK-NEXT: $x10 = COPY [[DEF]](s64)
53 ; CHECK-NEXT: PseudoRET implicit $x10
54 %0:_(s32) = G_IMPLICIT_DEF
55 %1:_(s64) = G_ANYEXT %0(s32)
57 PseudoRET implicit $x10
61 name: implicit_def_i64
64 ; CHECK-LABEL: name: implicit_def_i64
65 ; CHECK: [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
66 ; CHECK-NEXT: $x10 = COPY [[DEF]](s64)
67 ; CHECK-NEXT: PseudoRET implicit $x10
68 %0:_(s64) = G_IMPLICIT_DEF
70 PseudoRET implicit $x10
74 name: implicit_def_i72
77 ; CHECK-LABEL: name: implicit_def_i72
78 ; CHECK: [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
79 ; CHECK-NEXT: $x10 = COPY [[DEF]](s64)
80 ; CHECK-NEXT: $x11 = COPY [[DEF]](s64)
81 ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11
82 %0:_(s72) = G_IMPLICIT_DEF
83 %1:_(s128) = G_ANYEXT %0(s72)
84 %2:_(s64), %3:_(s64) = G_UNMERGE_VALUES %1(s128)
87 PseudoRET implicit $x10, implicit $x11
91 name: implicit_def_i128
94 ; CHECK-LABEL: name: implicit_def_i128
95 ; CHECK: [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
96 ; CHECK-NEXT: $x10 = COPY [[DEF]](s64)
97 ; CHECK-NEXT: $x11 = COPY [[DEF]](s64)
98 ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11
99 %0:_(s128) = G_IMPLICIT_DEF
100 %1:_(s64), %2:_(s64) = G_UNMERGE_VALUES %0(s128)
103 PseudoRET implicit $x10, implicit $x11
107 name: implicit_def_i192
110 ; CHECK-LABEL: name: implicit_def_i192
111 ; CHECK: [[DEF:%[0-9]+]]:_(s64) = G_IMPLICIT_DEF
112 ; CHECK-NEXT: $x10 = COPY [[DEF]](s64)
113 ; CHECK-NEXT: $x11 = COPY [[DEF]](s64)
114 ; CHECK-NEXT: $x12 = COPY [[DEF]](s64)
115 ; CHECK-NEXT: PseudoRET implicit $x10, implicit $x11, implicit $x12
116 %0:_(s192) = G_IMPLICIT_DEF
117 %1:_(s64), %2:_(s64), %3:_(s64) = G_UNMERGE_VALUES %0(s192)
121 PseudoRET implicit $x10, implicit $x11, implicit $x12