Hello,
I am using C28x compiler version 6.1.0. I consistently get the wrong answer when using the __norm32 intrinsic.
Have anyone else seen the same issue?
Here are my C code and the generated assembly. I am surprised that the compiler did not even use the CSB instruction.
--- C Code ---
asm(" ESTOP0");
dst = __norm32( src , &shift );
asm(" ESTOP0");
--- Compiler generated assembly ---
ESTOP0
MOV T,AR1 ; [CPU_] |148|
MOV *-SP[13],T ; [CPU_] |148|
MOVL ACC,*-SP[10] ; [CPU_] |148|
LSLL ACC,T ; [CPU_] |148|
MOVL *-SP[12],ACC ; [CPU_] |148|
ESTOP0