xref: /aosp_15_r20/external/clang/test/CodeGen/target-builtin-error-2.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 %s -triple=x86_64-linux-gnu -S -verify -o -
2*67e74705SXin Li #define __MM_MALLOC_H
3*67e74705SXin Li 
4*67e74705SXin Li #include <x86intrin.h>
5*67e74705SXin Li 
6*67e74705SXin Li // Since we do code generation on a function level this needs to error out since
7*67e74705SXin Li // the subtarget feature won't be available.
wombat(__m128i a)8*67e74705SXin Li __m128 wombat(__m128i a) {
9*67e74705SXin Li   if (__builtin_cpu_supports("avx"))
10*67e74705SXin Li     return __builtin_ia32_vpermilvarps((__v4sf) {0.0f, 1.0f, 2.0f, 3.0f}, (__v4si)a); // expected-error {{'__builtin_ia32_vpermilvarps' needs target feature avx}}
11*67e74705SXin Li   else
12*67e74705SXin Li     return (__m128){0, 0};
13*67e74705SXin Li }
14