view gcc/testsuite/gcc.dg/torture/pr49030.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

/* { dg-require-effective-target int32plus } */

void
sample_move_d32u24_sS (char *dst, float *src, unsigned long nsamples,
		       unsigned long dst_skip)
{
  long long y;
  while (nsamples--)
    {
      y = (long long) (*src * 8388608.0f) << 8;
      if (y > 2147483647) {
	*(int *) dst = 2147483647;
      } else if (y < -2147483647 - 1) {
	*(int *) dst = -2147483647 - 1;
      } else {
	*(int *) dst = (int) y;
      }
      dst += dst_skip;
      src++;
    }
}