]> granicus.if.org Git - clang/commit
Update the intel intrinsic headers to use the target attribute support.
authorEric Christopher <echristo@gmail.com>
Wed, 17 Jun 2015 07:09:32 +0000 (07:09 +0000)
committerEric Christopher <echristo@gmail.com>
Wed, 17 Jun 2015 07:09:32 +0000 (07:09 +0000)
commit41885d36e85ead75a1d18ef7d2f43663f90ed67e
tree62fec5272b6580d33447211584b973236c020d3a
parent695aff12b29828c77c34e1b29d37900d26ea860e
Update the intel intrinsic headers to use the target attribute support.

This involved removing the conditional inclusion and replacing them
with target attributes matching the original conditional inclusion
and checks. The testcase update removes the macro checks for each
file and replaces them with usage of the __target__ attribute, e.g.:

int __attribute__((__target__(("sse3")))) foo(int a) {
  _mm_mwait(0, 0);
  return 4;
}

This usage does require the enclosing function have the requisite
__target__ attribute for inlining and code generation - also for
any macro intrinsic uses in the enclosing function. There's no change
for existing uses of the intrinsic headers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@239883 91177308-0d34-0410-b5e6-96231b3b80d8
38 files changed:
lib/Headers/__wmmintrin_aes.h
lib/Headers/__wmmintrin_pclmul.h
lib/Headers/adxintrin.h
lib/Headers/ammintrin.h
lib/Headers/avx2intrin.h
lib/Headers/avx512bwintrin.h
lib/Headers/avx512dqintrin.h
lib/Headers/avx512fintrin.h
lib/Headers/avx512vlbwintrin.h
lib/Headers/avx512vldqintrin.h
lib/Headers/avx512vlintrin.h
lib/Headers/avxintrin.h
lib/Headers/bmi2intrin.h
lib/Headers/bmiintrin.h
lib/Headers/emmintrin.h
lib/Headers/f16cintrin.h
lib/Headers/fma4intrin.h
lib/Headers/fmaintrin.h
lib/Headers/immintrin.h
lib/Headers/lzcntintrin.h
lib/Headers/mm3dnow.h
lib/Headers/mmintrin.h
lib/Headers/nmmintrin.h
lib/Headers/pmmintrin.h
lib/Headers/popcntintrin.h
lib/Headers/rdseedintrin.h
lib/Headers/rtmintrin.h
lib/Headers/shaintrin.h
lib/Headers/smmintrin.h
lib/Headers/tbmintrin.h
lib/Headers/tmmintrin.h
lib/Headers/wmmintrin.h
lib/Headers/x86intrin.h
lib/Headers/xmmintrin.h
lib/Headers/xopintrin.h
test/Headers/pmmintrin.c [new file with mode: 0644]
test/Headers/x86intrin-2.c [new file with mode: 0644]
test/Headers/x86intrin.c