altivec-regs.c
来自「模拟嵌入式硬件平台的软件源代码」· C语言 代码 · 共 42 行
C
42 行
#include <altivec.h>#include <stdio.h>vector unsigned intvector_fun (vector unsigned int a, vector unsigned int b){ vector unsigned int c; a = ((vector unsigned int) vec_splat_u8(2)); b = ((vector unsigned int) vec_splat_u8(3)); c = vec_add (a, b); return c;} intmain (){ vector unsigned int y; vector unsigned int x; vector unsigned int z; int a; /* This line may look unnecessary but we do need it, because we want to have a line to do a next over (so that gdb refetches the registers) and we don't want the code to change any vector registers. The splat operations below modify the VRs,i so we don't want to execute them yet. */ a = 9; x = ((vector unsigned int) vec_splat_u8 (-2)); y = ((vector unsigned int) vec_splat_u8 (1)); z = vector_fun (x, y); x = vec_sld (x,y,2); x = vec_add (x, ((vector unsigned int){5,6,7,8})); z = (vector unsigned int) vec_splat_u8 ( -2); y = vec_add (x, z); z = (vector unsigned int) vec_cmpeq (x,y); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?