rosbif / Immintrin-debug

immintrin_dbg.h is an include file, a wrapper around immintrin.h. It implements most of AVX, AVX2, AVX-512 vector intrinsics to enable source level debug of vector code.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

immintrin_dbg.h is an include file, a wrapper around immintrin.h. It implements most of AVX, AVX2, AVX-512 vector intrinsics 
to enable source level debug.
Usage: just include immintrin_dbg.h in debug build only. All functions are automatically generated from the intrinsics guide:
https://software.intel.com/sites/landingpage/IntrinsicsGuide/ 
$ icc -O -g -xAVX
$ gcc -Og -std=c99 -g -lm -Wno-psabi -march=nehalem -Wno-incompatible-pointer-types
$ clang -O1 -g -march=nehalem -lm
Please note, that GCC and clang will compile using SSE registers only, so this will work on any x86 CPU but Quark. ICC may still
use ZMM0 register to return _m512 type from functions.
If compiled with -O3, it will vectorize the debug library which would make debugging harder.

Known bugs:
_range_pd
_reduce_pd
rsqrt accuracy
rsqrt14 accuracy
assume -ffast-math
won't compile with high warnings levels

About

immintrin_dbg.h is an include file, a wrapper around immintrin.h. It implements most of AVX, AVX2, AVX-512 vector intrinsics to enable source level debug of vector code.

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C 100.0%