1 // RUN: %clang -target aarch64-none-linux-gnu -x c -E -dM %s -o - | FileCheck %s 2 3 // CHECK: __AARCH64EL__ 1 4 // CHECK: __ARM_64BIT_STATE 1 5 // CHECK: __ARM_ACLE 200 6 // CHECK: __ARM_ALIGN_MAX_STACK_PWR 4 7 // CHECK: __ARM_ARCH 8 8 // CHECK: __ARM_ARCH_ISA_A64 1 9 // CHECK: __ARM_ARCH_PROFILE 'A' 10 // CHECK-NOT: __ARM_FEATURE_BIG_ENDIAN 11 // CHECK: __ARM_FEATURE_CLZ 1 12 // CHECK-NOT: __ARM_FEATURE_CRYPTO 1 13 // CHECK: __ARM_FEATURE_DIV 1 14 // CHECK: __ARM_FEATURE_FMA 1 15 // CHECK: __ARM_FEATURE_UNALIGNED 1 16 // CHECK: __ARM_FP 0xe 17 // CHECK: __ARM_FP16_FORMAT_IEEE 1 18 // CHECK-NOT: __ARM_FP_FAST 1 19 // CHECK: __ARM_FP_FENV_ROUNDING 1 20 // CHECK-NOT: __ARM_NEON 1 21 // CHECK-NOT: __ARM_NEON_FP 7 22 // CHECK: __ARM_PCS_AAPCS64 1 23 // CHECK-NOT: __ARM_SIZEOF_MINIMAL_ENUM 1 24 // CHECK-NOT: __ARM_SIZEOF_WCHAR_T 2 25 26 // RUN: %clang -target aarch64-none-linux-gnu -mfpu=crypto-neon-fp-armv8 -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-CRYPTO %s 27 // CHECK-CRYPTO: __ARM_FEATURE_CRYPTO 1 28 29 // RUN: %clang -target aarch64-none-linux-gnu -ffast-math -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-FASTMATH %s 30 // CHECK-FASTMATH: __ARM_FP_FAST 1 31 32 // RUN: %clang -target aarch64-none-linux-gnu -fshort-wchar -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-SHORTWCHAR %s 33 // CHECK-SHORTWCHAR: __ARM_SIZEOF_WCHAR_T 2 34 35 // RUN: %clang -target aarch64-none-linux-gnu -fshort-enums -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-SHORTENUMS %s 36 // CHECK-SHORTENUMS: __ARM_SIZEOF_MINIMAL_ENUM 1 37 38 // RUN: %clang -target aarch64-none-linux-gnu -mfpu=neon -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-NEON %s 39 // CHECK-NEON: __ARM_NEON 1 40 // CHECK-NEON: __ARM_NEON_FP 7 41