On Wed, Apr 4, 2018 at 8:43 PM, Richard Henderson
<richard.hender...@linaro.org> wrote:
> On 04/05/2018 11:41 AM, Max Filippov wrote:
>> +static void target_low_high_to_host_low_high(abi_ulong tlow,
>> +                                             abi_ulong thigh,
>> +                                             unsigned long *hlow,
>> +                                             unsigned long *hhigh)
>> +{
>> +#if TARGET_LONG_BITS == HOST_LONG_BITS
>> +        *hlow = tlow;
>> +        *hhigh = thigh;
>> +#elif TARGET_LONG_BITS < HOST_LONG_BITS
>> +        *hlow = tlow | (unsigned long)thigh << TARGET_LONG_BITS;
>> +        *hhigh = 0;
>> +#else
>> +        *hlow = (unsigned long)tlow;
>> +        *hhigh = (unsigned long)(tlow >> HOST_LONG_BITS);
>> +#endif
>
> It might still be worth a check for HOST_LONG_BITS >= 2 * TARGET_LONG_BITS and
> #error otherwise.  Or explicit checks vs 32 & 64 if you like.

Ok, will do in v3.

-- 
Thanks.
-- Max

Reply via email to