Due to the restrictions of the licence, I guess I'm not supposed to post the source code in public.
But in ver0.91.00, file "C6xSimulator.c", function "int32 _sshvr(int32 a,int32 b)" and function int32 _sshvl(int32 a,int32 b).
In the host intrinsics implementation, if right shift > 31, then return=MAX_INT32 or MIN_INT32;
In spru732, those instructions are described as, if right shift >31, return = shifted value(usually 0);
Dehuan