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 #ifndef __SHA__
     88 #define __SHA__
     89 #endif
     90 #ifndef __ADX__
     91 #define __ADX__
     92 #endif
     93 #ifndef __TBM__
     94 #define __TBM__
     95 #endif
     96 #ifndef __RTM__
     97 #define __RTM__
     98 #endif
     99 #ifndef __PCLMUL__
    100 #define __PCLMUL__
    101 #endif
    102 #ifndef __FSGSBASE__
    103 #define __FSGSBASE__
    104 #endif
    105 #ifndef __AVX512F__
    106 #define __AVX512F__
    107 #endif
    108 #ifndef __AVX512VL__
    109 #define __AVX512VL__
    110 #endif
    111 #ifndef __AVX512BW__
    112 #define __AVX512BW__
    113 #endif
    114 #ifndef __AVX512ER__
    115 #define __AVX512ER__
    116 #endif
    117 #ifndef __AVX512PF__
    118 #define __AVX512PF__
    119 #endif
    120 #ifndef __AVX512DQ__
    121 #define __AVX512DQ__
    122 #endif
    123 #ifndef __AVX512CD__
    124 #define __AVX512CD__
    125 #endif
    126 
    127 // Now include the metaheader that includes all x86 intrinsic headers.
    128 #include <x86intrin.h>
    129 
    130 #endif
    131