sse-19.c

来自「用于进行gcc测试」· C语言 代码 · 共 30 行

C
30
字号
/* { dg-do compile } *//* { dg-options "-O3 -msse2" } *//* { dg-final { scan-assembler "punpcklbw" } } */extern void abort();#include <emmintrin.h>__m128i foo (char) __attribute__((noinline));__m128i foo (char x) {  return _mm_set1_epi8(x);}__m128i bar (char) __attribute__((noinline));__m128i bar (char x) {  return _mm_set_epi8 (x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x);}main() {  int i, j;  union u { __m128i v; char c[16]; };  union u x, y;  for (i = -128; i <= 127; i++)    {      x.v = foo ((char)i);      y.v = bar ((char)i);      for (j=0; j<16; j++)	if (x.c[j] != y.c[j])	  abort();    }  return 0;}

⌨️ 快捷键说明

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