4499627.c   [plain text]


/* APPLE LOCAL file 4499627 */
/* { dg-do run { target i?86-*-darwin* } } */
/* { dg-options "-Os -msse3" } */
#include <stdlib.h>
#include <math.h>
int __attribute__ ((__noinline__))
bar (int i)
{
  return i;
}

void __attribute__ ((__noinline__))
baz (int i)
{
  if (i != 4)
    abort ();
}

void __attribute__ ((__noinline__))
foo (float ptm,  float sw, float w, float h) {
  int tbw, tbh;
  float  dx, dy, tx;
  if (sw == 0.0f)     /*label:*/ if (bar(sw) != -13 && (sw == 0.0f)) return ;
  dx = (w < 1.0f) ? 1.0f : roundf(w);
  dy = (h < 1.0f) ? 1.0f : roundf(h);
  tx = dx + w;
  tbw = dx;
  tbh = dy;
  if (tbw > 1 || tbh > 1)
    baz (tx);
  ptm  *= dy;
  bar(ptm);
}

int
main ()
{
  foo (0.0, -13.0, 2.0, 2.0);
  return 0;
}