⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pr16104-1.c

📁 用于进行gcc测试
💻 C
字号:
/* PR rtl-optimization/16104 *//* { dg-do run { target i?86-*-* x86_64-*-* } } *//* { dg-options "-msse2" } */#include "cpuid.h"extern void abort (void);typedef int V2SI __attribute__ ((vector_size (8)));typedef unsigned int V2USI __attribute__ ((vector_size (8)));typedef short V2HI __attribute__ ((vector_size (4)));typedef unsigned int V2UHI __attribute__ ((vector_size (4)));inttest1 (void){  return (long long) (V2SI) 0LL;}inttest2 (V2SI x){  return (long long) x;}V2SItest3 (void){  return (V2SI) (long long) (int) (V2HI) 0;}V2SItest4 (V2HI x){  return (V2SI) (long long) (int) x;}V2SItest5 (V2USI x){  return (V2SI) x;}void__attribute__ ((noinline))do_test (void){  if (sizeof (short) != 2 || sizeof (int) != 4 || sizeof (long long) != 8)    return;  if (test1 () != 0)    abort ();  V2SI x = { 2, 2 };  if (test2 (x) != 2)    abort ();  union { V2SI x; int y[2]; V2USI z; long long l; } u;  u.x = test3 ();  if (u.y[0] != 0 || u.y[1] != 0)    abort ();  V2HI y = { 4, 4 };  union { V2SI x; long long y; } v;  v.x = test4 (y);  if (v.y != 0x40004)    abort ();  V2USI z = { 6, 6 };  u.x = test5 (z);  if (u.y[0] != 6 || u.y[1] != 6)    abort ();}intmain (void){  unsigned int eax, ebx, ecx, edx;   if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))    return 0;  /* Run SSE2 test only if host has SSE2 support.  */  if (edx & bit_SSE2)    do_test ();  return 0;}

⌨️ 快捷键说明

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