1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple aarch64-apple-ios -run-pass=aarch64-prelegalizer-combiner %s -o - -verify-machineinstrs | FileCheck %s
7 tracksRegLiveness: true
13 machineFunctionInfo: {}
18 ; CHECK-LABEL: name: test_rotr
19 ; CHECK: liveins: $w0, $w1
20 ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
21 ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
22 ; CHECK: [[ROTR:%[0-9]+]]:_(s32) = G_ROTR [[COPY]], [[COPY1]](s32)
23 ; CHECK: $w0 = COPY [[ROTR]](s32)
24 ; CHECK: RET_ReallyLR implicit $w0
27 %2:_(s32) = G_FSHR %0, %0, %1(s32)
29 RET_ReallyLR implicit $w0
35 tracksRegLiveness: true
41 machineFunctionInfo: {}
46 ; CHECK-LABEL: name: test_rotl
47 ; CHECK: liveins: $w0, $w1
48 ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY $w0
49 ; CHECK: [[COPY1:%[0-9]+]]:_(s32) = COPY $w1
50 ; CHECK: [[ROTL:%[0-9]+]]:_(s32) = G_ROTL [[COPY]], [[COPY1]](s32)
51 ; CHECK: $w0 = COPY [[ROTL]](s32)
52 ; CHECK: RET_ReallyLR implicit $w0
55 %2:_(s32) = G_FSHL %0, %0, %1(s32)
57 RET_ReallyLR implicit $w0
61 name: test_vector_rotr
63 tracksRegLiveness: true
69 machineFunctionInfo: {}
74 ; CHECK-LABEL: name: test_vector_rotr
75 ; CHECK: liveins: $q0, $q1
76 ; CHECK: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $q0
77 ; CHECK: [[COPY1:%[0-9]+]]:_(<4 x s32>) = COPY $q1
78 ; CHECK: [[ROTR:%[0-9]+]]:_(<4 x s32>) = G_ROTR [[COPY]], [[COPY1]](<4 x s32>)
79 ; CHECK: $q0 = COPY [[ROTR]](<4 x s32>)
80 ; CHECK: RET_ReallyLR implicit $q0
81 %0:_(<4 x s32>) = COPY $q0
82 %1:_(<4 x s32>) = COPY $q1
83 %2:_(<4 x s32>) = G_FSHR %0, %0, %1(<4 x s32>)
84 $q0 = COPY %2(<4 x s32>)
85 RET_ReallyLR implicit $q0
89 name: test_vector_rotl
91 tracksRegLiveness: true
97 machineFunctionInfo: {}
102 ; CHECK-LABEL: name: test_vector_rotl
103 ; CHECK: liveins: $q0, $q1
104 ; CHECK: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $q0
105 ; CHECK: [[COPY1:%[0-9]+]]:_(<4 x s32>) = COPY $q1
106 ; CHECK: [[ROTL:%[0-9]+]]:_(<4 x s32>) = G_ROTL [[COPY]], [[COPY1]](<4 x s32>)
107 ; CHECK: $q0 = COPY [[ROTL]](<4 x s32>)
108 ; CHECK: RET_ReallyLR implicit $q0
109 %0:_(<4 x s32>) = COPY $q0
110 %1:_(<4 x s32>) = COPY $q1
111 %2:_(<4 x s32>) = G_FSHL %0, %0, %1(<4 x s32>)
112 $q0 = COPY %2(<4 x s32>)
113 RET_ReallyLR implicit $q0