ppc_intrinsics-2.c

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 67 行

C
67
字号
/* { dg-options "-I ${srcdir}/../../more-hdrs -Wshorten-64-to-32 -Wno-long-long" } *//* { dg-do run { target "powerpc*-*-darwin*" } } */#include "ppc_intrinsics.h"#include <stdlib.h>int main( void ){  int intconst = 0x5;  long long longlongconst = 0x5;  int intloc, intloc1, intloc2;  unsigned int uintloc, uintloc1, uintloc2;  long longloc;  long long longlongloc;  int fails = 0;  intloc = __cntlzw(intconst);  if (intloc != 29)    ++fails;  longlongloc = __cntlzd(longlongconst);  if (longlongloc != 61)    ++fails;  intloc = 0xffff;  __rlwimi(intloc, 0x21876543, 8, 0, 23);  if (intloc != 0x876543ff)    ++fails;  intloc = __rlwinm(0x21876543, 8, 0, 31);  if (intloc != 0x87654321)    ++fails;  longloc = __rlwinm(0x45, 5, 24, 31);  if (longloc != 0xa0)    ++fails;  longloc = __rlwnm(0x47, 5, 24, 31);  if (longloc != 0xe0)    ++fails;  intloc1 = 1 << 20;  intloc2 = 1 << 21;  intloc = __mulhw (intloc1, intloc2);  if (intloc != (1 << 9))    ++fails;  intloc1 = 0xfffe0000;  intloc2 = 0xfffc0000;  intloc = __mulhw (intloc1, intloc2);  if (intloc != 8)    ++fails;  uintloc1 = 0xffffffff;  uintloc2 = 0xfffffffe;  uintloc = __mulhwu (uintloc1, uintloc2);  if (uintloc != 0xfffffffd)    ++fails;  uintloc1 = 0xfffe0000;  uintloc2 = 0xfffc0000;  uintloc = __mulhwu (uintloc1, uintloc2);  if (uintloc != 0xfffa0008)    ++fails;  return fails;}

⌨️ 快捷键说明

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