Module Name: src
Committed By: kalvisd
Date: Sun Sep 29 07:23:05 UTC 2024
Modified Files:
src/external/gpl3/gcc/dist/gcc: dse.cc
Log Message:
gcc: vax: constrain logical shifts
Shift right by positive values that are less than
HOST_BITS_PER_WIDE_INT to avoid illegal instruction exceptions on VAX.
OK rin@
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/gpl3/gcc/dist/gcc/dse.cc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/gpl3/gcc/dist/gcc/dse.cc
diff -u src/external/gpl3/gcc/dist/gcc/dse.cc:1.2 src/external/gpl3/gcc/dist/gcc/dse.cc:1.3
--- src/external/gpl3/gcc/dist/gcc/dse.cc:1.2 Sun Jul 30 06:15:16 2023
+++ src/external/gpl3/gcc/dist/gcc/dse.cc Sun Sep 29 07:23:04 2024
@@ -301,6 +301,10 @@ static unsigned HOST_WIDE_INT
lowpart_bitmask (int n)
{
unsigned HOST_WIDE_INT mask = HOST_WIDE_INT_M1U;
+ if (n < 1)
+ return 0;
+ if (n >= HOST_BITS_PER_WIDE_INT)
+ return mask;
#if 1 // XXXMRG
gcc_assert(n >= 0 && n <= HOST_BITS_PER_WIDE_INT);
if (n == 0)
@@ -1340,6 +1344,8 @@ all_positions_needed_p (store_info *s_in
return false;
return true;
}
+ else if (const_start >= HOST_BITS_PER_WIDE_INT || const_start < 0)
+ return true;
else
{
unsigned HOST_WIDE_INT mask