| .macro cond1 |
| .irp cond, eq, ne, gt, ge, lt, le |
| it \cond |
| vcvt\().f16.s16 q0, q1, #1 |
| .endr |
| .endm |
| |
| .syntax unified |
| .thumb |
| |
| vcvt.f16.s16 q0, q1, #0 |
| vcvt.f16.s16 q0, q1, #17 |
| vcvt.f16.u16 q0, q1, #0 |
| vcvt.f16.u16 q0, q1, #17 |
| vcvt.s16.f16 q0, q1, #0 |
| vcvt.s16.f16 q0, q1, #17 |
| vcvt.u16.f16 q0, q1, #0 |
| vcvt.u16.f16 q0, q1, #17 |
| vcvt.f32.s32 q0, q1, #0 |
| vcvt.f32.s32 q0, q1, #33 |
| vcvt.f32.u32 q0, q1, #0 |
| vcvt.f32.u32 q0, q1, #33 |
| vcvt.s32.f32 q0, q1, #0 |
| vcvt.s32.f32 q0, q1, #33 |
| vcvt.u32.f32 q0, q1, #0 |
| vcvt.u32.f32 q0, q1, #33 |
| vcvt.f64.s64 q0, q1, #1 |
| vcvt.f64.u64 q0, q1, #1 |
| vcvt.s64.f64 q0, q1, #1 |
| vcvt.u64.f64 q0, q1, #1 |
| cond1 |
| it eq |
| vcvteq.f16.s16 q0, q1, #1 |
| vcvteq.f16.s16 q0, q1, #1 |
| vpst |
| vcvteq.f16.s16 q0, q1, #1 |
| vcvtt.f16.s16 q0, q1, #1 |
| vpst |
| vcvt.f16.s16 q0, q1, #1 |
| |
| .macro cond2 |
| .irp cond, eq, ne, gt, ge, lt, le |
| it \cond |
| vcvt\().f16.s16 q0, q1 |
| .endr |
| .endm |
| |
| cond2 |
| vcvt.f64.s64 q0, q1 |
| vcvt.f64.u64 q0, q1 |
| vcvt.s64.f64 q0, q1 |
| vcvt.u64.f64 q0, q1 |
| it eq |
| vcvteq.u32.f32 q0, q1 |
| vcvteq.u32.f32 q0, q1 |
| vpst |
| vcvteq.u32.f32 q0, q1 |
| vcvtt.u32.f32 q0, q1 |
| vpst |
| vcvt.u32.f32 q0, q1 |
| |
| .macro cond3 mnem |
| .irp cond, eq, ne, gt, ge, lt, le |
| it \cond |
| \mnem\().f16.f32 q0, q1 |
| .endr |
| .endm |
| |
| cond3 vcvtb |
| vcvtb.f16.f64 q0, q1 |
| vcvtb.f64.f16 q0, q1 |
| vcvtb.f32.f64 q0, q1 |
| vcvtb.f64.f32 q0, q1 |
| it eq |
| vcvtbeq.f16.f32 q0, q1 |
| vcvtbeq.f16.f32 q0, q1 |
| vpst |
| vcvtbeq.f16.f32 q0, q1 |
| vcvtbt.f16.f32 q0, q1 |
| vpst |
| vcvtb.f16.f32 q0, q1 |
| cond3 vcvtt |
| vcvtt.f16.f64 q0, q1 |
| vcvtt.f64.f16 q0, q1 |
| vcvtt.f32.f64 q0, q1 |
| vcvtt.f64.f32 q0, q1 |
| it eq |
| vcvtteq.f16.f32 q0, q1 |
| vcvtteq.f16.f32 q0, q1 |
| vpst |
| vcvtteq.f16.f32 q0, q1 |
| vcvttt.f16.f32 q0, q1 |
| vpst |
| vcvtt.f16.f32 q0, q1 |