1// RUN: %clang -target aarch64-none-linux-gnu -x c -E -dM %s -o - | FileCheck %s 2// RUN: %clang -target arm64-none-linux-gnu -x c -E -dM %s -o - | FileCheck %s 3 4// CHECK: __AARCH64EL__ 1 5// CHECK: __ARM_64BIT_STATE 1 6// CHECK: __ARM_ACLE 200 7// CHECK: __ARM_ALIGN_MAX_STACK_PWR 4 8// CHECK: __ARM_ARCH 8 9// CHECK: __ARM_ARCH_ISA_A64 1 10// CHECK: __ARM_ARCH_PROFILE 'A' 11// CHECK-NOT: __ARM_FEATURE_BIG_ENDIAN 12// CHECK: __ARM_FEATURE_CLZ 1 13// CHECK-NOT: __ARM_FEATURE_CRC32 1 14// CHECK-NOT: __ARM_FEATURE_CRYPTO 1 15// CHECK: __ARM_FEATURE_DIV 1 16// CHECK: __ARM_FEATURE_FMA 1 17// CHECK: __ARM_FEATURE_UNALIGNED 1 18// CHECK: __ARM_FP 0xe 19// CHECK: __ARM_FP16_FORMAT_IEEE 1 20// CHECK-NOT: __ARM_FP_FAST 1 21// CHECK: __ARM_FP_FENV_ROUNDING 1 22// CHECK: __ARM_NEON 1 23// CHECK: __ARM_NEON_FP 0xe 24// CHECK: __ARM_PCS_AAPCS64 1 25// CHECK-NOT: __ARM_SIZEOF_MINIMAL_ENUM 1 26// CHECK-NOT: __ARM_SIZEOF_WCHAR_T 2 27 28// RUN: %clang -target aarch64-none-linux-gnu -mfpu=crypto-neon-fp-armv8 -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-CRYPTO %s 29// RUN: %clang -target arm64-none-linux-gnu -mfpu=crypto-neon-fp-armv8 -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-CRYPTO %s 30// CHECK-CRYPTO: __ARM_FEATURE_CRYPTO 1 31 32// RUN: %clang -target aarch64-none-linux-gnu -mcrc -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-CRC32 %s 33// RUN: %clang -target arm64-none-linux-gnu -mcrc -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-CRC32 %s 34// CHECK-CRC32: __ARM_FEATURE_CRC32 1 35 36// RUN: %clang -target aarch64-none-linux-gnu -ffast-math -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-FASTMATH %s 37// RUN: %clang -target arm64-none-linux-gnu -ffast-math -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-FASTMATH %s 38// CHECK-FASTMATH: __ARM_FP_FAST 1 39 40// RUN: %clang -target aarch64-none-linux-gnu -fshort-wchar -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-SHORTWCHAR %s 41// RUN: %clang -target arm64-none-linux-gnu -fshort-wchar -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-SHORTWCHAR %s 42// CHECK-SHORTWCHAR: __ARM_SIZEOF_WCHAR_T 2 43 44// RUN: %clang -target aarch64-none-linux-gnu -fshort-enums -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-SHORTENUMS %s 45// RUN: %clang -target arm64-none-linux-gnu -fshort-enums -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-SHORTENUMS %s 46// CHECK-SHORTENUMS: __ARM_SIZEOF_MINIMAL_ENUM 1 47 48// RUN: %clang -target aarch64-none-linux-gnu -mfpu=neon -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-NEON %s 49// RUN: %clang -target arm64-none-linux-gnu -mfpu=neon -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-NEON %s 50// CHECK-NEON: __ARM_NEON 1 51// CHECK-NEON: __ARM_NEON_FP 0xe 52 53// RUN: %clang -target aarch64-none-linux-gnu -mcpu=cortex-a53 -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-FEATURE %s 54// RUN: %clang -target aarch64-none-linux-gnu -mcpu=cortex-a57 -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-FEATURE %s 55// RUN: %clang -target aarch64-none-linux-gnu -mcpu=cyclone -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-FEATURE %s 56// CHECK-FEATURE: __ARM_FEATURE_CRC32 1 57// CHECK-FEATURE: __ARM_FEATURE_CRYPTO 1 58// CHECK-FEATURE: __ARM_NEON 1 59// CHECK-FEATURE: __ARM_NEON_FP 0xe 60 61 62