loop-1.c

来自「用于进行gcc测试」· C语言 代码 · 共 107 行

C
107
字号
/* PR optimization/9888 *//* { dg-do run } *//* { dg-require-effective-target ilp32 } *//* { dg-options "-mtune=k6 -O3" } *//* Verify that GCC doesn't emit out of range 'loop' instructions.  */extern void abort (void);extern void exit (int);   f1 (a)     long a;{  int i;  for (i = 0; i < 10; i++)    {      if (--a == -1)	return i;    }  return -1;}f2 (a)     long a;{  int i;  for (i = 0; i < 10; i++)    {      if (--a != -1)	return i;    }  return -1;}f3 (a)     long a;{  int i;  for (i = 0; i < 10; i++)    {      if (--a == 0)	return i;    }  return -1;}f4 (a)     long a;{  int i;  for (i = 0; i < 10; i++)    {      if (--a != 0)	return i;    }  return -1;}f5 (a)     long a;{  int i;  for (i = 0; i < 10; i++)    {      if (++a == 0)	return i;    }  return -1;}f6 (a)     long a;{  int i;  for (i = 0; i < 10; i++)    {      if (++a != 0)	return i;    }  return -1;}int main(){  if (f1 (5L) != 5)    abort ();  if (f2 (1L) != 0)    abort ();  if (f2 (0L) != 1)    abort ();  if (f3 (5L) != 4)    abort ();  if (f4 (1L) != 1)    abort ();  if (f4 (0L) != 0)    abort ();  if (f5 (-5L) != 4)    abort ();  if (f6 (-1L) != 1)    abort ();  if (f6 (0L) != 0)    abort ();  exit (0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?