1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 2
2 # RUN: llc -verify-machineinstrs -mtriple=x86_64-linux-gnu -run-pass=legalizer %s -o - | FileCheck %s
11 ; CHECK-LABEL: name: test_freezep0
12 ; CHECK: [[DEF:%[0-9]+]]:_(p0) = IMPLICIT_DEF
13 ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(p0) = G_FREEZE [[DEF]]
14 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p0) = COPY [[FREEZE]](p0)
15 ; CHECK-NEXT: RET 0, implicit [[COPY]](p0)
16 %0:_(p0) = IMPLICIT_DEF
17 %1:_(p0) = G_FREEZE %0
18 %2:_(p0) = COPY %1(p0)
26 ; CHECK-LABEL: name: test_freeze64
27 ; CHECK: [[DEF:%[0-9]+]]:_(s64) = IMPLICIT_DEF
28 ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[DEF]]
29 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY [[FREEZE]](s64)
30 ; CHECK-NEXT: RET 0, implicit [[COPY]](s64)
31 %0:_(s64) = IMPLICIT_DEF
32 %1:_(s64) = G_FREEZE %0
33 %2:_(s64) = COPY %1(s64)
41 ; CHECK-LABEL: name: test_freeze48
42 ; CHECK: [[DEF:%[0-9]+]]:_(s48) = IMPLICIT_DEF
43 ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[DEF]](s48)
44 ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s64) = G_FREEZE [[ANYEXT]]
45 ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:_(s48) = G_TRUNC [[FREEZE]](s64)
46 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s48) = COPY [[TRUNC]](s48)
47 ; CHECK-NEXT: RET 0, implicit [[COPY]](s48)
48 %0:_(s48) = IMPLICIT_DEF
49 %1:_(s48) = G_FREEZE %0
50 %2:_(s48) = COPY %1(s48)
58 ; CHECK-LABEL: name: test_freeze32
59 ; CHECK: [[DEF:%[0-9]+]]:_(s32) = IMPLICIT_DEF
60 ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s32) = G_FREEZE [[DEF]]
61 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY [[FREEZE]](s32)
62 ; CHECK-NEXT: RET 0, implicit [[COPY]](s32)
63 %0:_(s32) = IMPLICIT_DEF
64 %1:_(s32) = G_FREEZE %0
65 %2:_(s32) = COPY %1(s32)
73 ; CHECK-LABEL: name: test_freeze16
74 ; CHECK: [[DEF:%[0-9]+]]:_(s16) = IMPLICIT_DEF
75 ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s16) = G_FREEZE [[DEF]]
76 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY [[FREEZE]](s16)
77 ; CHECK-NEXT: RET 0, implicit [[COPY]](s16)
78 %0:_(s16) = IMPLICIT_DEF
79 %1:_(s16) = G_FREEZE %0
80 %2:_(s16) = COPY %1(s16)
88 ; CHECK-LABEL: name: test_freeze8
89 ; CHECK: [[DEF:%[0-9]+]]:_(s8) = IMPLICIT_DEF
90 ; CHECK-NEXT: [[FREEZE:%[0-9]+]]:_(s8) = G_FREEZE [[DEF]]
91 ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s8) = COPY [[FREEZE]](s8)
92 ; CHECK-NEXT: RET 0, implicit [[COPY]](s8)
93 %0:_(s8) = IMPLICIT_DEF
94 %1:_(s8) = G_FREEZE %0
95 %2:_(s8) = COPY %1(s8)