apple-altivec-abi.c

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

C
67
字号
/* APPLE LOCAL file AltiVec *//* { dg-do run { target powerpc*-*-* } } *//* { dg-options "-faltivec" } */#include <stdio.h>typedef vector signed int VSI;VSI VI(	      VSI v2,	      int gpr3,	      VSI v3,	      int gpr4,	      VSI v4,	      int gpr5,	      VSI v5,	      int gpr6,	      int gpr7,	      int gpr8,	      int gpr9,	      VSI v6,	      int gpr10,	/* gpr3-gpr10 in registers */	      VSI v7,	      VSI v8,	      VSI v9,	      VSI v10,	      VSI v11,	      VSI v12,	      VSI v13,	/* All in v2-v13 */	      volatile VSI v14,	      int gpr11,	      int gpr12,	      int gpr13,	      int gpr14,	      VSI v15,	      VSI v16, int* sum){	*sum = gpr3 + gpr4 + gpr5 + gpr6 + gpr7 + gpr8 + gpr9 + gpr10 + gpr11 + gpr12 + gpr13 + gpr14;	return v2+v3+v4+v5+v6+v7+v8+v9+v10+v11+v12+v13+v14+v15+v16;}extern void abort();int main(){  union u {    VSI uv;    int val[4];  } union_var;  int i;  int sum;  union_var.uv = 	VI((VSI){1,1,1,1},3,(VSI){1,1,1,1},4,(VSI){1,1,1,1},5,(VSI){1,1,1,1},6,7,8,9,	   (VSI){1,1,1,1},10,(VSI){1,1,1,1},(VSI){1,1,1,1},(VSI){1,1,1,1},(VSI){1,1,1,1},	   (VSI){1,1,1,1},(VSI){1,1,1,1},(VSI){1,1,1,1},(VSI){1,1,1,1},11,12,13,14,	   (VSI){1,1,1,1},(VSI){1,1,1,1}, &sum);  if (sum != 102)    abort();  for (i=0; i < 4; i++)     if (union_var.val[i] != 15)       abort();  return 0;}

⌨️ 快捷键说明

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