📄 低效32bytesmask.txt
字号:
.global _osd
;.global _MyFun
; A4 --> pIn0
; B4 --> pMask
; A6 --> nlongth
;_MyFun:
; mvk .s1 0x3,a1
; mvk .s1 0x2,a2
; and .l1 a1,a2,a1
; cmpeq4 .s1 a2,a1,a2
; xpnd4 .m1 a1,a1
_osd:
; mvkl .s1 0x7c3839b0,a4
; mvkh .s1 0x7c3839b0,a4
; mvkl .s2 0x7c383800,b4
; mvkh .s2 0x7c383800,b4
lddw .d2 *b4++,a29:a28
|| MV .S2X A6,B1
|| mv .L2 b4,b5
lddw .d1 *a4++,a31:a30
|| lddw .d2 *b4++,b29:b28 ;++++1
|| zero .l1 a9
|| mv .s1 a4,a5
|| SHR .S2 B1,4,B1
; lddw .d2 *b4++,b29:b28
;|| lddw .d1 *a4++,b31:b30
lddw .d1 *a4++,b31:b30 ;++++1
|| SUB .D2 B1,2,B1
LOOP:
NOP 2
;Get a29,a28 (mask64_1)
cmpeq4 .s1 a9,a29,a27
;Get a31,a30 (src64_1);Get b29,b28(mask64_2)
xpnd4 .m1 a27,a25
|| cmpeq4 .s1 a9,a28,a26
|| cmpeq4 .s2 a9,b29,b27 ;+++++1
xpnd4 .m1 a26,a24
|| xpnd4 .m2 b27,b25 ;+++++1
|| cmpeq4 .s2 a9,b28,b26 ;+++++1
;Get b31,b30 (src64_2)
and .l1 a25,a31,a31
|| xpnd4 .m2 b26,b24 ;+++++1
and .s1 a24,a30,a30
|| and .l2 b25,b31,b31 ;+++++1
or .l1 a29,a31,a31
|| and .D2 b24,b30,b30 ;+++++1
|| or .l2 b29,b31,b31 ;+++++1
|| BDEC .S2 LOOP, B1 ;JUMP
or .l1 a28,a30,a30
|| or .l2 b28,b30,b30 ;+++++1
stdw .d1 a31:a30,*a5++
stdw .d1 b31:b30,*a5++ ;+++++1
|| lddw .d2 *b4++,a29:a28 ;++++2
lddw .d1 *a4++,a31:a30 ;++++2
|| lddw .d2 *b4++,b29:b28 ;++++3
lddw .d1 *a4++,b31:b30 ;++++3
b .s2 b3
nop 5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -