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

📄 20050922-1.c

📁 用于进行gcc测试
💻 C
字号:
/* This revealed a bug when rotates are expanded into   two shifts.  *//* { dg-do run } *//* { dg-options "-O1 -std=c99" } */#include <stdlib.h>#if __INT_MAX__ == 2147483647typedef unsigned int uint32_t;#elif __LONG_MAX__ == 2147483647typedef unsigned long uint32_t;#else#error unable to find 32-bit integer type#endifuint32_tf (uint32_t *S, int j){  uint32_t A, B, k, L[2] = {1234, 5678};  int i, m;  A = B = 0;  for (i = 0; i < j; i++)    {      k = (S[i] + A + B) & 0xffffffffL;      A = S[i] =      ((k << (3 & 0x1f)) | ((k & 0xffffffff) >> (32 - (3 & 0x1f))));       m = (int) (A + B);      k = (L[i] + A + B) & 0xffffffffL;      B = L[i] =	((k << (m & 0x1f)) | ((k & 0xffffffff) >> (32 - (m & 0x1f))));    }  return L[0] + L[1];}intmain (){  uint32_t S[2] = {0xffff, 0xffffff};  if (f (S,2)!= 1392607300)    abort();  return 0;}

⌨️ 快捷键说明

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