diff options
author | Erik Schnetter <schnetter@gmail.com> | 2013-06-17 20:39:30 -0400 |
---|---|---|
committer | Erik Schnetter <schnetter@gmail.com> | 2013-06-17 20:39:30 -0400 |
commit | 4ecbdd61a0c21cdd37f71c3e62fe2e09a1fed29e (patch) | |
tree | 9a7566fe64d04fe91c9a124196c8185f16df5270 | |
parent | dc022e369395379563d35e4bbfa2bb0469e668c0 (diff) | |
download | vecmathlib-4ecbdd61a0c21cdd37f71c3e62fe2e09a1fed29e.zip vecmathlib-4ecbdd61a0c21cdd37f71c3e62fe2e09a1fed29e.tar.gz |
Support Intel compiler
-rw-r--r-- | vec_test.h | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -420,7 +420,7 @@ namespace vecmathlib { } inline void barrier() { -#if defined __GNUC__ && !defined __clang__ +#if defined __GNUC__ && !defined __clang__ && !defined __ICC // GCC crashes when +X is used as constraint # if defined __SSE2__ for (int d=0; d<size; ++d) __asm__("": "+x" (v[d])); @@ -433,6 +433,12 @@ namespace vecmathlib { # endif #elif defined __clang__ for (int d=0; d<size; ++d) __asm__("": "+X" (v[d])); +#elif defined __ICC + for (int d=0; d<size; ++d) { + real_t tmp = v[d]; + __asm__("": "+X" (tmp)); + v[d] = tmp; + } #elif defined __IBMCPP__ for (int d=0; d<size; ++d) __asm__("": "+f" (v[d])); #else |