History

lavu/riscv: require B or zba explicitly

Rémi Denis-Courmont committed 2 years ago

Commit 5f101731 parent e91a8cc2 files · +19 −19Browse files

Unified · Split

2 files
  1. libavutil/riscv/fixed_dsp_rvv.S +7 −7
  2. libavutil/riscv/float_dsp_rvv.S +12 −12
libavutil/riscv/fixed_dsp_rvv.S+7−7
@@ -20,7 +20,7 @@ · 19 unmodified lines
20 20
21#include "asm.S"21#include "asm.S"
22 22
23func ff_vector_fmul_window_scaled_rvv, zve64x23func ff_vector_fmul_window_scaled_rvv, zve64x, zba
24 csrwi vxrm, 024 csrwi vxrm, 0
25 vsetvli t0, zero, e16, m1, ta, ma25 vsetvli t0, zero, e16, m1, ta, ma
26 sh2add a2, a4, a226 sh2add a2, a4, a2
@@ -68,7 +68,7 @@ func ff_vector_fmul_window_scaled_rvv, zve64x · 41 unmodified lines
68 ret68 ret
69endfunc69endfunc
70 70
71func ff_vector_fmul_window_fixed_rvv, zve64x71func ff_vector_fmul_window_fixed_rvv, zve64x, zba
72 csrwi vxrm, 072 csrwi vxrm, 0
73 vsetvli t0, zero, e16, m1, ta, ma73 vsetvli t0, zero, e16, m1, ta, ma
74 sh2add a2, a4, a274 sh2add a2, a4, a2
@@ -112,7 +112,7 @@ func ff_vector_fmul_window_fixed_rvv, zve64x · 37 unmodified lines
112 ret112 ret
113endfunc113endfunc
114 114
115func ff_vector_fmul_fixed_rvv, zve32x115func ff_vector_fmul_fixed_rvv, zve32x, zba
116 csrwi vxrm, 0116 csrwi vxrm, 0
1171:1171:
118 vsetvli t0, a3, e32, m4, ta, ma118 vsetvli t0, a3, e32, m4, ta, ma
@@ -129,7 +129,7 @@ func ff_vector_fmul_fixed_rvv, zve32x · 10 unmodified lines
129 ret129 ret
130endfunc130endfunc
131 131
132func ff_vector_fmul_reverse_fixed_rvv, zve32x132func ff_vector_fmul_reverse_fixed_rvv, zve32x, zba
133 csrwi vxrm, 0133 csrwi vxrm, 0
134 // e16/m4 and e32/m8 are possible but slow the gathers down.134 // e16/m4 and e32/m8 are possible but slow the gathers down.
135 vsetvli t0, zero, e16, m1, ta, ma135 vsetvli t0, zero, e16, m1, ta, ma
@@ -155,7 +155,7 @@ func ff_vector_fmul_reverse_fixed_rvv, zve32x · 19 unmodified lines
155 ret155 ret
156endfunc156endfunc
157 157
158func ff_vector_fmul_add_fixed_rvv, zve32x158func ff_vector_fmul_add_fixed_rvv, zve32x, zba
159 csrwi vxrm, 0159 csrwi vxrm, 0
1601:1601:
161 vsetvli t0, a4, e32, m8, ta, ma161 vsetvli t0, a4, e32, m8, ta, ma
@@ -175,7 +175,7 @@ func ff_vector_fmul_add_fixed_rvv, zve32x · 13 unmodified lines
175 ret175 ret
176endfunc176endfunc
177 177
178func ff_scalarproduct_fixed_rvv, zve64x178func ff_scalarproduct_fixed_rvv, zve64x, zba
179 li t1, 1 << 30179 li t1, 1 << 30
180 vsetvli t0, zero, e64, m8, ta, ma180 vsetvli t0, zero, e64, m8, ta, ma
181 vmv.v.x v8, zero181 vmv.v.x v8, zero
@@ -198,7 +198,7 @@ func ff_scalarproduct_fixed_rvv, zve64x · 16 unmodified lines
198endfunc198endfunc
199 199
200// (a0) = (a0) + (a1), (a1) = (a0) - (a1) [0..a2-1]200// (a0) = (a0) + (a1), (a1) = (a0) - (a1) [0..a2-1]
201func ff_butterflies_fixed_rvv, zve32x201func ff_butterflies_fixed_rvv, zve32x, zba
2021:2021:
203 vsetvli t0, a2, e32, m4, ta, ma203 vsetvli t0, a2, e32, m4, ta, ma
204 vle32.v v16, (a0)204 vle32.v v16, (a0)
libavutil/riscv/float_dsp_rvv.S+12−12
@@ -21,7 +21,7 @@ · 20 unmodified lines
21#include "asm.S"21#include "asm.S"
22 22
23// (a0) = (a1) * (a2) [0..a3-1]23// (a0) = (a1) * (a2) [0..a3-1]
24func ff_vector_fmul_rvv, zve32f24func ff_vector_fmul_rvv, zve32f, zba
251:251:
26 vsetvli t0, a3, e32, m8, ta, ma26 vsetvli t0, a3, e32, m8, ta, ma
27 vle32.v v16, (a1)27 vle32.v v16, (a1)
@@ -38,7 +38,7 @@ func ff_vector_fmul_rvv, zve32f · 10 unmodified lines
38endfunc38endfunc
39 39
40// (a0) += (a1) * fa0 [0..a2-1]40// (a0) += (a1) * fa0 [0..a2-1]
41func ff_vector_fmac_scalar_rvv, zve32f41func ff_vector_fmac_scalar_rvv, zve32f, zba
42NOHWF fmv.w.x fa0, a242NOHWF fmv.w.x fa0, a2
43NOHWF mv a2, a343NOHWF mv a2, a3
441:441:
@@ -57,7 +57,7 @@ NOHWF mv a2, a3 · 12 unmodified lines
57endfunc57endfunc
58 58
59// (a0) = (a1) * fa0 [0..a2-1]59// (a0) = (a1) * fa0 [0..a2-1]
60func ff_vector_fmul_scalar_rvv, zve32f60func ff_vector_fmul_scalar_rvv, zve32f, zba
61NOHWF fmv.w.x fa0, a261NOHWF fmv.w.x fa0, a2
62NOHWF mv a2, a362NOHWF mv a2, a3
631:631:
@@ -73,7 +73,7 @@ NOHWF mv a2, a3 · 9 unmodified lines
73 ret73 ret
74endfunc74endfunc
75 75
76func ff_vector_fmul_window_rvv, zve32f76func ff_vector_fmul_window_rvv, zve32f, zba
77 // a0: dst, a1: src0, a2: src1, a3: window, a4: length77 // a0: dst, a1: src0, a2: src1, a3: window, a4: length
78 // e16/m2 and e32/m4 are possible but slower due to gather.78 // e16/m2 and e32/m4 are possible but slower due to gather.
79 vsetvli t0, zero, e16, m1, ta, ma79 vsetvli t0, zero, e16, m1, ta, ma
@@ -113,7 +113,7 @@ func ff_vector_fmul_window_rvv, zve32f · 33 unmodified lines
113endfunc113endfunc
114 114
115// (a0) = (a1) * (a2) + (a3) [0..a4-1]115// (a0) = (a1) * (a2) + (a3) [0..a4-1]
116func ff_vector_fmul_add_rvv, zve32f116func ff_vector_fmul_add_rvv, zve32f, zba
1171:1171:
118 vsetvli t0, a4, e32, m8, ta, ma118 vsetvli t0, a4, e32, m8, ta, ma
119 vle32.v v8, (a1)119 vle32.v v8, (a1)
@@ -133,7 +133,7 @@ endfunc · 13 unmodified lines
133 133
134// TODO factor vrsub, separate last iteration?134// TODO factor vrsub, separate last iteration?
135// (a0) = (a1) * reverse(a2) [0..a3-1]135// (a0) = (a1) * reverse(a2) [0..a3-1]
136func ff_vector_fmul_reverse_rvv, zve32f136func ff_vector_fmul_reverse_rvv, zve32f, zba
137 // e16/m4 and e32/m8 are possible but slower due to gather.137 // e16/m4 and e32/m8 are possible but slower due to gather.
138 vsetvli t0, zero, e16, m1, ta, ma138 vsetvli t0, zero, e16, m1, ta, ma
139 sh2add a2, a3, a2139 sh2add a2, a3, a2
@@ -159,7 +159,7 @@ func ff_vector_fmul_reverse_rvv, zve32f · 19 unmodified lines
159endfunc159endfunc
160 160
161// (a0) = (a0) + (a1), (a1) = (a0) - (a1) [0..a2-1]161// (a0) = (a0) + (a1), (a1) = (a0) - (a1) [0..a2-1]
162func ff_butterflies_float_rvv, zve32f162func ff_butterflies_float_rvv, zve32f, zba
1631:1631:
164 vsetvli t0, a2, e32, m8, ta, ma164 vsetvli t0, a2, e32, m8, ta, ma
165 vle32.v v16, (a0)165 vle32.v v16, (a0)
@@ -177,7 +177,7 @@ func ff_butterflies_float_rvv, zve32f · 11 unmodified lines
177endfunc177endfunc
178 178
179// a0 = (a0).(a1) [0..a2-1]179// a0 = (a0).(a1) [0..a2-1]
180func ff_scalarproduct_float_rvv, zve32f180func ff_scalarproduct_float_rvv, zve32f, zba
181 vsetvli t0, zero, e32, m8, ta, ma181 vsetvli t0, zero, e32, m8, ta, ma
182 vmv.v.x v8, zero182 vmv.v.x v8, zero
183 vmv.s.x v0, zero183 vmv.s.x v0, zero
@@ -199,7 +199,7 @@ NOHWF fmv.x.w a0, fa0 · 15 unmodified lines
199endfunc199endfunc
200 200
201// (a0) = (a1) * (a2) [0..a3-1]201// (a0) = (a1) * (a2) [0..a3-1]
202func ff_vector_dmul_rvv, zve64d202func ff_vector_dmul_rvv, zve64d, zba
2031:2031:
204 vsetvli t0, a3, e64, m8, ta, ma204 vsetvli t0, a3, e64, m8, ta, ma
205 vle64.v v16, (a1)205 vle64.v v16, (a1)
@@ -216,7 +216,7 @@ func ff_vector_dmul_rvv, zve64d · 10 unmodified lines
216endfunc216endfunc
217 217
218// (a0) += (a1) * fa0 [0..a2-1]218// (a0) += (a1) * fa0 [0..a2-1]
219func ff_vector_dmac_scalar_rvv, zve64d219func ff_vector_dmac_scalar_rvv, zve64d, zba
220NOHWD fmv.d.x fa0, a2220NOHWD fmv.d.x fa0, a2
221NOHWD mv a2, a3221NOHWD mv a2, a3
2221:2221:
@@ -234,7 +234,7 @@ NOHWD mv a2, a3 · 11 unmodified lines
234endfunc234endfunc
235 235
236// (a0) = (a1) * fa0 [0..a2-1]236// (a0) = (a1) * fa0 [0..a2-1]
237func ff_vector_dmul_scalar_rvv, zve64d237func ff_vector_dmul_scalar_rvv, zve64d, zba
238NOHWD fmv.d.x fa0, a2238NOHWD fmv.d.x fa0, a2
239NOHWD mv a2, a3239NOHWD mv a2, a3
2401:2401:
@@ -250,7 +250,7 @@ NOHWD mv a2, a3 · 9 unmodified lines
250 ret250 ret
251endfunc251endfunc
252 252
253func ff_scalarproduct_double_rvv, zve64f253func ff_scalarproduct_double_rvv, zve64f, zba
254 vsetvli t0, zero, e64, m8, ta, ma254 vsetvli t0, zero, e64, m8, ta, ma
255 vmv.v.x v8, zero255 vmv.v.x v8, zero
256 vmv.s.x v0, zero256 vmv.s.x v0, zero

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t