View | Details | Return to bug 68730
Collapse All | Expand All

(-)gcc/config/i386/i386.c.jj (+1 lines)
Lines 3577-3582 convert_scalars_to_vector () Link Here
3577
  BITMAP_FREE (candidates);
3577
  BITMAP_FREE (candidates);
3578
  bitmap_obstack_release (NULL);
3578
  bitmap_obstack_release (NULL);
3579
  df_process_deferred_rescans ();
3579
  df_process_deferred_rescans ();
3580
  free_dominance_info (CDI_DOMINATORS);
3580
3581
3581
  /* Conversion means we may have 128bit register spills/fills
3582
  /* Conversion means we may have 128bit register spills/fills
3582
     which require aligned stack.  */
3583
     which require aligned stack.  */
(-)gcc/testsuite/gcc.dg/pr68730.c.jj (+51 lines)
Line 0 Link Here
1
/* PR rtl-optimization/68730 */
2
/* { dg-do compile } */
3
/* { dg-options "-O3 -fno-if-conversion" } */
4
/* { dg-additional-options "-march=x86-64" { target { i?86-*-* x86_64-*-* } } } */
5
6
int b, d, e;
7
unsigned long long c = 4100543410106915;
8
9
void
10
foo (void)
11
{
12
  short f, g = 4 % c;
13
  int h = c;
14
  if (h)
15
    {
16
      int i = ~c;
17
      if (~c)
18
	i = 25662;
19
      f = g = i;
20
      h = c - g + ~-f;
21
      c = ~(c * h - f);
22
    }
23
  f = g;
24
  unsigned long long k = g || c;
25
  short l = c ^ g ^ k;
26
  if (g > 25662 || c == 74074520320 || !(g < 2))
27
    {
28
      k = c;
29
      l = g;
30
      c = ~((k && c) + ~l);
31
      f = ~(f * (c ^ k) | l);
32
      if (c > k)
33
	__builtin_printf ("%d\n", f);
34
    }
35
  short m = -f;
36
  unsigned long long n = c;
37
  c = m * f | n % c;
38
  if (n)
39
    __builtin_printf ("%d\n", f);
40
  while (f < -31807)
41
    ;
42
  c = ~(n | c) | f;
43
  if (n < c)
44
    __builtin_printf ("%lld\n", (long long) f);
45
  for (; d;)
46
    for (; e;)
47
      for (;;)
48
	;
49
  c = h;
50
  c = l % c;
51
}

Return to bug 68730