@@ -29,8 +29,7 @@ name: merge_scaled_str_with_unscaled_8
29
29
body : |
30
30
bb.0.entry:
31
31
; CHECK-LABEL: name: merge_scaled_str_with_unscaled_8
32
- ; CHECK: STRBBui $wzr, $x0, 4 :: (store (s8))
33
- ; CHECK-NEXT: STURBBi $wzr, $x0, 5 :: (store (s8))
32
+ ; CHECK: STRHHui $wzr, $x0, 2 :: (store (s8))
34
33
; CHECK-NEXT: RET undef $lr
35
34
STRBBui $wzr, $x0, 4 :: (store (s8))
36
35
STURBBi $wzr, $x0, 5 :: (store (s8))
@@ -41,14 +40,56 @@ name: merge_unscaled_str_with_scaled_8
41
40
body : |
42
41
bb.0.entry:
43
42
; CHECK-LABEL: name: merge_unscaled_str_with_scaled_8
44
- ; CHECK: STURBBi $wzr, $x0, 4 :: (store (s8))
45
- ; CHECK-NEXT: STRBBui $wzr, $x0, 5 :: (store (s8))
43
+ ; CHECK: STURHHi $wzr, $x0, 4 :: (store (s8))
46
44
; CHECK-NEXT: RET undef $lr
47
45
STURBBi $wzr, $x0, 4 :: (store (s8))
48
46
STRBBui $wzr, $x0, 5 :: (store (s8))
49
47
RET undef $lr
50
48
...
51
49
---
50
+ name : merge_unscaled_str_with_scaled_8_lower_address_second
51
+ body : |
52
+ bb.0.entry:
53
+ ; CHECK-LABEL: name: merge_unscaled_str_with_scaled_8_lower_address_second
54
+ ; CHECK: STURHHi $wzr, $x0, 0 :: (store (s8))
55
+ ; CHECK-NEXT: RET undef $lr
56
+ STURBBi $wzr, $x0, 1 :: (store (s8))
57
+ STRBBui $wzr, $x0, 0 :: (store (s8))
58
+ RET undef $lr
59
+ ...
60
+ ---
61
+ name : merge_scaled_str_with_unscaled_8_lower_address_second
62
+ body : |
63
+ bb.0.entry:
64
+ ; CHECK-LABEL: name: merge_scaled_str_with_unscaled_8_lower_address_second
65
+ ; CHECK: STRHHui $wzr, $x0, 0 :: (store (s8))
66
+ ; CHECK-NEXT: RET undef $lr
67
+ STRBBui $wzr, $x0, 1 :: (store (s8))
68
+ STURBBi $wzr, $x0, 0 :: (store (s8))
69
+ RET undef $lr
70
+ ...
71
+ ---
72
+ name : merge_unscaled_str_with_scaled_8_limits
73
+ body : |
74
+ bb.0.entry:
75
+ ; CHECK-LABEL: name: merge_unscaled_str_with_scaled_8_limits
76
+ ; CHECK: STURHHi $wzr, $x0, 255 :: (store (s8))
77
+ ; CHECK-NEXT: RET undef $lr
78
+ STURBBi $wzr, $x0, 255 :: (store (s8))
79
+ STRBBui $wzr, $x0, 256 :: (store (s8))
80
+ RET undef $lr
81
+ ---
82
+ ---
83
+ name : merge_scaled_str_with_unscaled_8_limits
84
+ body : |
85
+ bb.0.entry:
86
+ ; CHECK-LABEL: name: merge_scaled_str_with_unscaled_8_limits
87
+ ; CHECK: STRHHui $wzr, $x0, 127 :: (store (s8))
88
+ ; CHECK-NEXT: RET undef $lr
89
+ STRBBui $wzr, $x0, 254 :: (store (s8))
90
+ STURBBi $wzr, $x0, 255 :: (store (s8))
91
+ RET undef $lr
92
+ ---
52
93
name : merge_unscaled_str_with_unscaled_str_16
53
94
body : |
54
95
bb.0:
@@ -75,8 +116,7 @@ name: merge_scaled_str_with_unscaled_16
75
116
body : |
76
117
bb.0.entry:
77
118
; CHECK-LABEL: name: merge_scaled_str_with_unscaled_16
78
- ; CHECK: STRHHui $wzr, $x0, 2 :: (store (s16))
79
- ; CHECK-NEXT: STURHHi $wzr, $x0, 6 :: (store (s16))
119
+ ; CHECK: STRWui $wzr, $x0, 1 :: (store (s16))
80
120
; CHECK-NEXT: RET undef $lr
81
121
STRHHui $wzr, $x0, 2 :: (store (s16))
82
122
STURHHi $wzr, $x0, 6 :: (store (s16))
@@ -87,14 +127,56 @@ name: merge_unscaled_str_with_scaled_16
87
127
body : |
88
128
bb.0.entry:
89
129
; CHECK-LABEL: name: merge_unscaled_str_with_scaled_16
90
- ; CHECK: STURHHi $wzr, $x0, 4 :: (store (s16))
91
- ; CHECK-NEXT: STRHHui $wzr, $x0, 3 :: (store (s16))
130
+ ; CHECK: STURWi $wzr, $x0, 4 :: (store (s16))
92
131
; CHECK-NEXT: RET undef $lr
93
132
STURHHi $wzr, $x0, 4 :: (store (s16))
94
133
STRHHui $wzr, $x0, 3 :: (store (s16))
95
134
RET undef $lr
96
135
...
97
136
---
137
+ name : merge_unscaled_str_with_scaled_16_lower_address_second
138
+ body : |
139
+ bb.0.entry:
140
+ ; CHECK-LABEL: name: merge_unscaled_str_with_scaled_16_lower_address_second
141
+ ; CHECK: STURWi $wzr, $x0, 2 :: (store (s16))
142
+ ; CHECK-NEXT: RET undef $lr
143
+ STURHHi $wzr, $x0, 4 :: (store (s16))
144
+ STRHHui $wzr, $x0, 1 :: (store (s16))
145
+ RET undef $lr
146
+ ...
147
+ ---
148
+ name : merge_scaled_str_with_unscaled_16_lower_address_second
149
+ body : |
150
+ bb.0.entry:
151
+ ; CHECK-LABEL: name: merge_scaled_str_with_unscaled_16_lower_address_second
152
+ ; CHECK: STRWui $wzr, $x0, 0 :: (store (s16))
153
+ ; CHECK-NEXT: RET undef $lr
154
+ STRHHui $wzr, $x0, 1 :: (store (s16))
155
+ STURHHi $wzr, $x0, 0 :: (store (s16))
156
+ RET undef $lr
157
+ ...
158
+ ---
159
+ name : merge_unscaled_str_with_scaled_16_limits
160
+ body : |
161
+ bb.0.entry:
162
+ ; CHECK-LABEL: name: merge_unscaled_str_with_scaled_16_limits
163
+ ; CHECK: STURWi $wzr, $x0, 254 :: (store (s16))
164
+ ; CHECK-NEXT: RET undef $lr
165
+ STURHHi $wzr, $x0, 254 :: (store (s16))
166
+ STRHHui $wzr, $x0, 128 :: (store (s16))
167
+ RET undef $lr
168
+ ---
169
+ ---
170
+ name : merge_scaled_str_with_unscaled_16_limits
171
+ body : |
172
+ bb.0.entry:
173
+ ; CHECK-LABEL: name: merge_scaled_str_with_unscaled_16_limits
174
+ ; CHECK: STRWui $wzr, $x0, 63 :: (store (s16))
175
+ ; CHECK-NEXT: RET undef $lr
176
+ STRHHui $wzr, $x0, 126 :: (store (s16))
177
+ STURHHi $wzr, $x0, 254 :: (store (s16))
178
+ RET undef $lr
179
+ ---
98
180
name : merge_unscaled_str_with_unscaled_32
99
181
body : |
100
182
bb.0.entry:
0 commit comments