@@ -16,78 +16,79 @@ define <8 x float> @powi_v8f32(<8 x float> %va, i32 %b) nounwind {
16
16
; CHECK-NEXT: move $a0, $fp
17
17
; CHECK-NEXT: pcaddu18i $ra, %call36(__powisf2)
18
18
; CHECK-NEXT: jirl $ra, $ra, 0
19
- ; CHECK-NEXT: movfr2gr.s $a0, $fa0
20
- ; CHECK-NEXT: xvinsgr2vr .w $xr0, $a0 , 0
19
+ ; CHECK-NEXT: # kill: def $f0 killed $f0 def $xr0
20
+ ; CHECK-NEXT: xvinsve0 .w $xr0, $xr0 , 0
21
21
; CHECK-NEXT: xvst $xr0, $sp, 48 # 32-byte Folded Spill
22
22
; CHECK-NEXT: xvld $xr0, $sp, 16 # 32-byte Folded Reload
23
23
; CHECK-NEXT: xvpickve2gr.w $a0, $xr0, 1
24
24
; CHECK-NEXT: movgr2fr.w $fa0, $a0
25
25
; CHECK-NEXT: move $a0, $fp
26
26
; CHECK-NEXT: pcaddu18i $ra, %call36(__powisf2)
27
27
; CHECK-NEXT: jirl $ra, $ra, 0
28
- ; CHECK-NEXT: movfr2gr.s $a0, $fa0
29
- ; CHECK-NEXT: xvld $xr0 , $sp, 48 # 32-byte Folded Reload
30
- ; CHECK-NEXT: xvinsgr2vr .w $xr0 , $a0 , 1
31
- ; CHECK-NEXT: xvst $xr0 , $sp, 48 # 32-byte Folded Spill
28
+ ; CHECK-NEXT: # kill: def $f0 killed $f0 def $xr0
29
+ ; 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
32
32
; CHECK-NEXT: xvld $xr0, $sp, 16 # 32-byte Folded Reload
33
33
; CHECK-NEXT: xvpickve2gr.w $a0, $xr0, 2
34
34
; CHECK-NEXT: movgr2fr.w $fa0, $a0
35
35
; CHECK-NEXT: move $a0, $fp
36
36
; CHECK-NEXT: pcaddu18i $ra, %call36(__powisf2)
37
37
; CHECK-NEXT: jirl $ra, $ra, 0
38
- ; CHECK-NEXT: movfr2gr.s $a0, $fa0
39
- ; CHECK-NEXT: xvld $xr0 , $sp, 48 # 32-byte Folded Reload
40
- ; CHECK-NEXT: xvinsgr2vr .w $xr0 , $a0 , 2
41
- ; CHECK-NEXT: xvst $xr0 , $sp, 48 # 32-byte Folded Spill
38
+ ; CHECK-NEXT: # kill: def $f0 killed $f0 def $xr0
39
+ ; CHECK-NEXT: xvld $xr1 , $sp, 48 # 32-byte Folded Reload
40
+ ; CHECK-NEXT: xvinsve0 .w $xr1 , $xr0 , 2
41
+ ; CHECK-NEXT: xvst $xr1 , $sp, 48 # 32-byte Folded Spill
42
42
; CHECK-NEXT: xvld $xr0, $sp, 16 # 32-byte Folded Reload
43
43
; CHECK-NEXT: xvpickve2gr.w $a0, $xr0, 3
44
44
; CHECK-NEXT: movgr2fr.w $fa0, $a0
45
45
; CHECK-NEXT: move $a0, $fp
46
46
; CHECK-NEXT: pcaddu18i $ra, %call36(__powisf2)
47
47
; CHECK-NEXT: jirl $ra, $ra, 0
48
- ; CHECK-NEXT: movfr2gr.s $a0, $fa0
49
- ; CHECK-NEXT: xvld $xr0 , $sp, 48 # 32-byte Folded Reload
50
- ; CHECK-NEXT: xvinsgr2vr .w $xr0 , $a0 , 3
51
- ; CHECK-NEXT: xvst $xr0 , $sp, 48 # 32-byte Folded Spill
48
+ ; CHECK-NEXT: # kill: def $f0 killed $f0 def $xr0
49
+ ; CHECK-NEXT: xvld $xr1 , $sp, 48 # 32-byte Folded Reload
50
+ ; CHECK-NEXT: xvinsve0 .w $xr1 , $xr0 , 3
51
+ ; CHECK-NEXT: xvst $xr1 , $sp, 48 # 32-byte Folded Spill
52
52
; CHECK-NEXT: xvld $xr0, $sp, 16 # 32-byte Folded Reload
53
53
; CHECK-NEXT: xvpickve2gr.w $a0, $xr0, 4
54
54
; CHECK-NEXT: movgr2fr.w $fa0, $a0
55
55
; CHECK-NEXT: move $a0, $fp
56
56
; CHECK-NEXT: pcaddu18i $ra, %call36(__powisf2)
57
57
; CHECK-NEXT: jirl $ra, $ra, 0
58
- ; CHECK-NEXT: movfr2gr.s $a0, $fa0
59
- ; CHECK-NEXT: xvld $xr0 , $sp, 48 # 32-byte Folded Reload
60
- ; CHECK-NEXT: xvinsgr2vr .w $xr0 , $a0 , 4
61
- ; CHECK-NEXT: xvst $xr0 , $sp, 48 # 32-byte Folded Spill
58
+ ; CHECK-NEXT: # kill: def $f0 killed $f0 def $xr0
59
+ ; CHECK-NEXT: xvld $xr1 , $sp, 48 # 32-byte Folded Reload
60
+ ; CHECK-NEXT: xvinsve0 .w $xr1 , $xr0 , 4
61
+ ; CHECK-NEXT: xvst $xr1 , $sp, 48 # 32-byte Folded Spill
62
62
; CHECK-NEXT: xvld $xr0, $sp, 16 # 32-byte Folded Reload
63
63
; CHECK-NEXT: xvpickve2gr.w $a0, $xr0, 5
64
64
; CHECK-NEXT: movgr2fr.w $fa0, $a0
65
65
; CHECK-NEXT: move $a0, $fp
66
66
; CHECK-NEXT: pcaddu18i $ra, %call36(__powisf2)
67
67
; CHECK-NEXT: jirl $ra, $ra, 0
68
- ; CHECK-NEXT: movfr2gr.s $a0, $fa0
69
- ; CHECK-NEXT: xvld $xr0 , $sp, 48 # 32-byte Folded Reload
70
- ; CHECK-NEXT: xvinsgr2vr .w $xr0 , $a0 , 5
71
- ; CHECK-NEXT: xvst $xr0 , $sp, 48 # 32-byte Folded Spill
68
+ ; CHECK-NEXT: # kill: def $f0 killed $f0 def $xr0
69
+ ; CHECK-NEXT: xvld $xr1 , $sp, 48 # 32-byte Folded Reload
70
+ ; CHECK-NEXT: xvinsve0 .w $xr1 , $xr0 , 5
71
+ ; CHECK-NEXT: xvst $xr1 , $sp, 48 # 32-byte Folded Spill
72
72
; CHECK-NEXT: xvld $xr0, $sp, 16 # 32-byte Folded Reload
73
73
; CHECK-NEXT: xvpickve2gr.w $a0, $xr0, 6
74
74
; CHECK-NEXT: movgr2fr.w $fa0, $a0
75
75
; CHECK-NEXT: move $a0, $fp
76
76
; CHECK-NEXT: pcaddu18i $ra, %call36(__powisf2)
77
77
; CHECK-NEXT: jirl $ra, $ra, 0
78
- ; CHECK-NEXT: movfr2gr.s $a0, $fa0
79
- ; CHECK-NEXT: xvld $xr0 , $sp, 48 # 32-byte Folded Reload
80
- ; CHECK-NEXT: xvinsgr2vr .w $xr0 , $a0 , 6
81
- ; CHECK-NEXT: xvst $xr0 , $sp, 48 # 32-byte Folded Spill
78
+ ; CHECK-NEXT: # kill: def $f0 killed $f0 def $xr0
79
+ ; CHECK-NEXT: xvld $xr1 , $sp, 48 # 32-byte Folded Reload
80
+ ; CHECK-NEXT: xvinsve0 .w $xr1 , $xr0 , 6
81
+ ; CHECK-NEXT: xvst $xr1 , $sp, 48 # 32-byte Folded Spill
82
82
; CHECK-NEXT: xvld $xr0, $sp, 16 # 32-byte Folded Reload
83
83
; CHECK-NEXT: xvpickve2gr.w $a0, $xr0, 7
84
84
; CHECK-NEXT: movgr2fr.w $fa0, $a0
85
85
; CHECK-NEXT: move $a0, $fp
86
86
; CHECK-NEXT: pcaddu18i $ra, %call36(__powisf2)
87
87
; CHECK-NEXT: jirl $ra, $ra, 0
88
- ; CHECK-NEXT: movfr2gr.s $a0, $fa0
89
- ; CHECK-NEXT: xvld $xr0, $sp, 48 # 32-byte Folded Reload
90
- ; CHECK-NEXT: xvinsgr2vr.w $xr0, $a0, 7
88
+ ; CHECK-NEXT: # kill: def $f0 killed $f0 def $xr0
89
+ ; CHECK-NEXT: xvld $xr1, $sp, 48 # 32-byte Folded Reload
90
+ ; CHECK-NEXT: xvinsve0.w $xr1, $xr0, 7
91
+ ; CHECK-NEXT: xvori.b $xr0, $xr1, 0
91
92
; CHECK-NEXT: ld.d $fp, $sp, 80 # 8-byte Folded Reload
92
93
; CHECK-NEXT: ld.d $ra, $sp, 88 # 8-byte Folded Reload
93
94
; CHECK-NEXT: addi.d $sp, $sp, 96
@@ -112,38 +113,39 @@ define <4 x double> @powi_v4f64(<4 x double> %va, i32 %b) nounwind {
112
113
; CHECK-NEXT: move $a0, $fp
113
114
; CHECK-NEXT: pcaddu18i $ra, %call36(__powidf2)
114
115
; CHECK-NEXT: jirl $ra, $ra, 0
115
- ; CHECK-NEXT: movfr2gr.d $a0, $fa0
116
- ; CHECK-NEXT: xvinsgr2vr .d $xr0, $a0 , 0
116
+ ; CHECK-NEXT: # kill: def $f0_64 killed $f0_64 def $xr0
117
+ ; CHECK-NEXT: xvinsve0 .d $xr0, $xr0 , 0
117
118
; CHECK-NEXT: xvst $xr0, $sp, 48 # 32-byte Folded Spill
118
119
; CHECK-NEXT: xvld $xr0, $sp, 16 # 32-byte Folded Reload
119
120
; CHECK-NEXT: xvpickve2gr.d $a0, $xr0, 1
120
121
; CHECK-NEXT: movgr2fr.d $fa0, $a0
121
122
; CHECK-NEXT: move $a0, $fp
122
123
; CHECK-NEXT: pcaddu18i $ra, %call36(__powidf2)
123
124
; CHECK-NEXT: jirl $ra, $ra, 0
124
- ; CHECK-NEXT: movfr2gr.d $a0, $fa0
125
- ; CHECK-NEXT: xvld $xr0 , $sp, 48 # 32-byte Folded Reload
126
- ; CHECK-NEXT: xvinsgr2vr .d $xr0 , $a0 , 1
127
- ; CHECK-NEXT: xvst $xr0 , $sp, 48 # 32-byte Folded Spill
125
+ ; 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
128
129
; CHECK-NEXT: xvld $xr0, $sp, 16 # 32-byte Folded Reload
129
130
; CHECK-NEXT: xvpickve2gr.d $a0, $xr0, 2
130
131
; CHECK-NEXT: movgr2fr.d $fa0, $a0
131
132
; CHECK-NEXT: move $a0, $fp
132
133
; CHECK-NEXT: pcaddu18i $ra, %call36(__powidf2)
133
134
; CHECK-NEXT: jirl $ra, $ra, 0
134
- ; CHECK-NEXT: movfr2gr.d $a0, $fa0
135
- ; CHECK-NEXT: xvld $xr0 , $sp, 48 # 32-byte Folded Reload
136
- ; CHECK-NEXT: xvinsgr2vr .d $xr0 , $a0 , 2
137
- ; CHECK-NEXT: xvst $xr0 , $sp, 48 # 32-byte Folded Spill
135
+ ; CHECK-NEXT: # kill: def $f0_64 killed $f0_64 def $xr0
136
+ ; CHECK-NEXT: xvld $xr1 , $sp, 48 # 32-byte Folded Reload
137
+ ; CHECK-NEXT: xvinsve0 .d $xr1 , $xr0 , 2
138
+ ; CHECK-NEXT: xvst $xr1 , $sp, 48 # 32-byte Folded Spill
138
139
; CHECK-NEXT: xvld $xr0, $sp, 16 # 32-byte Folded Reload
139
140
; CHECK-NEXT: xvpickve2gr.d $a0, $xr0, 3
140
141
; CHECK-NEXT: movgr2fr.d $fa0, $a0
141
142
; CHECK-NEXT: move $a0, $fp
142
143
; CHECK-NEXT: pcaddu18i $ra, %call36(__powidf2)
143
144
; CHECK-NEXT: jirl $ra, $ra, 0
144
- ; CHECK-NEXT: movfr2gr.d $a0, $fa0
145
- ; CHECK-NEXT: xvld $xr0, $sp, 48 # 32-byte Folded Reload
146
- ; CHECK-NEXT: xvinsgr2vr.d $xr0, $a0, 3
145
+ ; CHECK-NEXT: # kill: def $f0_64 killed $f0_64 def $xr0
146
+ ; CHECK-NEXT: xvld $xr1, $sp, 48 # 32-byte Folded Reload
147
+ ; CHECK-NEXT: xvinsve0.d $xr1, $xr0, 3
148
+ ; CHECK-NEXT: xvori.b $xr0, $xr1, 0
147
149
; CHECK-NEXT: ld.d $fp, $sp, 80 # 8-byte Folded Reload
148
150
; CHECK-NEXT: ld.d $ra, $sp, 88 # 8-byte Folded Reload
149
151
; CHECK-NEXT: addi.d $sp, $sp, 96
0 commit comments