@@ -0,0 +1,28 @@
+/* PR rtl-optimization/64255 */
+
+__attribute__((noinline, noclone)) void
+bar (long i, unsigned long j)
+{
+ if (i != 1 || j != 1)
+ __builtin_abort ();
+}
+
+__attribute__((noinline, noclone)) void
+foo (long i)
+{
+ unsigned long j;
+
+ if (!i)
+ return;
+ j = i >= 0 ? (unsigned long) i : - (unsigned long) i;
+ if ((i >= 0 ? (unsigned long) i : - (unsigned long) i) != j)
+ __builtin_abort ();
+ bar (i, j);
+}
+
+int
+main ()
+{
+ foo (1);
+ return 0;
+}
@@ -0,0 +1,25 @@
+/* PR rtl-optimization/64260 */
+
+int a = 1, b;
+
+void
+foo (char p)
+{
+ int t = 0;
+ for (; b < 1; b++)
+ {
+ int *s = &a;
+ if (--t)
+ *s &= p;
+ *s &= 1;
+ }
+}
+
+int
+main ()
+{
+ foo (0);
+ if (a != 0)
+ __builtin_abort ();
+ return 0;
+}