
Clang defines the x64 preprocessor macro (`__x86_64__`) when building Arm64EC, however the tests for x64 built-ins and intrinsics are currently failing since the relevant functions don't exist, resulting in errors like: ``` Line 165: invalid conversion between vector type '__v2di' (vector of 2 'long long' values) and integer type 'int' of different size ``` (Clang doesn't know the intrinsics being called, and so treats it like an undefined function, which makes it assume the return type is `int`) For now, expect these tests to fail until someone decides to implement these intrinsics.
16 lines
412 B
C
16 lines
412 B
C
// RUN: %clang_cc1 -fsyntax-only -ffreestanding %s -verify
|
|
// RUN: %clang_cc1 -fsyntax-only -ffreestanding -x c++ %s -verify
|
|
// expected-no-diagnostics
|
|
|
|
// XFAIL: target=arm64ec-pc-windows-msvc
|
|
// These intrinsics are not yet implemented for Arm64EC.
|
|
|
|
#if defined(i386) || defined(__x86_64__)
|
|
#include <pmmintrin.h>
|
|
|
|
int __attribute__((__target__(("sse3")))) foo(int a) {
|
|
_mm_mwait(0, 0);
|
|
return 4;
|
|
}
|
|
#endif
|