On Thu, May 26, 2011 at 4:56 PM, Richard Henderson <r...@twiddle.net> wrote: > On 05/26/2011 05:36 AM, Kirill Batuzov wrote: >>> x = (int32_t)x >> (int32_t)y; >>> >> This expression has an implementation-defined behavior accroding to >> C99 6.5.7 so we decided to emulate signed shifts by hand. > > Technically, yes. In practice, no. GCC, ICC, LLVM, MSVC all know > what the user wants here and will implement it "properly".
Can't this be probed by configure? Then a wrapper could be introduced for signed shifts.