|
|
@ -33,11 +33,13 @@ |
|
|
|
vmv.v.x v16, zero |
|
|
|
vmv.v.x v16, zero |
|
|
|
vle8.v v8, (a3) |
|
|
|
vle8.v v8, (a3) |
|
|
|
avgdc \size |
|
|
|
avgdc \size |
|
|
|
.elseif \type == left |
|
|
|
.else |
|
|
|
|
|
|
|
.ifc \type,left |
|
|
|
vmv.v.x v16, zero |
|
|
|
vmv.v.x v16, zero |
|
|
|
vle8.v v8, (a2) |
|
|
|
vle8.v v8, (a2) |
|
|
|
avgdc \size |
|
|
|
avgdc \size |
|
|
|
.elseif \type == dc |
|
|
|
.else |
|
|
|
|
|
|
|
.ifc \type,dc |
|
|
|
vmv.v.x v16, zero |
|
|
|
vmv.v.x v16, zero |
|
|
|
vle8.v v8, (a2) |
|
|
|
vle8.v v8, (a2) |
|
|
|
vwredsumu.vs v16, v8, v16 |
|
|
|
vwredsumu.vs v16, v8, v16 |
|
|
@ -46,6 +48,8 @@ |
|
|
|
.else |
|
|
|
.else |
|
|
|
li t1, \type |
|
|
|
li t1, \type |
|
|
|
.endif |
|
|
|
.endif |
|
|
|
|
|
|
|
.endif |
|
|
|
|
|
|
|
.endif |
|
|
|
.endm |
|
|
|
.endm |
|
|
|
|
|
|
|
|
|
|
|
.macro dc_e32 type size n restore |
|
|
|
.macro dc_e32 type size n restore |
|
|
@ -87,7 +91,7 @@ |
|
|
|
|
|
|
|
|
|
|
|
.macro func_dc name size type n restore ext |
|
|
|
.macro func_dc name size type n restore ext |
|
|
|
func ff_\()\name\()_\()\size\()x\size\()_rvv, \ext |
|
|
|
func ff_\()\name\()_\()\size\()x\size\()_rvv, \ext |
|
|
|
.ifc \size,8 |
|
|
|
.if \size == 8 |
|
|
|
dc_e64 \type \size \n \restore |
|
|
|
dc_e64 \type \size \n \restore |
|
|
|
.else |
|
|
|
.else |
|
|
|
dc_e32 \type \size \n \restore |
|
|
|
dc_e32 \type \size \n \restore |
|
|
|