view gcc/testsuite/g++.dg/opt/reg-stack4.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR target/12900
// Origin: <snyder@fnal.gov>

// This used to fail on x86 because the reg-stack pass
// deleted a valid edge.

// { dg-do compile }
// { dg-options "-mtune=i586 -O2" { target { { i?86-*-* x86_64-*-* } && ia32 } } }

struct array {
  double data;
  virtual ~array();
};

double glob;
double ext1(double);
int nmuons;

void track_match()
{
  array vecdca;
  if (glob < 10) return;
  double p = glob*5;
  double phi = vecdca.data;
  ext1 (vecdca.data-glob);
  ext1 (phi*2);
  if (1 < p)
    ++nmuons; 
}