@ -190,38 +190,41 @@ func ff_ps_hybrid_analysis_ileave_rvv, zve32x /* no needs for zve32f here */
ret
endfunc
func f f _ p s _ h y b r i d _ s y n t h e s i s _ d e i n t _ r v v , z v e 3 2 x
slli t 1 , a2 , 5 + 1 + 2
sh2 a d d a0 , a2 , a0
add a1 , a1 , t 1
addi a2 , a2 , - 6 4
li t 1 , 3 8 * 6 4 * 4
li t 6 , 6 4 * 4
add a4 , a0 , t 1
beqz a2 , 3 f
func f f _ p s _ h y b r i d _ s y n t h e s i s _ d e i n t _ r v v , z v e 6 4 x
slli t 0 , a2 , 5 + 1 + 2
sh2 a d d a0 , a2 , a0
add a1 , a1 , t 0
addi t 2 , a2 , - 6 4
li t 0 , 3 8 * 6 4
li t 1 , 3 2 * 2 * 4
li t 4 , 8 - 1 6 3 8 4 / / o f f s e t f r o m i n [ 6 4 ] [ n ] [ 0 ] t o i n [ 0 ] [ n + 1 ] [ 0 ]
slli t 5 , a2 , 5 + 1 + 2 / / a n d f r o m i n [ 0 ] [ n + 1 ] [ 0 ] t o i n [ 0 ] [ n + 1 ] [ s ]
neg t 2 , t 2
li t 3 , 3 2
add a4 , t 4 , t 5
sh2 a d d t 0 , t 0 , a0
1 :
mv t 0 , a0
mv t 1 , a1
mv t 3 , a3
mv t 4 , a4
addi a2 , a2 , 1
mv t 4 , t 2
addi a3 , a3 , - 1
2 :
vsetvli t 5 , t 3 , e 3 2 , m 4 , t a , m a
vlseg2 e 3 2 . v v16 , ( t 1 )
sub t 3 , t 3 , t 5
vsse3 2 . v v16 , ( t 0 ) , t 6
mul t 2 , t 5 , t 6
vsse3 2 . v v20 , ( t 4 ) , t 6
sh3 a d d t 1 , t 5 , t 1
add t 0 , t 0 , t 2
add t 4 , t 4 , t 2
bnez t 3 , 2 b
vsetvli t 5 , t 4 , e 3 2 , m 4 , t a , m a
vlse6 4 . v v16 , ( a1 ) , t 1 / * s i z e o f ( f l o a t [ 3 2 ] [ 2 ] ) * /
sub t 4 , t 4 , t 5
vnsrl. w x v24 , v16 , z e r o
slli t 6 , t 5 , 5 + 1 + 2
vnsrl. w x v28 , v16 , t 3 / * 3 2 * /
add a1 , a1 , t 6
vse3 2 . v v24 , ( a0 )
sh2 a d d a0 , t 5 , a0
vse3 2 . v v28 , ( t 0 )
sh2 a d d t 0 , t 5 , t 0
bnez t 4 , 2 b
add a1 , a1 , a4
sh2 a d d a0 , a2 , a0
sh2 a d d t 0 , a2 , t 0
bnez a3 , 1 b
add a0 , a0 , 4
add a1 , a1 , 3 2 * 2 * 4
add a4 , a4 , 4
bnez a2 , 1 b
3 :
ret
endfunc