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

Reply via email to