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