RISCV_PREEMPT_V_DIRTY
return !!(task->thread.riscv_v_flags & RISCV_PREEMPT_V_DIRTY);
task->thread.riscv_v_flags &= ~RISCV_PREEMPT_V_DIRTY;
riscv_v_start(RISCV_PREEMPT_V | RISCV_PREEMPT_V_DIRTY);
*riscv_v_flags_ptr() |= RISCV_PREEMPT_V_DIRTY;
*riscv_v_flags_ptr() &= ~(RISCV_PREEMPT_V_DIRTY | RISCV_PREEMPT_V_NEED_RESTORE);