@@ -9,14 +9,9 @@ define <4 x i64> @should_not_be_optimized(ptr %ptr, ptr %dst) {
99; LA32-NEXT: ld.w $a2, $a0, 0
1010; LA32-NEXT: ld.w $a0, $a0, 4
1111; 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
2015; LA32-NEXT: st.w $a0, $a1, 4
2116; LA32-NEXT: ret
2217;
@@ -64,14 +59,9 @@ define <4 x i64> @xvldrepl_d_unaligned_offset(ptr %ptr) {
6459; LA32: # %bb.0:
6560; LA32-NEXT: ld.w $a1, $a0, 4
6661; 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
7565; LA32-NEXT: ret
7666;
7767; LA64-LABEL: xvldrepl_d_unaligned_offset:
@@ -162,14 +152,9 @@ define <4 x i64> @xvldrepl_d(ptr %ptr) {
162152; LA32: # %bb.0:
163153; LA32-NEXT: ld.w $a1, $a0, 0
164154; 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
173158; LA32-NEXT: ret
174159;
175160; LA64-LABEL: xvldrepl_d:
@@ -187,14 +172,9 @@ define <4 x i64> @xvldrepl_d_offset(ptr %ptr) {
187172; LA32: # %bb.0:
188173; LA32-NEXT: ld.w $a1, $a0, 264
189174; 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
198178; LA32-NEXT: ret
199179;
200180; LA64-LABEL: xvldrepl_d_offset:
0 commit comments