Eric Christopher | 1570999 | 2015-10-15 23:47:11 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 %s -triple=x86_64-linux-gnu -S -verify -o - |
| 2 | #define __MM_MALLOC_H |
| 3 | |
| 4 | #include <x86intrin.h> |
| 5 | |
| 6 | // Since we do code generation on a function level this needs to error out since |
| 7 | // the subtarget feature won't be available. |
Simon Pilgrim | 90770c7 | 2016-05-23 22:13:02 +0000 | [diff] [blame] | 8 | __m128 wombat(__m128i a) { |
Eric Christopher | 1570999 | 2015-10-15 23:47:11 +0000 | [diff] [blame] | 9 | if (__builtin_cpu_supports("avx")) |
Simon Pilgrim | 90770c7 | 2016-05-23 22:13:02 +0000 | [diff] [blame] | 10 | return __builtin_ia32_vpermilvarps((__v4sf) {0.0f, 1.0f, 2.0f, 3.0f}, (__v4si)a); // expected-error {{'__builtin_ia32_vpermilvarps' needs target feature avx}} |
Eric Christopher | 1570999 | 2015-10-15 23:47:11 +0000 | [diff] [blame] | 11 | else |
Simon Pilgrim | 90770c7 | 2016-05-23 22:13:02 +0000 | [diff] [blame] | 12 | return (__m128){0, 0}; |
Eric Christopher | 1570999 | 2015-10-15 23:47:11 +0000 | [diff] [blame] | 13 | } |