@@ -77,8 +77,7 @@ define void @extract_32xi8_idx(ptr %src, ptr %dst, i32 %idx) nounwind {
7777; CHECK-LABEL: extract_32xi8_idx:
7878; CHECK: # %bb.0:
7979; CHECK-NEXT: xvld $xr0, $a0, 0
80- ; CHECK-NEXT: bstrpick.d $a0, $a2, 31, 0
81- ; CHECK-NEXT: bstrpick.d $a0, $a0, 31, 2
80+ ; CHECK-NEXT: bstrpick.d $a0, $a2, 31, 2
8281; CHECK-NEXT: xvreplgr2vr.w $xr1, $a0
8382; CHECK-NEXT: xvperm.w $xr0, $xr0, $xr1
8483; CHECK-NEXT: andi $a0, $a2, 3
@@ -95,8 +94,7 @@ define void @extract_16xi16_idx(ptr %src, ptr %dst, i32 %idx) nounwind {
9594; CHECK-LABEL: extract_16xi16_idx:
9695; CHECK: # %bb.0:
9796; CHECK-NEXT: xvld $xr0, $a0, 0
98- ; CHECK-NEXT: bstrpick.d $a0, $a2, 31, 0
99- ; CHECK-NEXT: bstrpick.d $a0, $a0, 31, 1
97+ ; CHECK-NEXT: bstrpick.d $a0, $a2, 31, 1
10098; CHECK-NEXT: xvreplgr2vr.w $xr1, $a0
10199; CHECK-NEXT: xvperm.w $xr0, $xr0, $xr1
102100; CHECK-NEXT: andi $a0, $a2, 1
@@ -113,8 +111,7 @@ define void @extract_8xi32_idx(ptr %src, ptr %dst, i32 %idx) nounwind {
113111; CHECK-LABEL: extract_8xi32_idx:
114112; CHECK: # %bb.0:
115113; CHECK-NEXT: xvld $xr0, $a0, 0
116- ; CHECK-NEXT: bstrpick.d $a0, $a2, 31, 0
117- ; CHECK-NEXT: xvreplgr2vr.w $xr1, $a0
114+ ; CHECK-NEXT: xvreplgr2vr.w $xr1, $a2
118115; CHECK-NEXT: xvperm.w $xr0, $xr0, $xr1
119116; CHECK-NEXT: xvstelm.w $xr0, $a1, 0, 0
120117; CHECK-NEXT: ret
@@ -128,8 +125,7 @@ define void @extract_4xi64_idx(ptr %src, ptr %dst, i32 %idx) nounwind {
128125; CHECK-LABEL: extract_4xi64_idx:
129126; CHECK: # %bb.0:
130127; CHECK-NEXT: xvld $xr0, $a0, 0
131- ; CHECK-NEXT: bstrpick.d $a0, $a2, 31, 0
132- ; CHECK-NEXT: xvreplgr2vr.w $xr1, $a0
128+ ; CHECK-NEXT: xvreplgr2vr.w $xr1, $a2
133129; CHECK-NEXT: xvslli.w $xr1, $xr1, 1
134130; CHECK-NEXT: xvperm.w $xr2, $xr0, $xr1
135131; CHECK-NEXT: xvaddi.wu $xr1, $xr1, 1
@@ -147,8 +143,7 @@ define void @extract_8xfloat_idx(ptr %src, ptr %dst, i32 %idx) nounwind {
147143; CHECK-LABEL: extract_8xfloat_idx:
148144; CHECK: # %bb.0:
149145; CHECK-NEXT: xvld $xr0, $a0, 0
150- ; CHECK-NEXT: bstrpick.d $a0, $a2, 31, 0
151- ; CHECK-NEXT: xvreplgr2vr.w $xr1, $a0
146+ ; CHECK-NEXT: xvreplgr2vr.w $xr1, $a2
152147; CHECK-NEXT: xvperm.w $xr0, $xr0, $xr1
153148; CHECK-NEXT: xvstelm.w $xr0, $a1, 0, 0
154149; CHECK-NEXT: ret
@@ -162,8 +157,7 @@ define void @extract_4xdouble_idx(ptr %src, ptr %dst, i32 %idx) nounwind {
162157; CHECK-LABEL: extract_4xdouble_idx:
163158; CHECK: # %bb.0:
164159; CHECK-NEXT: xvld $xr0, $a0, 0
165- ; CHECK-NEXT: bstrpick.d $a0, $a2, 31, 0
166- ; CHECK-NEXT: xvreplgr2vr.w $xr1, $a0
160+ ; CHECK-NEXT: xvreplgr2vr.w $xr1, $a2
167161; CHECK-NEXT: xvslli.w $xr1, $xr1, 1
168162; CHECK-NEXT: xvperm.w $xr2, $xr0, $xr1
169163; CHECK-NEXT: xvaddi.wu $xr1, $xr1, 1
0 commit comments