I develop my code for Sharc (ADSP21489). I use 16-bit internal memory for storage of data (signed fixed point) from ADC. Now when I load these data I loose sign bit because most significant bits fill zero. I know that Sharc processor has the instruction (Rn = FEXT Rx BY Ry (SE) or Rn = FEXT Rx BY <bit6>:<len6> (SE)) which can fill most significant bits with sign bit. Do this built-in function exist in C/C++?