Code: Select all
PURE_INLINE void dMULTIPLY0_331_ (dReal* vout, const dReal* mat, const dReal* v) {
__asm__ volatile (
"ulv.q R000, 0+ %1\n"
"ulv.q R001, 16+ %1\n"
"ulv.q R002, 32+ %1\n"
"ulv.q R100, %2\n"
"vtfm3.t R003, M000, R100\n"
"usv.q R003, %0\n"
: "+m"(vout[0]): "m"(mat[0]), "m"(v[0]));
}
Code: Select all
PURE_INLINE void dMULTIPLY0_331_ (dReal* vout, const dReal* mat, const dReal* v) {
__asm__ volatile (
"ulv.q R000, 0+ %1\n"
"ulv.q R001, 16+ %1\n"
"ulv.q R002, 32+ %1\n"
"ulv.q R100, %2\n"
"vdot.t S003, R000, R100\n"
"vdot.t S013, R001, R100\n"
"vdot.t S023, R002, R100\n"
"usv.q R003, %0\n"
: "+m"(vout[0]): "m"(mat[0]), "m"(v[0]));
}