37 lines
592 B
ArmAsm
37 lines
592 B
ArmAsm
.macro cond op
|
|
.irp cond, eq, ne, gt, ge, lt, le
|
|
it \cond
|
|
\op\().s32 q0, q1, #1
|
|
.endr
|
|
.endm
|
|
|
|
.syntax unified
|
|
.thumb
|
|
vshr.s64 q0, q1, #1
|
|
vshr.i32 q0, q1, #1
|
|
vrshr.u64 q0, q1, #1
|
|
vrshr.i32 q0, q1, #1
|
|
vshr.s8 q0, q1, #9
|
|
vshr.u8 q0, q1, #9
|
|
vshr.s16 q0, q1, #17
|
|
vshr.u16 q0, q1, #17
|
|
vshr.s32 q0, q1, #33
|
|
vshr.u32 q0, q1, #33
|
|
cond vshr
|
|
cond vrshr
|
|
it eq
|
|
vshreq.s32 q0, q1, #1
|
|
vshreq.s32 q0, q1, #1
|
|
vpst
|
|
vshreq.s32 q0, q1, #1
|
|
vshrt.s32 q0, q1, #1
|
|
vpst
|
|
vshr.s32 q0, q1, #1
|
|
it eq
|
|
vrshreq.s32 q0, q1, #1
|
|
vrshreq.s32 q0, q1, #1
|
|
vpst
|
|
vrshreq.s32 q0, q1, #1
|
|
vrshrt.s32 q0, q1, #1
|
|
vpst
|
|
vrshr.s32 q0, q1, #1
|