420 lines
7.1 KiB
ArmAsm
420 lines
7.1 KiB
ArmAsm
// Differential kernel: immediate range boundaries for the vector
|
|
// immediate forms (min, mid and max of each accepted window).
|
|
|
|
#include "textflag.h"
|
|
|
|
TEXT ·VSEQBbounds(SB), NOSPLIT, $0
|
|
VSEQB $-16, V2, V3
|
|
VSEQB $15, V2, V3
|
|
VSEQB $0, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSEQHbounds(SB), NOSPLIT, $0
|
|
VSEQH $-16, V2, V3
|
|
VSEQH $15, V2, V3
|
|
VSEQH $0, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSEQWbounds(SB), NOSPLIT, $0
|
|
VSEQW $-16, V2, V3
|
|
VSEQW $15, V2, V3
|
|
VSEQW $0, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSEQVbounds(SB), NOSPLIT, $0
|
|
VSEQV $-16, V2, V3
|
|
VSEQV $15, V2, V3
|
|
VSEQV $0, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSLTBbounds(SB), NOSPLIT, $0
|
|
VSLTB $-16, V2, V3
|
|
VSLTB $15, V2, V3
|
|
VSLTB $0, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSLTHbounds(SB), NOSPLIT, $0
|
|
VSLTH $-16, V2, V3
|
|
VSLTH $15, V2, V3
|
|
VSLTH $0, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSLTWbounds(SB), NOSPLIT, $0
|
|
VSLTW $-16, V2, V3
|
|
VSLTW $15, V2, V3
|
|
VSLTW $0, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSLTVbounds(SB), NOSPLIT, $0
|
|
VSLTV $-16, V2, V3
|
|
VSLTV $15, V2, V3
|
|
VSLTV $0, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSLTBUbounds(SB), NOSPLIT, $0
|
|
VSLTBU $0, V2, V3
|
|
VSLTBU $31, V2, V3
|
|
VSLTBU $15, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSLTHUbounds(SB), NOSPLIT, $0
|
|
VSLTHU $0, V2, V3
|
|
VSLTHU $31, V2, V3
|
|
VSLTHU $15, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSLTWUbounds(SB), NOSPLIT, $0
|
|
VSLTWU $0, V2, V3
|
|
VSLTWU $31, V2, V3
|
|
VSLTWU $15, V2, V3
|
|
RET
|
|
|
|
TEXT ·VSLTVUbounds(SB), NOSPLIT, $0
|
|
VSLTVU $0, V2, V3
|
|
VSLTVU $31, V2, V3
|
|
VSLTVU $15, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDBUbounds(SB), NOSPLIT, $0
|
|
VADDBU $0, V2, V3
|
|
VADDBU $31, V2, V3
|
|
VADDBU $15, V2, V3
|
|
VADDBU $15, V2
|
|
RET
|
|
|
|
TEXT ·VADDHUbounds(SB), NOSPLIT, $0
|
|
VADDHU $0, V2, V3
|
|
VADDHU $31, V2, V3
|
|
VADDHU $15, V2, V3
|
|
VADDHU $15, V2
|
|
RET
|
|
|
|
TEXT ·VADDWUbounds(SB), NOSPLIT, $0
|
|
VADDWU $0, V2, V3
|
|
VADDWU $31, V2, V3
|
|
VADDWU $15, V2, V3
|
|
VADDWU $15, V2
|
|
RET
|
|
|
|
TEXT ·VADDVUbounds(SB), NOSPLIT, $0
|
|
VADDVU $0, V2, V3
|
|
VADDVU $31, V2, V3
|
|
VADDVU $15, V2, V3
|
|
VADDVU $15, V2
|
|
RET
|
|
|
|
TEXT ·VSUBBUbounds(SB), NOSPLIT, $0
|
|
VSUBBU $0, V2, V3
|
|
VSUBBU $31, V2, V3
|
|
VSUBBU $15, V2, V3
|
|
VSUBBU $15, V2
|
|
RET
|
|
|
|
TEXT ·VSUBHUbounds(SB), NOSPLIT, $0
|
|
VSUBHU $0, V2, V3
|
|
VSUBHU $31, V2, V3
|
|
VSUBHU $15, V2, V3
|
|
VSUBHU $15, V2
|
|
RET
|
|
|
|
TEXT ·VSUBWUbounds(SB), NOSPLIT, $0
|
|
VSUBWU $0, V2, V3
|
|
VSUBWU $31, V2, V3
|
|
VSUBWU $15, V2, V3
|
|
VSUBWU $15, V2
|
|
RET
|
|
|
|
TEXT ·VSUBVUbounds(SB), NOSPLIT, $0
|
|
VSUBVU $0, V2, V3
|
|
VSUBVU $31, V2, V3
|
|
VSUBVU $15, V2, V3
|
|
VSUBVU $15, V2
|
|
RET
|
|
|
|
TEXT ·VANDBbounds(SB), NOSPLIT, $0
|
|
VANDB $0, V2, V3
|
|
VANDB $255, V2, V3
|
|
VANDB $127, V2, V3
|
|
VANDB $127, V2
|
|
RET
|
|
|
|
TEXT ·VBITCLRBbounds(SB), NOSPLIT, $0
|
|
VBITCLRB $0, V2, V3
|
|
VBITCLRB $7, V2, V3
|
|
VBITCLRB $3, V2, V3
|
|
VBITCLRB $3, V2
|
|
RET
|
|
|
|
TEXT ·VBITCLRHbounds(SB), NOSPLIT, $0
|
|
VBITCLRH $0, V2, V3
|
|
VBITCLRH $15, V2, V3
|
|
VBITCLRH $7, V2, V3
|
|
VBITCLRH $7, V2
|
|
RET
|
|
|
|
TEXT ·VBITCLRVbounds(SB), NOSPLIT, $0
|
|
VBITCLRV $0, V2, V3
|
|
VBITCLRV $63, V2, V3
|
|
VBITCLRV $31, V2, V3
|
|
VBITCLRV $31, V2
|
|
RET
|
|
|
|
TEXT ·VBITCLRWbounds(SB), NOSPLIT, $0
|
|
VBITCLRW $0, V2, V3
|
|
VBITCLRW $31, V2, V3
|
|
VBITCLRW $15, V2, V3
|
|
VBITCLRW $15, V2
|
|
RET
|
|
|
|
TEXT ·VBITREVBbounds(SB), NOSPLIT, $0
|
|
VBITREVB $0, V2, V3
|
|
VBITREVB $7, V2, V3
|
|
VBITREVB $3, V2, V3
|
|
VBITREVB $3, V2
|
|
RET
|
|
|
|
TEXT ·VBITREVHbounds(SB), NOSPLIT, $0
|
|
VBITREVH $0, V2, V3
|
|
VBITREVH $15, V2, V3
|
|
VBITREVH $7, V2, V3
|
|
VBITREVH $7, V2
|
|
RET
|
|
|
|
TEXT ·VBITREVVbounds(SB), NOSPLIT, $0
|
|
VBITREVV $0, V2, V3
|
|
VBITREVV $63, V2, V3
|
|
VBITREVV $31, V2, V3
|
|
VBITREVV $31, V2
|
|
RET
|
|
|
|
TEXT ·VBITREVWbounds(SB), NOSPLIT, $0
|
|
VBITREVW $0, V2, V3
|
|
VBITREVW $31, V2, V3
|
|
VBITREVW $15, V2, V3
|
|
VBITREVW $15, V2
|
|
RET
|
|
|
|
TEXT ·VBITSETBbounds(SB), NOSPLIT, $0
|
|
VBITSETB $0, V2, V3
|
|
VBITSETB $7, V2, V3
|
|
VBITSETB $3, V2, V3
|
|
VBITSETB $3, V2
|
|
RET
|
|
|
|
TEXT ·VBITSETHbounds(SB), NOSPLIT, $0
|
|
VBITSETH $0, V2, V3
|
|
VBITSETH $15, V2, V3
|
|
VBITSETH $7, V2, V3
|
|
VBITSETH $7, V2
|
|
RET
|
|
|
|
TEXT ·VBITSETVbounds(SB), NOSPLIT, $0
|
|
VBITSETV $0, V2, V3
|
|
VBITSETV $63, V2, V3
|
|
VBITSETV $31, V2, V3
|
|
VBITSETV $31, V2
|
|
RET
|
|
|
|
TEXT ·VBITSETWbounds(SB), NOSPLIT, $0
|
|
VBITSETW $0, V2, V3
|
|
VBITSETW $31, V2, V3
|
|
VBITSETW $15, V2, V3
|
|
VBITSETW $15, V2
|
|
RET
|
|
|
|
TEXT ·VEXTRINSBbounds(SB), NOSPLIT, $0
|
|
VEXTRINSB $0, V2, V3
|
|
VEXTRINSB $255, V2, V3
|
|
VEXTRINSB $127, V2, V3
|
|
VEXTRINSB $127, V2
|
|
RET
|
|
|
|
TEXT ·VEXTRINSHbounds(SB), NOSPLIT, $0
|
|
VEXTRINSH $0, V2, V3
|
|
VEXTRINSH $255, V2, V3
|
|
VEXTRINSH $127, V2, V3
|
|
VEXTRINSH $127, V2
|
|
RET
|
|
|
|
TEXT ·VEXTRINSVbounds(SB), NOSPLIT, $0
|
|
VEXTRINSV $0, V2, V3
|
|
VEXTRINSV $255, V2, V3
|
|
VEXTRINSV $127, V2, V3
|
|
VEXTRINSV $127, V2
|
|
RET
|
|
|
|
TEXT ·VEXTRINSWbounds(SB), NOSPLIT, $0
|
|
VEXTRINSW $0, V2, V3
|
|
VEXTRINSW $255, V2, V3
|
|
VEXTRINSW $127, V2, V3
|
|
VEXTRINSW $127, V2
|
|
RET
|
|
|
|
TEXT ·VNORBbounds(SB), NOSPLIT, $0
|
|
VNORB $0, V2, V3
|
|
VNORB $255, V2, V3
|
|
VNORB $127, V2, V3
|
|
VNORB $127, V2
|
|
RET
|
|
|
|
TEXT ·VORBbounds(SB), NOSPLIT, $0
|
|
VORB $0, V2, V3
|
|
VORB $255, V2, V3
|
|
VORB $127, V2, V3
|
|
VORB $127, V2
|
|
RET
|
|
|
|
TEXT ·VPERMIWbounds(SB), NOSPLIT, $0
|
|
VPERMIW $0, V2, V3
|
|
VPERMIW $255, V2, V3
|
|
VPERMIW $127, V2, V3
|
|
VPERMIW $127, V2
|
|
RET
|
|
|
|
TEXT ·VROTRBbounds(SB), NOSPLIT, $0
|
|
VROTRB $0, V2, V3
|
|
VROTRB $7, V2, V3
|
|
VROTRB $3, V2, V3
|
|
VROTRB $3, V2
|
|
RET
|
|
|
|
TEXT ·VROTRHbounds(SB), NOSPLIT, $0
|
|
VROTRH $0, V2, V3
|
|
VROTRH $15, V2, V3
|
|
VROTRH $7, V2, V3
|
|
VROTRH $7, V2
|
|
RET
|
|
|
|
TEXT ·VROTRVbounds(SB), NOSPLIT, $0
|
|
VROTRV $0, V2, V3
|
|
VROTRV $63, V2, V3
|
|
VROTRV $31, V2, V3
|
|
VROTRV $31, V2
|
|
RET
|
|
|
|
TEXT ·VROTRWbounds(SB), NOSPLIT, $0
|
|
VROTRW $0, V2, V3
|
|
VROTRW $31, V2, V3
|
|
VROTRW $15, V2, V3
|
|
VROTRW $15, V2
|
|
RET
|
|
|
|
TEXT ·VSHUF4IBbounds(SB), NOSPLIT, $0
|
|
VSHUF4IB $0, V2, V3
|
|
VSHUF4IB $255, V2, V3
|
|
VSHUF4IB $127, V2, V3
|
|
VSHUF4IB $127, V2
|
|
RET
|
|
|
|
TEXT ·VSHUF4IHbounds(SB), NOSPLIT, $0
|
|
VSHUF4IH $0, V2, V3
|
|
VSHUF4IH $255, V2, V3
|
|
VSHUF4IH $127, V2, V3
|
|
VSHUF4IH $127, V2
|
|
RET
|
|
|
|
TEXT ·VSHUF4IVbounds(SB), NOSPLIT, $0
|
|
VSHUF4IV $0, V2, V3
|
|
VSHUF4IV $15, V2, V3
|
|
VSHUF4IV $7, V2, V3
|
|
VSHUF4IV $7, V2
|
|
RET
|
|
|
|
TEXT ·VSHUF4IWbounds(SB), NOSPLIT, $0
|
|
VSHUF4IW $0, V2, V3
|
|
VSHUF4IW $255, V2, V3
|
|
VSHUF4IW $127, V2, V3
|
|
VSHUF4IW $127, V2
|
|
RET
|
|
|
|
TEXT ·VSLLBbounds(SB), NOSPLIT, $0
|
|
VSLLB $0, V2, V3
|
|
VSLLB $7, V2, V3
|
|
VSLLB $3, V2, V3
|
|
VSLLB $3, V2
|
|
RET
|
|
|
|
TEXT ·VSLLHbounds(SB), NOSPLIT, $0
|
|
VSLLH $0, V2, V3
|
|
VSLLH $15, V2, V3
|
|
VSLLH $7, V2, V3
|
|
VSLLH $7, V2
|
|
RET
|
|
|
|
TEXT ·VSLLVbounds(SB), NOSPLIT, $0
|
|
VSLLV $0, V2, V3
|
|
VSLLV $63, V2, V3
|
|
VSLLV $31, V2, V3
|
|
VSLLV $31, V2
|
|
RET
|
|
|
|
TEXT ·VSLLWbounds(SB), NOSPLIT, $0
|
|
VSLLW $0, V2, V3
|
|
VSLLW $31, V2, V3
|
|
VSLLW $15, V2, V3
|
|
VSLLW $15, V2
|
|
RET
|
|
|
|
TEXT ·VSRABbounds(SB), NOSPLIT, $0
|
|
VSRAB $0, V2, V3
|
|
VSRAB $7, V2, V3
|
|
VSRAB $3, V2, V3
|
|
VSRAB $3, V2
|
|
RET
|
|
|
|
TEXT ·VSRAHbounds(SB), NOSPLIT, $0
|
|
VSRAH $0, V2, V3
|
|
VSRAH $15, V2, V3
|
|
VSRAH $7, V2, V3
|
|
VSRAH $7, V2
|
|
RET
|
|
|
|
TEXT ·VSRAVbounds(SB), NOSPLIT, $0
|
|
VSRAV $0, V2, V3
|
|
VSRAV $63, V2, V3
|
|
VSRAV $31, V2, V3
|
|
VSRAV $31, V2
|
|
RET
|
|
|
|
TEXT ·VSRAWbounds(SB), NOSPLIT, $0
|
|
VSRAW $0, V2, V3
|
|
VSRAW $31, V2, V3
|
|
VSRAW $15, V2, V3
|
|
VSRAW $15, V2
|
|
RET
|
|
|
|
TEXT ·VSRLBbounds(SB), NOSPLIT, $0
|
|
VSRLB $0, V2, V3
|
|
VSRLB $7, V2, V3
|
|
VSRLB $3, V2, V3
|
|
VSRLB $3, V2
|
|
RET
|
|
|
|
TEXT ·VSRLHbounds(SB), NOSPLIT, $0
|
|
VSRLH $0, V2, V3
|
|
VSRLH $15, V2, V3
|
|
VSRLH $7, V2, V3
|
|
VSRLH $7, V2
|
|
RET
|
|
|
|
TEXT ·VSRLVbounds(SB), NOSPLIT, $0
|
|
VSRLV $0, V2, V3
|
|
VSRLV $63, V2, V3
|
|
VSRLV $31, V2, V3
|
|
VSRLV $31, V2
|
|
RET
|
|
|
|
TEXT ·VSRLWbounds(SB), NOSPLIT, $0
|
|
VSRLW $0, V2, V3
|
|
VSRLW $31, V2, V3
|
|
VSRLW $15, V2, V3
|
|
VSRLW $15, V2
|
|
RET
|
|
|
|
TEXT ·VXORBbounds(SB), NOSPLIT, $0
|
|
VXORB $0, V2, V3
|
|
VXORB $255, V2, V3
|
|
VXORB $127, V2, V3
|
|
VXORB $127, V2
|
|
RET
|