asm: start intrinsics examples

Split userland/arch/<arch>/c/ into inline_asm and intrinsics, and move programs
that don't match either up.
This commit is contained in:
Ciro Santilli 六四事件 法轮功
2019-05-30 00:00:00 +00:00
parent 4a4407e7a8
commit 823ae52164
50 changed files with 78 additions and 37 deletions

View File

@@ -0,0 +1 @@
https://github.com/cirosantilli/linux-kernel-module-cheat#gcc-intrinsics

View File

@@ -0,0 +1,18 @@
/* https://github.com/cirosantilli/linux-kernel-module-cheat#gcc-intrinsics */
#include <assert.h>
#include <stdio.h>
#include <x86intrin.h>
int main(void) {
__m128i input0 = _mm_set_epi32(1, 2, 3, 4);
__m128i input1 = _mm_set_epi32(5, 6, 7, 8);
__m128i output = _mm_add_epi32(input0, input1);
printf("%d\n", (int)output[3]);
assert(output[0] == 6);
assert(output[1] == 8);
assert(output[2] == 10);
assert(output[3] == 12);
return 0;
}