dquakeplus/source/psp/libpspmath/vfpu_quaternion_sample_linear.c

14 lines
430 B
C

#include "pspmath.h"
void vfpu_quaternion_sample_linear(ScePspQuatMatrix *qout, ScePspQuatMatrix *a, ScePspQuatMatrix *b, float t) {
__asm__ volatile (
"lv.q C000, 0 + %1\n"
"lv.q C010, 0 + %2\n"
"mtv %3, S020\n"
"vocp.s S021, S020\n"
"vscl.q C000, C000, S021\n"
"vscl.q C010, C010, S020\n"
"vadd.q C000, C000, C010\n"
"sv.q C000, 0 + %0\n"
: "=m"(*qout) : "m"(*a), "m"(*b), "r"(t));
}