Skip to content

Instantly share code, notes, and snippets.

@Abhiroop
Last active August 12, 2018 01:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Abhiroop/9b816379d559d88e919d2d84191c2210 to your computer and use it in GitHub Desktop.
Save Abhiroop/9b816379d559d88e919d2d84191c2210 to your computer and use it in GitHub Desktop.
#include <stdio.h>
#include <smmintrin.h> //SSE4_1
#include <emmintrin.h> //SSE2
void print128_num(__m128i var)
{
//int64_t *v64val = (int64_t*) &var;
//printf("%.16llx %.16llx\n", v64val[1], v64val[0]);
int a = _mm_extract_epi8 (var, 0);
int b = _mm_extract_epi8 (var, 1);
int c = _mm_extract_epi8 (var, 2);
int d = _mm_extract_epi8 (var, 3);
int e = _mm_extract_epi8 (var, 4);
int f = _mm_extract_epi8 (var, 5);
int g = _mm_extract_epi8 (var, 6);
int h = _mm_extract_epi8 (var, 7);
int i = _mm_extract_epi8 (var, 8);
int j = _mm_extract_epi8 (var, 9);
int k = _mm_extract_epi8 (var, 10);
int l = _mm_extract_epi8 (var, 11);
int m = _mm_extract_epi8 (var, 12);
int n = _mm_extract_epi8 (var, 13);
int o = _mm_extract_epi8 (var, 14);
int p = _mm_extract_epi8 (var, 15);
printf("(%d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)",a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);
}
int main()
{
__m128i a = _mm_set_epi32(0,0,0,0);
__m128i b = _mm_insert_epi8 (a, 5, 0);
__m128i c = _mm_insert_epi8 (b, 5, 1);
__m128i d = _mm_insert_epi8 (c, 5, 2);
__m128i e = _mm_insert_epi8 (d, 5, 3);
__m128i f = _mm_insert_epi8 (e, 5, 4);
__m128i g = _mm_insert_epi8 (f, 5, 5);
__m128i h = _mm_insert_epi8 (g, 5, 6);
__m128i i = _mm_insert_epi8 (h, 5, 7);
__m128i j = _mm_insert_epi8 (i, 5, 8);
__m128i k = _mm_insert_epi8 (j, 5, 9);
__m128i l = _mm_insert_epi8 (k, 5, 10);
__m128i m = _mm_insert_epi8 (l, 5, 11);
__m128i n = _mm_insert_epi8 (m, 5, 12);
__m128i o = _mm_insert_epi8 (n, 5, 13);
__m128i p = _mm_insert_epi8 (o, 5, 14);
__m128i r = _mm_insert_epi8 (p, 5, 15);
print128_num(r);
return 0;
}
//gcc-7 -msse4.1 -Wall broadcast.c
//(5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment