Why does this simple C statement generate a function call rather than a simple shift operation?
C source:
mask = (1 << channel);
assembler result:
1209 000018 4A4D MOV.B r10,r13 ; [] |124|
1210 00001a 431C MOV.W #1,r12 ; [] |124|
1215 00001c 12B0 CALL #__mspabi_slli ; [] |124|