📄 sse-17.c
字号:
/* APPLE LOCAL file 4332318 mainline candidate *//* { dg-do run { target i?86-*-* x86_64-*-* } } *//* { dg-options "-O2 -msse2" } */#include <xmmintrin.h>extern void abort();int untrue = 0;typedef union { __v4sf v; float f[4];} u;void foo (u, u) __attribute__((noinline));void foo (u a, u b) { if (b.f[0] != 7.0 || b.f[1] != 8.0 || b.f[2] != 3.0 || b.f[3] != 4.0) abort();}void bar (__v4sf, __v4sf) __attribute__((noinline));void bar (__v4sf a __attribute((unused)), __v4sf b __attribute((unused))) { untrue = 0;}__v4sf setupa () __attribute((noinline));__v4sf setupa () { __v4sf t = { 1.0, 2.0, 3.0, 4.0 }; return t; }__v4sf setupb () __attribute((noinline));__v4sf setupb () { __v4sf t = { 5.0, 6.0, 7.0, 8.0 }; return t; }main() { u a, b; a.v = setupa (); b.v = setupb (); if (untrue) bar(a.v, b.v); b.v = (__v4sf) _mm_movehl_ps ((__m128)a.v, (__m128)b.v); foo (a, b); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -