Both armcc (--cpu=arm926ej-s) and gcc (-mcpu=arm926ej-s -O1) will happily compile the appropriate C code to a single SMLAL instruction, e.g.:long long my_smlal(long long acc, int x, int y){ return acc + (long long)x * y;}i.e. there shouldn't be any need to resort to assembly here.hths.
long long my_smlal(long long acc, int x, int y){ return acc + (long long)x * y;}