llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-backend-loongarch Author: None (Ami-zhang) <details> <summary>Changes</summary> When '-march' with LASX feature and '-mno-lsx' options are used together, '-mno-lsx' fails to disable LASX, leaving 'HasFeatureLASX=true' and causing incorrect '__loongarch_sx/asx=1' macro definition. Fixes https://github.com/loongson-community/discussions/issues/95 --- Full diff: https://github.com/llvm/llvm-project/pull/143821.diff 2 Files Affected: - (modified) clang/lib/Driver/ToolChains/Arch/LoongArch.cpp (+1) - (modified) clang/test/Preprocessor/init-loongarch.c (+2) ``````````diff diff --git a/clang/lib/Driver/ToolChains/Arch/LoongArch.cpp b/clang/lib/Driver/ToolChains/Arch/LoongArch.cpp index 3318e498a74f9..33a655870b01b 100644 --- a/clang/lib/Driver/ToolChains/Arch/LoongArch.cpp +++ b/clang/lib/Driver/ToolChains/Arch/LoongArch.cpp @@ -252,6 +252,7 @@ void loongarch::getLoongArchTargetFeatures(const Driver &D, Features.push_back("+lsx"); } else /*-mno-lsx*/ { Features.push_back("-lsx"); + Features.push_back("-lasx"); } } diff --git a/clang/test/Preprocessor/init-loongarch.c b/clang/test/Preprocessor/init-loongarch.c index ac461b371162f..ab80449410e5c 100644 --- a/clang/test/Preprocessor/init-loongarch.c +++ b/clang/test/Preprocessor/init-loongarch.c @@ -946,6 +946,8 @@ // RUN: | FileCheck --match-full-lines --check-prefix=MNO-LSX %s // RUN: %clang --target=loongarch64 -mno-lasx -mno-lsx -x c -E -dM %s -o - \ // RUN: | FileCheck --match-full-lines --check-prefix=MNO-LSX %s +// RUN: %clang --target=loongarch64 -march=la464 -mno-lsx -x c -E -dM %s -o - \ +// RUN: | FileCheck --match-full-lines --check-prefix=MNO-LSX %s // MNO-LSX-NOT: #define __loongarch_asx // MNO-LSX-NOT: #define __loongarch_simd_width // MNO-LSX-NOT: #define __loongarch_sx `````````` </details> https://github.com/llvm/llvm-project/pull/143821 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits