title: compilation error for avx512, is it a GCC issue?
body: <p>I am trying to compile the following code with AVX512 intrinsic, but gives me the compile error. </p>
  
  <pre><code>#include &lt;immintrin.h&gt;
  
  static inline __attribute__((always_inline)) void
  mov64(uint8_t *dst, const uint8_t *src)
  {
          __m512i zmm0;
  
          zmm0 = _mm512_load_si512((const void *)src);
          _mm512_store_si512((void *)dst, zmm0);
  }
  </code></pre>
  
  <p>The compilation error: </p>
  
  <pre><code>gcc -D_GNU_SOURCE -DINFO_LOG_DEBUG --std=c99 -march=native -O3 -DNDEBUG -m64 -mtune=native -Werror -Wall -Wundef -Wpointer-arith -Wstrict-prototypes -Wnested-externs -fomit-frame-pointer -DTRANSPORT_CONFIG_OPT_HDR='&lt;ci/internal/transport_config_opt_extra.h&gt;'  -c src/main.c -o obj/main.o 
  src/main.c: In function ‘mov64’:
  src/main.c:15:9: error: unknown type name ‘__m512i’
           __m512i zmm0;
           ^
  src/main.c:17:9: error: implicit declaration of function ‘_mm512_load_si512’ [-Werror=implicit-function-declaration]
           zmm0 = _mm512_load_si512((const void *)src);
           ^
  src/main.c:17:9: error: nested extern declaration of ‘_mm512_load_si512’ [-Werror=nested-externs]
  src/main.c:18:9: error: implicit declaration of function ‘_mm512_store_si512’ [-Werror=implicit-function-declaration]
           _mm512_store_si512((void *)dst, zmm0);
           ^
  src/main.c:18:9: error: nested extern declaration of ‘_mm512_store_si512’ [-Werror=nested-externs]
  cc1: all warnings being treated as errors
  </code></pre>
  
  <p>In addition, if I add -march=native,avx512f or -mavx512f or -march=skylake-avx512, it gives the following error:</p>
  
  <pre><code>src/main.c:1:0: error: bad value (skylake-avx512) for -march= switch
  </code></pre>
  
  <p>My GCC version is 4.8.5 20150623 and CPU is "Intel(R) Xeon(R) Gold 6154". What should I do to overcome this problem? Thanks in advance..</p>