We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Logically your code looks correct - what toolchain / version are you using?
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;}