Bitshifting bytes to form a long var fails!

I think the 'MUL' avr instruction is what will do the work in 2 clock cycles.

Wouldn't any reasonably good compiler implement that statement as left shift instead?

My approach works on mcus without hardware multiplier, so we can rule that out.