diff --git a/clang/test/Preprocessor/init-loongarch.c b/clang/test/Preprocessor/init-loongarch.c index 686c9681361e8..055431479f242 100644 --- a/clang/test/Preprocessor/init-loongarch.c +++ b/clang/test/Preprocessor/init-loongarch.c @@ -3,16 +3,16 @@ // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple loongarch32-unknown-linux /dev/null \ // RUN: | FileCheck --match-full-lines --check-prefixes=LA32,LA32-LINUX %s // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple loongarch32 \ -// RUN: -fforce-enable-int128 /dev/null | FileCheck --match-full-lines \ -// RUN: --check-prefixes=LA32,LA32-INT128 %s +// RUN: -fforce-enable-int128 /dev/null | FileCheck --match-full-lines \ +// RUN: --check-prefixes=LA32,LA32-INT128 %s // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple loongarch64 /dev/null \ // RUN: | FileCheck --match-full-lines --check-prefix=LA64 %s // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple loongarch64-unknown-linux /dev/null \ // RUN: | FileCheck --match-full-lines --check-prefixes=LA64,LA64-LINUX %s // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple loongarch64 \ -// RUN: -fforce-enable-int128 /dev/null | FileCheck --match-full-lines \ -// RUN: --check-prefixes=LA64,LA64-INT128 %s +// RUN: -fforce-enable-int128 /dev/null | FileCheck --match-full-lines \ +// RUN: --check-prefixes=LA64,LA64-INT128 %s //// Note that common macros are tested in init.c, such as __VERSION__. So they're not listed here. @@ -650,141 +650,140 @@ // LA64-LINUX: #define unix 1 -/// Check various macros prefixed with "__loongarch_" in different cases. -/// "__loongarch__"" is not listed here as it has been checked above. +/// Check __loongarch_{double,single,hard,soft}_float, __loongarch_{gr,fr}len, __loongarch_lp64. // RUN: %clang --target=loongarch32 -mfpu=64 -mabi=ilp32d -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA32-FPU64-ILP32D %s +// RUN: | FileCheck --match-full-lines --check-prefix=LA32-FPU64-ILP32D %s // RUN: %clang --target=loongarch32 -mdouble-float -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA32-FPU64-ILP32D %s -// LA32-FPU64-ILP32D: __loongarch_double_float 1 -// LA32-FPU64-ILP32D-NEXT: __loongarch_frlen 64 -// LA32-FPU64-ILP32D-NEXT: __loongarch_grlen 32 -// LA32-FPU64-ILP32D-NEXT: __loongarch_hard_float 1 -// LA32-FPU64-ILP32D-NOT: __loongarch_lp64 -// LA32-FPU64-ILP32D-NOT: __loongarch_single_float -// LA32-FPU64-ILP32D-NOT: __loongarch_soft_float +// RUN: | FileCheck --match-full-lines --check-prefix=LA32-FPU64-ILP32D %s +// LA32-FPU64-ILP32D: #define __loongarch_double_float 1 +// LA32-FPU64-ILP32D: #define __loongarch_frlen 64 +// LA32-FPU64-ILP32D: #define __loongarch_grlen 32 +// LA32-FPU64-ILP32D: #define __loongarch_hard_float 1 +// LA32-FPU64-ILP32D-NOT: #define __loongarch_lp64 +// LA32-FPU64-ILP32D-NOT: #define __loongarch_single_float +// LA32-FPU64-ILP32D-NOT: #define __loongarch_soft_float // RUN: %clang --target=loongarch32 -mfpu=64 -mabi=ilp32f -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA32-FPU64-ILP32F %s -// LA32-FPU64-ILP32F-NOT: __loongarch_double_float -// LA32-FPU64-ILP32F: __loongarch_frlen 64 -// LA32-FPU64-ILP32F-NEXT: __loongarch_grlen 32 -// LA32-FPU64-ILP32F-NEXT: __loongarch_hard_float 1 -// LA32-FPU64-ILP32F-NOT: __loongarch_lp64 -// LA32-FPU64-ILP32F-NEXT: __loongarch_single_float 1 -// LA32-FPU64-ILP32F-NOT: __loongarch_soft_float +// RUN: | FileCheck --match-full-lines --check-prefix=LA32-FPU64-ILP32F %s +// LA32-FPU64-ILP32F-NOT: #define __loongarch_double_float +// LA32-FPU64-ILP32F: #define __loongarch_frlen 64 +// LA32-FPU64-ILP32F: #define __loongarch_grlen 32 +// LA32-FPU64-ILP32F: #define __loongarch_hard_float 1 +// LA32-FPU64-ILP32F-NOT: #define __loongarch_lp64 +// LA32-FPU64-ILP32F: #define __loongarch_single_float 1 +// LA32-FPU64-ILP32F-NOT: #define __loongarch_soft_float // RUN: %clang --target=loongarch32 -mfpu=64 -mabi=ilp32s -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA32-FPU64-ILP32S %s -// LA32-FPU64-ILP32S-NOT: __loongarch_double_float -// LA32-FPU64-ILP32S: __loongarch_frlen 64 -// LA32-FPU64-ILP32S-NEXT: __loongarch_grlen 32 -// LA32-FPU64-ILP32S-NOT: __loongarch_hard_float -// LA32-FPU64-ILP32S-NOT: __loongarch_lp64 -// LA32-FPU64-ILP32S-NOT: __loongarch_single_float -// LA32-FPU64-ILP32S-NEXT: __loongarch_soft_float 1 +// RUN: | FileCheck --match-full-lines --check-prefix=LA32-FPU64-ILP32S %s +// LA32-FPU64-ILP32S-NOT: #define __loongarch_double_float +// LA32-FPU64-ILP32S: #define __loongarch_frlen 64 +// LA32-FPU64-ILP32S: #define __loongarch_grlen 32 +// LA32-FPU64-ILP32S-NOT: #define __loongarch_hard_float +// LA32-FPU64-ILP32S-NOT: #define __loongarch_lp64 +// LA32-FPU64-ILP32S-NOT: #define __loongarch_single_float +// LA32-FPU64-ILP32S: #define __loongarch_soft_float 1 // RUN: %clang --target=loongarch32 -mfpu=32 -mabi=ilp32f -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA32-FPU32-ILP32F %s +// RUN: | FileCheck --match-full-lines --check-prefix=LA32-FPU32-ILP32F %s // RUN: %clang --target=loongarch32 -msingle-float -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA32-FPU32-ILP32F %s -// LA32-FPU32-ILP32F-NOT: __loongarch_double_float -// LA32-FPU32-ILP32F: __loongarch_frlen 32 -// LA32-FPU32-ILP32F-NEXT: __loongarch_grlen 32 -// LA32-FPU32-ILP32F-NEXT: __loongarch_hard_float 1 -// LA32-FPU32-ILP32F-NOT: __loongarch_lp64 -// LA32-FPU32-ILP32F-NEXT: __loongarch_single_float 1 -// LA32-FPU32-ILP32F-NOT: __loongarch_soft_float +// RUN: | FileCheck --match-full-lines --check-prefix=LA32-FPU32-ILP32F %s +// LA32-FPU32-ILP32F-NOT: #define __loongarch_double_float +// LA32-FPU32-ILP32F: #define __loongarch_frlen 32 +// LA32-FPU32-ILP32F: #define __loongarch_grlen 32 +// LA32-FPU32-ILP32F: #define __loongarch_hard_float 1 +// LA32-FPU32-ILP32F-NOT: #define __loongarch_lp64 +// LA32-FPU32-ILP32F: #define __loongarch_single_float 1 +// LA32-FPU32-ILP32F-NOT: #define __loongarch_soft_float // RUN: %clang --target=loongarch32 -mfpu=32 -mabi=ilp32s -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA32-FPU32-ILP32S %s -// LA32-FPU32-ILP32S-NOT: __loongarch_double_float -// LA32-FPU32-ILP32S: __loongarch_frlen 32 -// LA32-FPU32-ILP32S-NEXT: __loongarch_grlen 32 -// LA32-FPU32-ILP32S-NOT: __loongarch_hard_float -// LA32-FPU32-ILP32S-NOT: __loongarch_lp64 -// LA32-FPU32-ILP32S-NOT: __loongarch_single_float -// LA32-FPU32-ILP32S-NEXT: __loongarch_soft_float 1 +// RUN: | FileCheck --match-full-lines --check-prefix=LA32-FPU32-ILP32S %s +// LA32-FPU32-ILP32S-NOT: #define __loongarch_double_float +// LA32-FPU32-ILP32S: #define __loongarch_frlen 32 +// LA32-FPU32-ILP32S: #define __loongarch_grlen 32 +// LA32-FPU32-ILP32S-NOT: #define __loongarch_hard_float +// LA32-FPU32-ILP32S-NOT: #define __loongarch_lp64 +// LA32-FPU32-ILP32S-NOT: #define __loongarch_single_float +// LA32-FPU32-ILP32S: #define __loongarch_soft_float 1 // RUN: %clang --target=loongarch32 -mfpu=0 -mabi=ilp32s -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA32-FPU0-ILP32S %s +// RUN: | FileCheck --match-full-lines --check-prefix=LA32-FPU0-ILP32S %s // RUN: %clang --target=loongarch32 -mfpu=none -mabi=ilp32s -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA32-FPU0-ILP32S %s +// RUN: | FileCheck --match-full-lines --check-prefix=LA32-FPU0-ILP32S %s // RUN: %clang --target=loongarch32 -msoft-float -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA32-FPU0-ILP32S %s -// LA32-FPU0-ILP32S-NOT: __loongarch_double_float -// LA32-FPU0-ILP32S: __loongarch_frlen 0 -// LA32-FPU0-ILP32S-NEXT: __loongarch_grlen 32 -// LA32-FPU0-ILP32S-NOT: __loongarch_hard_float -// LA32-FPU0-ILP32S-NOT: __loongarch_lp64 -// LA32-FPU0-ILP32S-NOT: __loongarch_single_float -// LA32-FPU0-ILP32S-NEXT: __loongarch_soft_float 1 +// RUN: | FileCheck --match-full-lines --check-prefix=LA32-FPU0-ILP32S %s +// LA32-FPU0-ILP32S-NOT: #define __loongarch_double_float +// LA32-FPU0-ILP32S: #define __loongarch_frlen 0 +// LA32-FPU0-ILP32S: #define __loongarch_grlen 32 +// LA32-FPU0-ILP32S-NOT: #define __loongarch_hard_float +// LA32-FPU0-ILP32S-NOT: #define __loongarch_lp64 +// LA32-FPU0-ILP32S-NOT: #define __loongarch_single_float +// LA32-FPU0-ILP32S: #define __loongarch_soft_float 1 // RUN: %clang --target=loongarch64 -mfpu=64 -mabi=lp64d -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA64-FPU64-LP64D %s +// RUN: | FileCheck --match-full-lines --check-prefix=LA64-FPU64-LP64D %s // RUN: %clang --target=loongarch64 -mdouble-float -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA64-FPU64-LP64D %s -// LA64-FPU64-LP64D: __loongarch_double_float 1 -// LA64-FPU64-LP64D-NEXT: __loongarch_frlen 64 -// LA64-FPU64-LP64D-NEXT: __loongarch_grlen 64 -// LA64-FPU64-LP64D-NEXT: __loongarch_hard_float 1 -// LA64-FPU64-LP64D-NEXT: __loongarch_lp64 1 -// LA64-FPU64-LP64D-NOT: __loongarch_single_float -// LA64-FPU64-LP64D-NOT: __loongarch_soft_float +// RUN: | FileCheck --match-full-lines --check-prefix=LA64-FPU64-LP64D %s +// LA64-FPU64-LP64D: #define __loongarch_double_float 1 +// LA64-FPU64-LP64D: #define __loongarch_frlen 64 +// LA64-FPU64-LP64D: #define __loongarch_grlen 64 +// LA64-FPU64-LP64D: #define __loongarch_hard_float 1 +// LA64-FPU64-LP64D: #define __loongarch_lp64 1 +// LA64-FPU64-LP64D-NOT: #define __loongarch_single_float +// LA64-FPU64-LP64D-NOT: #define __loongarch_soft_float // RUN: %clang --target=loongarch64 -mfpu=64 -mabi=lp64f -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA64-FPU64-LP64F %s -// LA64-FPU64-LP64F-NOT: __loongarch_double_float -// LA64-FPU64-LP64F: __loongarch_frlen 64 -// LA64-FPU64-LP64F-NEXT: __loongarch_grlen 64 -// LA64-FPU64-LP64F-NEXT: __loongarch_hard_float 1 -// LA64-FPU64-LP64F-NEXT: __loongarch_lp64 1 -// LA64-FPU64-LP64F-NEXT: __loongarch_single_float 1 -// LA64-FPU64-LP64F-NOT: __loongarch_soft_float +// RUN: | FileCheck --match-full-lines --check-prefix=LA64-FPU64-LP64F %s +// LA64-FPU64-LP64F-NOT: #define __loongarch_double_float +// LA64-FPU64-LP64F: #define __loongarch_frlen 64 +// LA64-FPU64-LP64F: #define __loongarch_grlen 64 +// LA64-FPU64-LP64F: #define __loongarch_hard_float 1 +// LA64-FPU64-LP64F: #define __loongarch_lp64 1 +// LA64-FPU64-LP64F: #define __loongarch_single_float 1 +// LA64-FPU64-LP64F-NOT: #define __loongarch_soft_float // RUN: %clang --target=loongarch64 -mfpu=64 -mabi=lp64s -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA64-FPU64-LP64S %s -// LA64-FPU64-LP64S-NOT: __loongarch_double_float -// LA64-FPU64-LP64S: __loongarch_frlen 64 -// LA64-FPU64-LP64S-NEXT: __loongarch_grlen 64 -// LA64-FPU64-LP64S-NOT: __loongarch_hard_float -// LA64-FPU64-LP64S-NEXT: __loongarch_lp64 1 -// LA64-FPU64-LP64S-NOT: __loongarch_single_float -// LA64-FPU64-LP64S-NEXT: __loongarch_soft_float 1 +// RUN: | FileCheck --match-full-lines --check-prefix=LA64-FPU64-LP64S %s +// LA64-FPU64-LP64S-NOT: #define __loongarch_double_float +// LA64-FPU64-LP64S: #define __loongarch_frlen 64 +// LA64-FPU64-LP64S: #define __loongarch_grlen 64 +// LA64-FPU64-LP64S-NOT: #define __loongarch_hard_float +// LA64-FPU64-LP64S: #define __loongarch_lp64 1 +// LA64-FPU64-LP64S-NOT: #define __loongarch_single_float +// LA64-FPU64-LP64S: #define __loongarch_soft_float 1 // RUN: %clang --target=loongarch64 -mfpu=32 -mabi=lp64f -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA64-FPU32-LP64F %s +// RUN: | FileCheck --match-full-lines --check-prefix=LA64-FPU32-LP64F %s // RUN: %clang --target=loongarch64 -msingle-float -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA64-FPU32-LP64F %s -// LA64-FPU32-LP64F-NOT: __loongarch_double_float -// LA64-FPU32-LP64F: __loongarch_frlen 32 -// LA64-FPU32-LP64F-NEXT: __loongarch_grlen 64 -// LA64-FPU32-LP64F-NEXT: __loongarch_hard_float 1 -// LA64-FPU32-LP64F-NEXT: __loongarch_lp64 1 -// LA64-FPU32-LP64F-NEXT: __loongarch_single_float 1 -// LA64-FPU32-LP64F-NOT: __loongarch_soft_float +// RUN: | FileCheck --match-full-lines --check-prefix=LA64-FPU32-LP64F %s +// LA64-FPU32-LP64F-NOT: #define __loongarch_double_float +// LA64-FPU32-LP64F: #define __loongarch_frlen 32 +// LA64-FPU32-LP64F: #define __loongarch_grlen 64 +// LA64-FPU32-LP64F: #define __loongarch_hard_float 1 +// LA64-FPU32-LP64F: #define __loongarch_lp64 1 +// LA64-FPU32-LP64F: #define __loongarch_single_float 1 +// LA64-FPU32-LP64F-NOT: #define __loongarch_soft_float // RUN: %clang --target=loongarch64 -mfpu=32 -mabi=lp64s -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA64-FPU32-LP64S %s -// LA64-FPU32-LP64S-NOT: __loongarch_double_float -// LA64-FPU32-LP64S: __loongarch_frlen 32 -// LA64-FPU32-LP64S-NEXT: __loongarch_grlen 64 -// LA64-FPU32-LP64S-NOT: __loongarch_hard_float -// LA64-FPU32-LP64S-NEXT: __loongarch_lp64 1 -// LA64-FPU32-LP64S-NOT: __loongarch_single_float -// LA64-FPU32-LP64S-NEXT: __loongarch_soft_float 1 +// RUN: | FileCheck --match-full-lines --check-prefix=LA64-FPU32-LP64S %s +// LA64-FPU32-LP64S-NOT: #define __loongarch_double_float +// LA64-FPU32-LP64S: #define __loongarch_frlen 32 +// LA64-FPU32-LP64S: #define __loongarch_grlen 64 +// LA64-FPU32-LP64S-NOT: #define __loongarch_hard_float +// LA64-FPU32-LP64S: #define __loongarch_lp64 1 +// LA64-FPU32-LP64S-NOT: #define __loongarch_single_float +// LA64-FPU32-LP64S: #define __loongarch_soft_float 1 // RUN: %clang --target=loongarch64 -mfpu=0 -mabi=lp64s -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA64-FPU0-LP64S %s +// RUN: | FileCheck --match-full-lines --check-prefix=LA64-FPU0-LP64S %s // RUN: %clang --target=loongarch64 -mfpu=none -mabi=lp64s -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA64-FPU0-LP64S %s +// RUN: | FileCheck --match-full-lines --check-prefix=LA64-FPU0-LP64S %s // RUN: %clang --target=loongarch64 -msoft-float -x c -E -dM %s -o - \ -// RUN: | grep __loongarch_ | FileCheck --check-prefix=LA64-FPU0-LP64S %s -// LA64-FPU0-LP64S-NOT: __loongarch_double_float -// LA64-FPU0-LP64S: __loongarch_frlen 0 -// LA64-FPU0-LP64S-NEXT: __loongarch_grlen 64 -// LA64-FPU0-LP64S-NOT: __loongarch_hard_float -// LA64-FPU0-LP64S-NEXT: __loongarch_lp64 1 -// LA64-FPU0-LP64S-NOT: __loongarch_single_float -// LA64-FPU0-LP64S-NEXT: __loongarch_soft_float 1 +// RUN: | FileCheck --match-full-lines --check-prefix=LA64-FPU0-LP64S %s +// LA64-FPU0-LP64S-NOT: #define __loongarch_double_float +// LA64-FPU0-LP64S: #define __loongarch_frlen 0 +// LA64-FPU0-LP64S: #define __loongarch_grlen 64 +// LA64-FPU0-LP64S-NOT: #define __loongarch_hard_float +// LA64-FPU0-LP64S: #define __loongarch_lp64 1 +// LA64-FPU0-LP64S-NOT: #define __loongarch_single_float +// LA64-FPU0-LP64S: #define __loongarch_soft_float 1