.macro cond | |
.irp round, a, n, p, m | |
.irp cond, eq, ne, gt, ge, lt, le | |
.irp size, .s16.f16, .u16.f16, .s32.f32, .u32.f32 | |
it \cond | |
vcvt\round\size q0, q1 | |
.endr | |
.endr | |
.endr | |
.endm | |
.syntax unified | |
.thumb | |
cond | |
vcvta.s64.f64 q0, q1 | |
vcvta.u64.f64 q0, q1 | |
vcvta.f64.s64 q0, q1 | |
vcvta.f64.u64 q0, q1 | |
vcvtn.s64.f64 q0, q1 | |
vcvtn.u64.f64 q0, q1 | |
vcvtn.f64.s64 q0, q1 | |
vcvtn.f64.u64 q0, q1 | |
vcvtp.s64.f64 q0, q1 | |
vcvtp.u64.f64 q0, q1 | |
vcvtp.f64.s64 q0, q1 | |
vcvtp.f64.u64 q0, q1 | |
vcvtm.s64.f64 q0, q1 | |
vcvtm.u64.f64 q0, q1 | |
vcvtm.f64.s64 q0, q1 | |
vcvtm.f64.u64 q0, q1 | |
it eq | |
vcvtaeq.s32.f32 q0, q1 | |
vcvtaeq.s32.f32 q0, q1 | |
vpst | |
vcvtaeq.s32.f32 q0, q1 | |
vcvtat.s32.f32 q0, q1 | |
vpst | |
vcvta.s32.f32 q0, q1 | |
it eq | |
vcvtneq.s32.f32 q0, q1 | |
vcvtneq.s32.f32 q0, q1 | |
vpst | |
vcvtneq.s32.f32 q0, q1 | |
vcvtnt.s32.f32 q0, q1 | |
vpst | |
vcvtn.s32.f32 q0, q1 | |
it eq | |
vcvtpeq.s32.f32 q0, q1 | |
vcvtpeq.s32.f32 q0, q1 | |
vpst | |
vcvtpeq.s32.f32 q0, q1 | |
vcvtpt.s32.f32 q0, q1 | |
vpst | |
vcvtp.s32.f32 q0, q1 | |
it eq | |
vcvtmeq.s32.f32 q0, q1 | |
vcvtmeq.s32.f32 q0, q1 | |
vpst | |
vcvtmeq.s32.f32 q0, q1 | |
vcvtmt.s32.f32 q0, q1 | |
vpst | |
vcvtm.s32.f32 q0, q1 |