@@ -9,14 +9,9 @@ define <4 x i64> @should_not_be_optimized(ptr %ptr, ptr %dst) {
9
9
; LA32-NEXT: ld.w $a2, $a0, 0
10
10
; LA32-NEXT: ld.w $a0, $a0, 4
11
11
; LA32-NEXT: st.w $a2, $a1, 0
12
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a2, 0
13
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 1
14
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a2, 2
15
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 3
16
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a2, 4
17
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 5
18
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a2, 6
19
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 7
12
+ ; LA32-NEXT: vinsgr2vr.w $vr0, $a2, 0
13
+ ; LA32-NEXT: vinsgr2vr.w $vr0, $a0, 1
14
+ ; LA32-NEXT: xvreplve0.d $xr0, $xr0
20
15
; LA32-NEXT: st.w $a0, $a1, 4
21
16
; LA32-NEXT: ret
22
17
;
@@ -64,14 +59,9 @@ define <4 x i64> @xvldrepl_d_unaligned_offset(ptr %ptr) {
64
59
; LA32: # %bb.0:
65
60
; LA32-NEXT: ld.w $a1, $a0, 4
66
61
; LA32-NEXT: ld.w $a0, $a0, 8
67
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a1, 0
68
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 1
69
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a1, 2
70
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 3
71
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a1, 4
72
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 5
73
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a1, 6
74
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 7
62
+ ; LA32-NEXT: vinsgr2vr.w $vr0, $a1, 0
63
+ ; LA32-NEXT: vinsgr2vr.w $vr0, $a0, 1
64
+ ; LA32-NEXT: xvreplve0.d $xr0, $xr0
75
65
; LA32-NEXT: ret
76
66
;
77
67
; LA64-LABEL: xvldrepl_d_unaligned_offset:
@@ -162,14 +152,9 @@ define <4 x i64> @xvldrepl_d(ptr %ptr) {
162
152
; LA32: # %bb.0:
163
153
; LA32-NEXT: ld.w $a1, $a0, 0
164
154
; LA32-NEXT: ld.w $a0, $a0, 4
165
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a1, 0
166
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 1
167
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a1, 2
168
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 3
169
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a1, 4
170
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 5
171
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a1, 6
172
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 7
155
+ ; LA32-NEXT: vinsgr2vr.w $vr0, $a1, 0
156
+ ; LA32-NEXT: vinsgr2vr.w $vr0, $a0, 1
157
+ ; LA32-NEXT: xvreplve0.d $xr0, $xr0
173
158
; LA32-NEXT: ret
174
159
;
175
160
; LA64-LABEL: xvldrepl_d:
@@ -187,14 +172,9 @@ define <4 x i64> @xvldrepl_d_offset(ptr %ptr) {
187
172
; LA32: # %bb.0:
188
173
; LA32-NEXT: ld.w $a1, $a0, 264
189
174
; LA32-NEXT: ld.w $a0, $a0, 268
190
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a1, 0
191
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 1
192
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a1, 2
193
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 3
194
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a1, 4
195
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 5
196
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a1, 6
197
- ; LA32-NEXT: xvinsgr2vr.w $xr0, $a0, 7
175
+ ; LA32-NEXT: vinsgr2vr.w $vr0, $a1, 0
176
+ ; LA32-NEXT: vinsgr2vr.w $vr0, $a0, 1
177
+ ; LA32-NEXT: xvreplve0.d $xr0, $xr0
198
178
; LA32-NEXT: ret
199
179
;
200
180
; LA64-LABEL: xvldrepl_d_offset:
0 commit comments