Home | History | Annotate | Download | only in Headers
      1 // RUN: %clang_cc1 -fsyntax-only -ffreestanding %s -verify
      2 // RUN: %clang_cc1 -fsyntax-only -ffreestanding -fno-lax-vector-conversions %s -verify
      3 // RUN: %clang_cc1 -fsyntax-only -ffreestanding -x c++ %s -verify
      4 // expected-no-diagnostics
      5 
      6 #if defined(i386) || defined(__x86_64__)
      7 
      8 // Pretend to enable all features.
      9 #ifndef __3dNOW__
     10 #define __3dNOW__
     11 #endif
     12 #ifndef __BMI__
     13 #define __BMI__
     14 #endif
     15 #ifndef __BMI2__
     16 #define __BMI2__
     17 #endif
     18 #ifndef __LZCNT__
     19 #define __LZCNT__
     20 #endif
     21 #ifndef __POPCNT__
     22 #define __POPCNT__
     23 #endif
     24 #ifndef __RDSEED__
     25 #define __RDSEED__
     26 #endif
     27 #ifndef __PRFCHW__
     28 #define __PRFCHW__
     29 #endif
     30 #ifndef __SSE4A__
     31 #define __SSE4A__
     32 #endif
     33 #ifndef __FMA4__
     34 #define __FMA4__
     35 #endif
     36 #ifndef __XOP__
     37 #define __XOP__
     38 #endif
     39 #ifndef __F16C__
     40 #define __F16C__
     41 #endif
     42 #ifndef __MMX__
     43 #define __MMX__
     44 #endif
     45 #ifndef __SSE__
     46 #define __SSE__
     47 #endif
     48 #ifndef __SSE2__
     49 #define __SSE2__
     50 #endif
     51 #ifndef __SSE3__
     52 #define __SSE3__
     53 #endif
     54 #ifndef __SSSE3__
     55 #define __SSSE3__
     56 #endif
     57 #ifndef __SSE4_1__
     58 #define __SSE4_1__
     59 #endif
     60 #ifndef __SSE4_2__
     61 #define __SSE4_2__
     62 #endif
     63 #ifndef __AES__
     64 #define __AES__
     65 #endif
     66 #ifndef __AVX__
     67 #define __AVX__
     68 #endif
     69 #ifndef __AVX2__
     70 #define __AVX2__
     71 #endif
     72 #ifndef __BMI__
     73 #define __BMI__
     74 #endif
     75 #ifndef __BMI2__
     76 #define __BMI2__
     77 #endif
     78 #ifndef __LZCNT__
     79 #define __LZCNT__
     80 #endif
     81 #ifndef __FMA__
     82 #define __FMA__
     83 #endif
     84 #ifndef __RDRND__
     85 #define __RDRND__
     86 #endif
     87 
     88 // Now include the metaheader that includes all x86 intrinsic headers.
     89 #include <x86intrin.h>
     90 
     91 #endif
     92