On Thu, May 26, 2011 at 11:10 PM, Richard Henderson <r...@twiddle.net> wrote:
> On 05/26/2011 12:14 PM, Blue Swirl wrote:
>> 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.
>
> I don't see the point.  The C99 implementation defined escape hatch
> exists for weird cpus.  Which we won't be supporting as a QEMU host.

Maybe not, but a compiler with this property could arrive. For
example, GCC developers could decide that since this weirdness is
allowed by the standard, it may be implemented as well.

Reply via email to