gcc.old: PR port-vax/57646 patch provided by Kalvis Duckmanton [5/21]
Shift right by positive values that are less than HOST_BITS_PER_WIDE_INT to avoid illegal instruction exceptions on VAX. XXXRO: Hidden within ``#ifdef NB_FIX_VAX_BACKEND'' and enabled only for vax at the moment.
This commit is contained in:
parent
ae12d8de82
commit
7eb2d76c0c
|
@ -301,7 +301,12 @@ static unsigned HOST_WIDE_INT
|
|||
lowpart_bitmask (int n)
|
||||
{
|
||||
unsigned HOST_WIDE_INT mask = HOST_WIDE_INT_M1U;
|
||||
#if 1 // XXXMRG
|
||||
#ifdef NB_FIX_VAX_BACKEND
|
||||
if (n < 1)
|
||||
return 0;
|
||||
if (n >= HOST_BITS_PER_WIDE_INT)
|
||||
return mask;
|
||||
#else // XXXMRG
|
||||
gcc_assert(n >= 0 && n <= HOST_BITS_PER_WIDE_INT);
|
||||
if (n == 0)
|
||||
return 0;
|
||||
|
@ -1340,6 +1345,10 @@ all_positions_needed_p (store_info *s_info, poly_int64 start,
|
|||
return false;
|
||||
return true;
|
||||
}
|
||||
#ifdef NB_FIX_VAX_BACKEND
|
||||
if (const_start >= HOST_BITS_PER_WIDE_INT || const_start < 0)
|
||||
return true;
|
||||
#endif
|
||||
else
|
||||
{
|
||||
unsigned HOST_WIDE_INT mask
|
||||
|
|
Loading…
Reference in New Issue