20050316-2.c

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

C
50
字号
extern void abort (void);typedef int V2SI __attribute__ ((vector_size (8)));typedef unsigned int V2USI __attribute__ ((vector_size (8)));typedef float V2SF __attribute__ ((vector_size (8)));typedef short V2HI __attribute__ ((vector_size (4)));typedef unsigned int V2UHI __attribute__ ((vector_size (4)));long longtest1 (V2SF x){  return (long long) (V2SI) x;}long longtest2 (V2SF x){  return (long long) x;}long longtest3 (V2SI x){  return (long long) (V2SF) x;}intmain (void){  if (sizeof (short) != 2 || sizeof (int) != 4 || sizeof (long long) != 8)    return 0;  V2SF x = { 2.0, 2.0 };  union { long long l; float f[2]; int i[2]; } u;  u.l = test1 (x);  if (u.f[0] != 2.0 || u.f[1] != 2.0)    abort ();  V2SF y = { 6.0, 6.0 };  u.l = test2 (y);  if (u.f[0] != 6.0 || u.f[1] != 6.0)    abort ();  V2SI z = { 4, 4 };  u.l = test3 (z);  if (u.i[0] != 4 || u.i[1] != 4)    abort ();  return 0;}

⌨️ 快捷键说明

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