@@ -11,24 +11,23 @@ define <8 x float> @powi_v8f32(<8 x float> %va, i32 %b) nounwind {
1111; CHECK-NEXT: st.d $fp, $sp, 80 # 8-byte Folded Spill
1212; CHECK-NEXT: xvst $xr0, $sp, 16 # 32-byte Folded Spill
1313; CHECK-NEXT: addi.w $fp, $a0, 0
14- ; CHECK-NEXT: xvpickve2gr.w $a0, $xr0, 0
14+ ; CHECK-NEXT: xvpickve2gr.w $a0, $xr0, 1
1515; CHECK-NEXT: movgr2fr.w $fa0, $a0
1616; CHECK-NEXT: move $a0, $fp
1717; CHECK-NEXT: pcaddu18i $ra, %call36(__powisf2)
1818; CHECK-NEXT: jirl $ra, $ra, 0
1919; CHECK-NEXT: # kill: def $f0 killed $f0 def $xr0
20- ; CHECK-NEXT: xvinsve0.w $xr0, $xr0, 0
2120; CHECK-NEXT: xvst $xr0, $sp, 48 # 32-byte Folded Spill
2221; CHECK-NEXT: xvld $xr0, $sp, 16 # 32-byte Folded Reload
23- ; CHECK-NEXT: xvpickve2gr.w $a0, $xr0, 1
22+ ; CHECK-NEXT: xvpickve2gr.w $a0, $xr0, 0
2423; CHECK-NEXT: movgr2fr.w $fa0, $a0
2524; CHECK-NEXT: move $a0, $fp
2625; CHECK-NEXT: pcaddu18i $ra, %call36(__powisf2)
2726; CHECK-NEXT: jirl $ra, $ra, 0
2827; CHECK-NEXT: # kill: def $f0 killed $f0 def $xr0
2928; CHECK-NEXT: xvld $xr1, $sp, 48 # 32-byte Folded Reload
30- ; CHECK-NEXT: xvinsve0.w $xr1 , $xr0 , 1
31- ; CHECK-NEXT: xvst $xr1 , $sp, 48 # 32-byte Folded Spill
29+ ; CHECK-NEXT: xvinsve0.w $xr0 , $xr1 , 1
30+ ; CHECK-NEXT: xvst $xr0 , $sp, 48 # 32-byte Folded Spill
3231; CHECK-NEXT: xvld $xr0, $sp, 16 # 32-byte Folded Reload
3332; CHECK-NEXT: xvpickve2gr.w $a0, $xr0, 2
3433; CHECK-NEXT: movgr2fr.w $fa0, $a0
@@ -106,44 +105,43 @@ define <4 x double> @powi_v4f64(<4 x double> %va, i32 %b) nounwind {
106105; CHECK-NEXT: addi.d $sp, $sp, -96
107106; CHECK-NEXT: st.d $ra, $sp, 88 # 8-byte Folded Spill
108107; CHECK-NEXT: st.d $fp, $sp, 80 # 8-byte Folded Spill
109- ; CHECK-NEXT: xvst $xr0, $sp, 16 # 32-byte Folded Spill
108+ ; CHECK-NEXT: xvst $xr0, $sp, 48 # 32-byte Folded Spill
110109; CHECK-NEXT: addi.w $fp, $a0, 0
111- ; CHECK-NEXT: xvpickve2gr.d $a0, $xr0, 0
110+ ; CHECK-NEXT: xvpickve2gr.d $a0, $xr0, 1
112111; CHECK-NEXT: movgr2fr.d $fa0, $a0
113112; CHECK-NEXT: move $a0, $fp
114113; CHECK-NEXT: pcaddu18i $ra, %call36(__powidf2)
115114; CHECK-NEXT: jirl $ra, $ra, 0
116115; CHECK-NEXT: # kill: def $f0_64 killed $f0_64 def $xr0
117- ; CHECK-NEXT: xvinsve0.d $xr0, $xr0, 0
118- ; CHECK-NEXT: xvst $xr0, $sp, 48 # 32-byte Folded Spill
119- ; CHECK-NEXT: xvld $xr0, $sp, 16 # 32-byte Folded Reload
120- ; CHECK-NEXT: xvpickve2gr.d $a0, $xr0, 1
116+ ; CHECK-NEXT: xvst $xr0, $sp, 16 # 32-byte Folded Spill
117+ ; CHECK-NEXT: xvld $xr0, $sp, 48 # 32-byte Folded Reload
118+ ; CHECK-NEXT: xvpickve2gr.d $a0, $xr0, 0
121119; CHECK-NEXT: movgr2fr.d $fa0, $a0
122120; CHECK-NEXT: move $a0, $fp
123121; CHECK-NEXT: pcaddu18i $ra, %call36(__powidf2)
124122; CHECK-NEXT: jirl $ra, $ra, 0
125123; CHECK-NEXT: # kill: def $f0_64 killed $f0_64 def $xr0
126- ; CHECK-NEXT: xvld $xr1, $sp, 48 # 32-byte Folded Reload
127- ; CHECK-NEXT: xvinsve0.d $xr1 , $xr0 , 1
128- ; CHECK-NEXT: xvst $xr1 , $sp, 48 # 32-byte Folded Spill
129- ; CHECK-NEXT: xvld $xr0, $sp, 16 # 32-byte Folded Reload
124+ ; CHECK-NEXT: xvld $xr1, $sp, 16 # 32-byte Folded Reload
125+ ; CHECK-NEXT: xvinsve0.d $xr0 , $xr1 , 1
126+ ; CHECK-NEXT: xvst $xr0 , $sp, 16 # 32-byte Folded Spill
127+ ; CHECK-NEXT: xvld $xr0, $sp, 48 # 32-byte Folded Reload
130128; CHECK-NEXT: xvpickve2gr.d $a0, $xr0, 2
131129; CHECK-NEXT: movgr2fr.d $fa0, $a0
132130; CHECK-NEXT: move $a0, $fp
133131; CHECK-NEXT: pcaddu18i $ra, %call36(__powidf2)
134132; CHECK-NEXT: jirl $ra, $ra, 0
135133; CHECK-NEXT: # kill: def $f0_64 killed $f0_64 def $xr0
136- ; CHECK-NEXT: xvld $xr1, $sp, 48 # 32-byte Folded Reload
134+ ; CHECK-NEXT: xvld $xr1, $sp, 16 # 32-byte Folded Reload
137135; CHECK-NEXT: xvinsve0.d $xr1, $xr0, 2
138- ; CHECK-NEXT: xvst $xr1, $sp, 48 # 32-byte Folded Spill
139- ; CHECK-NEXT: xvld $xr0, $sp, 16 # 32-byte Folded Reload
136+ ; CHECK-NEXT: xvst $xr1, $sp, 16 # 32-byte Folded Spill
137+ ; CHECK-NEXT: xvld $xr0, $sp, 48 # 32-byte Folded Reload
140138; CHECK-NEXT: xvpickve2gr.d $a0, $xr0, 3
141139; CHECK-NEXT: movgr2fr.d $fa0, $a0
142140; CHECK-NEXT: move $a0, $fp
143141; CHECK-NEXT: pcaddu18i $ra, %call36(__powidf2)
144142; CHECK-NEXT: jirl $ra, $ra, 0
145143; CHECK-NEXT: # kill: def $f0_64 killed $f0_64 def $xr0
146- ; CHECK-NEXT: xvld $xr1, $sp, 48 # 32-byte Folded Reload
144+ ; CHECK-NEXT: xvld $xr1, $sp, 16 # 32-byte Folded Reload
147145; CHECK-NEXT: xvinsve0.d $xr1, $xr0, 3
148146; CHECK-NEXT: xvori.b $xr0, $xr1, 0
149147; CHECK-NEXT: ld.d $fp, $sp, 80 # 8-byte Folded Reload
0 commit comments