// #define asm_umull1_elem_u16(_result, _a, _b, _c) asm("umull %0.4s, %1.4h, %2.h[%3]" : "=w"(_result) : "w"(_a), "x"(_b), "i"(_c) : /* No clobbers */) #define asm_umull2_elem_u16(_result, _a, _b, _c) asm("umull2 %0.4s, %1.8h, %2.h[%3]" : "=w"(_result) : "w"(_a), "x"(_b), "i"(_c) : /* No clobbers */) #define asm_umlal1_elem_u16(_acc, _a, _b, _c) asm("umlal %0.4s, %2.4h, %3.h[%4]" : "=w"(_acc) : "0"(_acc), "w"(_a), "x"(_b), "i"(_c) : /* No clobbers */) #define asm_umlal2_elem_u16(_acc, _a, _b, _c) asm("umlal2 %0.4s, %2.8h, %3.h[%4]" : "=w"(_acc) : "0"(_acc), "w"(_a), "x"(_b), "i"(_c) : /* No clobbers */) #define asm_uqrshrn_uqrshrn2_u32(a, b, c, d) asm ("uqrshrn %0.4h, %1.4s, #%3 \n\t uqrshrn2 %0.8h, %2.4s, #%3 \n\t" : "+w"(a) : "w"(b), "w"(c), "i"(d) : /* No clobbers */); //
// //