longlong.c

来自「linux下的gcc编译器」· C语言 代码 · 共 40 行

C
40
字号
/* Source: PR 321 modified for test suite by Neil Booth 14 Jan 2001.  */typedef unsigned long long uint64;unsigned long pars;uint64 b[32];uint64 *r = b;void alpha_ep_extbl_i_eq_0(){  unsigned int rb, ra, rc;  rb  = (((unsigned long)(pars) >> 27)) & 0x1fUL;  ra  = (((unsigned int)(pars) >> 5)) & 0x1fUL;  rc  = (((unsigned int)(pars) >> 0)) & 0x1fUL;  {    uint64 temp = ((r[ra] >> ((r[rb] & 0x7) << 3)) & 0x00000000000000FFLL);     if (rc != 31)       r[rc] = temp;    }}int main(void){  if (sizeof (uint64) == 8)    {      b[17] = 0x0000000000303882ULL; /* rb */      b[2] = 0x534f4f4c494d000aULL; /* ra & rc */      pars = 0x88000042;	/* 17, 2, 2 coded */      alpha_ep_extbl_i_eq_0();      if (b[2] != 0x4d)	abort ();    }  exit (0);}

⌨️ 快捷键说明

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