simd-5.c
来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 60 行
C
60 行
/* Test saving and restoring of SIMD registers. */typedef short Q __attribute__((vector_size(8)));Q q1 = {1, 2}, q2 = {3, 4}, q3 = {5, 6}, q4 = {7, 8};Q w1, w2, w3, w4;Q z1, z2, z3, z4;volatile int dummy;void __attribute__((__noinline__))func0 (void){ dummy = 1;}void __attribute__((__noinline__))func1 (void){ Q a, b; a = q1 * q2; b = q3 * q4; w1 = a; w2 = b; func0 (); w3 = a; w4 = b;}void __attribute__((__noinline__))func2 (void){ Q a, b; a = q1 + q2; b = q3 - q4; z1 = a; z2 = b; func1 (); z3 = a; z4 = b;}intmain (void){ func2 (); if (memcmp (&w1, &w3, sizeof (Q)) != 0) abort (); if (memcmp (&w2, &w4, sizeof (Q)) != 0) abort (); if (memcmp (&z1, &z3, sizeof (Q)) != 0) abort (); if (memcmp (&z2, &z4, sizeof (Q)) != 0) abort (); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?