[clang] Clang: Add elementwise minnum/maxnum builtin functions (PR #129207)

2025-04-13 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa closed https://github.com/llvm/llvm-project/pull/129207 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Clang: Add elementwise minnum/maxnum builtin functions (PR #129207)

2025-04-13 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/129207 >From 679f92557d62acd87bf521050db7c2aee527293a Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 28 Feb 2025 16:09:04 +0800 Subject: [PATCH 1/6] Clang: Add minnum/maxnum builtin functions support With https

[clang] [llvm] Vectorize: Support fminimumnum and fmaximumnum (PR #131781)

2025-04-05 Thread YunQiang Su via cfe-commits
@@ -0,0 +1,1059 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 +; RUN: opt --passes=loop-vectorize --mtriple=riscv64 -mattr="+zvfh,+v" -S < %s | FileCheck %s --check-prefix=RV64 +; RUN: opt --passes=loop-vectorize --mtriple=aa

[clang] [llvm] Vectorize: Support fminimumnum and fmaximumnum (PR #131781)

2025-04-05 Thread YunQiang Su via cfe-commits
wzssyqa wrote: Reverted https://github.com/llvm/llvm-project/pull/131781 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Vectorize: Support fminimumnum and fmaximumnum (PR #131781)

2025-03-31 Thread YunQiang Su via cfe-commits
@@ -0,0 +1,1059 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 wzssyqa wrote: https://github.com/llvm/llvm-project/pull/133690 https://github.com/llvm/llvm-project/pull/131781

[clang] [llvm] Vectorize: Support fminimumnum and fmaximumnum (PR #131781)

2025-03-31 Thread YunQiang Su via cfe-commits
@@ -0,0 +1,1059 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 wzssyqa wrote: Do you mean that we should add this test case first and then this patch with update of the test case? https://github.com/llvm/llv

[clang] Clang: Add elementwise minnum/maxnum builtin functions (PR #129207)

2025-03-30 Thread YunQiang Su via cfe-commits
wzssyqa wrote: ping https://github.com/llvm/llvm-project/pull/129207 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Vectorize: Support fminimumnum and fmaximumnum (PR #131781)

2025-03-30 Thread YunQiang Su via cfe-commits
wzssyqa wrote: ping https://github.com/llvm/llvm-project/pull/131781 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Vectorize: Support fminimumnum and fmaximumnum (PR #131781)

2025-03-19 Thread YunQiang Su via cfe-commits
@@ -0,0 +1,407 @@ +// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 5 wzssyqa wrote: We have the backend test already. This PR fixes the front to generate vectorized IR from C code. https://github.com/llvm/llvm-p

[clang] Clang: Add elementwise minnum/maxnum builtin functions (PR #129207)

2025-03-19 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/129207 >From 5c3b36b06294b43088d277c689c3367825708779 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 28 Feb 2025 16:09:04 +0800 Subject: [PATCH 1/6] Clang: Add minnum/maxnum builtin functions support With https

[clang] Clang: Add elementwise minnum/maxnum builtin functions (PR #129207)

2025-03-19 Thread YunQiang Su via cfe-commits
wzssyqa wrote: > > > Needs the documentation updates in clang language extensions with the > > > other elementwise builtins, and a release note > > > > > > Documentation updated. And ReleaseNotes is submitted as a new PR: #131977 > > Best to keep the note about the new builtins here. The PR m

[clang] Clang: Add elementwise minnum/maxnum builtin functions (PR #129207)

2025-03-19 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/129207 >From 5c3b36b06294b43088d277c689c3367825708779 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 28 Feb 2025 16:09:04 +0800 Subject: [PATCH 1/6] Clang: Add minnum/maxnum builtin functions support With https

[clang] [llvm] Add release note entry for max/min (PR #131977)

2025-03-18 Thread YunQiang Su via cfe-commits
wzssyqa wrote: Since we have still some problem to be fixed. So this PR is set a draft. Wish that we can fix all of these problems in the cycle of LLVM 21. https://github.com/llvm/llvm-project/pull/131977 ___ cfe-commits mailing list cfe-commits@lists.

[clang] Clang: Add elementwise minnum/maxnum builtin functions (PR #129207)

2025-03-18 Thread YunQiang Su via cfe-commits
wzssyqa wrote: > Needs the documentation updates in clang language extensions with the other > elementwise builtins, and a release note Documentation updated. And ReleaseNotes is submitted as a new PR: https://github.com/llvm/llvm-project/pull/131977 https://github.com/llvm/llvm-project/pull/

[clang] [llvm] Add release note entry for max/min (PR #131977)

2025-03-18 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa converted_to_draft https://github.com/llvm/llvm-project/pull/131977 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Add release note entry for max/min (PR #131977)

2025-03-18 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa created https://github.com/llvm/llvm-project/pull/131977 None >From 737498ab2c540251f94ff7e07426d434b28d8b34 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Wed, 19 Mar 2025 14:05:05 +0800 Subject: [PATCH] Add release note entry for max/min --- clang/docs/ReleaseN

[clang] Clang: Add elementwise minnum/maxnum builtin functions (PR #129207)

2025-03-18 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/129207 >From 5c3b36b06294b43088d277c689c3367825708779 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 28 Feb 2025 16:09:04 +0800 Subject: [PATCH 1/4] Clang: Add minnum/maxnum builtin functions support With https

[clang] [llvm] Vectorize: Support fminimumnum and fmaximumnum (PR #131781)

2025-03-18 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa created https://github.com/llvm/llvm-project/pull/131781 Support auto-vectorize for fminimum_num and fmaximum_num. For ARM64 with SVE, scalable vector cannot support yet, and For RISCV Vector, scalable vector works well now. >From e367aaa410dcbb6f3d1c5803eac49dde6dae

[clang] Clang: Add minnum/maxnum builtin functions (PR #129207)

2025-02-28 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/129207 >From 917e3b80ae7962a4f0bd5735cdc88163fcdbdcc7 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 28 Feb 2025 16:09:04 +0800 Subject: [PATCH 1/2] Clang: Add minnum/maxnum builtin functions support With https

[clang] Clang: Add minnum/maxnum builtin functions (PR #129207)

2025-02-28 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa created https://github.com/llvm/llvm-project/pull/129207 With https://github.com/llvm/llvm-project/pull/112852, we claimed that llvm.minnum and llvm.maxnum should treat +0.0>-0.0, while libc doesn't require fmin(3)/fmax(3) for it. To make llvm.minnum/llvm.maxnum eas

[clang] Clang: Add minnum/maxnum builtin functions (PR #129207)

2025-02-28 Thread YunQiang Su via cfe-commits
@@ -209,6 +209,18 @@ def FmaxF16F128 : Builtin, F16F128MathTemplate { let Prototype = "T(T, T)"; } +def MinNum : Builtin { wzssyqa wrote: I prefer to drop it. Since we don't provide the function name without __builtin, such as `fmimnum`. https://github.c

[clang] Clang: Add minnum/maxnum builtin functions (PR #129207)

2025-02-28 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa edited https://github.com/llvm/llvm-project/pull/129207 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Clang: emit llvm.minnum and llvm.maxnum with nsz always (PR #113133)

2025-02-27 Thread YunQiang Su via cfe-commits
wzssyqa wrote: nsz is missing for `__builtin_elementwise_min`. I am working on it. https://github.com/llvm/llvm-project/pull/113133 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Clang: emit llvm.minnum and llvm.maxnum with nsz always (PR #113133)

2025-02-27 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa converted_to_draft https://github.com/llvm/llvm-project/pull/113133 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Clang: emit llvm.minnum and llvm.maxnum with nsz always (PR #113133)

2025-02-27 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/113133 >From 34654e8872814090664dd5ac476e801d83fa6cfc Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Mon, 21 Oct 2024 15:18:38 +0800 Subject: [PATCH 1/7] Clang: emit llvm.minnum and llvm.maxnum with nsz always See:

[clang] [llvm] Clang: emit llvm.minnum and llvm.maxnum with nsz always (PR #113133)

2025-02-26 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/113133 >From 4cb7472aaa8973651a85057ee2f7ca7415d8ea72 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Mon, 21 Oct 2024 15:18:38 +0800 Subject: [PATCH 1/6] Clang: emit llvm.minnum and llvm.maxnum with nsz always See:

[clang] [llvm] APFloat: Fix maxnum and minnum with sNaN (PR #112854)

2025-02-26 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa closed https://github.com/llvm/llvm-project/pull/112854 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] APFloat: Fix maxnum and minnum with sNaN (PR #112854)

2025-02-26 Thread YunQiang Su via cfe-commits
wzssyqa wrote: @arsenm ping https://github.com/llvm/llvm-project/pull/112854 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] APFloat: Fix maxnum and minnum with sNaN (PR #112854)

2025-02-26 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa edited https://github.com/llvm/llvm-project/pull/112854 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] clang/limits.h: Avoid including limits.h twice (PR #120526)

2025-01-23 Thread YunQiang Su via cfe-commits
wzssyqa wrote: > Do you get the same behavior when you use `-isystem` instead? There is no warning then if I use command ``` clang -E -I build-x86/ -I sysdeps/x86 -I. -isystem ./include -I sysdeps/unix/sysv/linux/ -I sysdeps/generic/ -include include/libc-symbols.h -O2 -H xx.c ``` instead of

[clang] Clang/Preprocessor: Support short circuit in directive (PR #123912)

2025-01-22 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa closed https://github.com/llvm/llvm-project/pull/123912 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Clang/Preprocessor: Support short circuit in directive (PR #123912)

2025-01-22 Thread YunQiang Su via cfe-commits
wzssyqa wrote: Thanks. So this patch is incorrect. Let's close it. https://github.com/llvm/llvm-project/pull/123912 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Clang/Preprocessor: Support short circuit in directive (PR #123912)

2025-01-22 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/123912 >From f0010f932ae3c89651c631736a7aa495027e8fdc Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Wed, 22 Jan 2025 09:04:44 + Subject: [PATCH] Clang/Preprocessor: Support short circuit in directive Don't Eval

[clang] [clang-tools-extra] Clang/Preprocessor: Not add headers of __has_include into DepColloctor (PR #120673)

2025-01-22 Thread YunQiang Su via cfe-commits
wzssyqa wrote: See: https://github.com/llvm/llvm-project/pull/123912 https://github.com/llvm/llvm-project/pull/120673 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] Clang/Preprocessor: Not add headers of __has_include into DepColloctor (PR #120673)

2025-01-22 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa closed https://github.com/llvm/llvm-project/pull/120673 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Clang/Preprocessor: Support short circuit in directive (PR #123912)

2025-01-22 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa created https://github.com/llvm/llvm-project/pull/123912 Don't Evaluate RHS in if directive when short circuit. Examples include #if 0 && another_condition #if 1 || another_condition >From 43ec3fe59bd5f1000e484fa98f323b1512a5e892 Mon Sep 17 00:00:00 2001 From: Y

[clang] clang/limits.h: Avoid including limits.h twice (PR #120526)

2025-01-20 Thread YunQiang Su via cfe-commits
wzssyqa wrote: > > Yes and no. It's due to the redefinitions, for sure. But that diagnostic is > suppressed in system headers: https://godbolt.org/z/Mb7Kh975f, so I think we > need to understand why there's a `limits.h` being included as though it were > not a system header, because that's a

[clang] [Clang][MIPS] Create correct linker arguments for Windows toolchains (PR #121041)

2025-01-19 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa closed https://github.com/llvm/llvm-project/pull/121041 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] clang/limits.h: Avoid including limits.h twice (PR #120526)

2025-01-16 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/120526 >From cc30e98287ec0ceca490f1f6a16a0190ff243ed6 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Thu, 19 Dec 2024 14:09:04 +0800 Subject: [PATCH] clang/limits.h: Avoid including limits.h twice The limits.h of gl

[clang] clang/limits.h: Avoid including limits.h twice (PR #120526)

2025-01-16 Thread YunQiang Su via cfe-commits
wzssyqa wrote: > but that leads to the question of: why is including musl's limits.h a problem? It cause some warning like ``` ./include/bits/xopen_lim.h:84:10: warning: "NL_NMAX" redefined 84 | # define NL_NMAXINT_MAX ``` https://github.com/llvm/llvm-project/pull/120526

[clang] clang/limits.h: Avoid including limits.h twice (PR #120526)

2025-01-13 Thread YunQiang Su via cfe-commits
wzssyqa wrote: You are right. My patch only fix the first problem: making a unit test of glibc happy. The failure test case of glibc is: * check-local-headers See: https://github.com/llvm/llvm-project/pull/120673 also. https://github.com/llvm/llvm-project/pull/120526 __

[clang] clang/limits.h: Avoid including limits.h twice (PR #120526)

2025-01-07 Thread YunQiang Su via cfe-commits
wzssyqa wrote: > I'm confused why this is necessary, we already work around glibc's quirk here: > > https://github.com/llvm/llvm-project/blob/a15fedc399d5d1aa07c14531e5cd8d3efc583600/clang/lib/Headers/limits.h#L18 > > > which should then hit glibc's header guard here: > https://sourceware.org/

[clang] clang/limits.h: Avoid including limits.h twice (PR #120526)

2025-01-07 Thread YunQiang Su via cfe-commits
wzssyqa wrote: ping https://github.com/llvm/llvm-project/pull/120526 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] Clang/Preprocessor: Not add headers of __has_include into DepColloctor (PR #120673)

2025-01-07 Thread YunQiang Su via cfe-commits
wzssyqa wrote: ping https://github.com/llvm/llvm-project/pull/120673 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] Clang/Preprocessor: Not add headers of __has_include into DepColloctor (PR #120673)

2025-01-07 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/120673 >From ef5e52370d202431c1e6970fc57a7a04b9e83b89 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 20 Dec 2024 02:55:49 + Subject: [PATCH 1/2] Clang/Preprocessor: Not add headers of __has_include into Dep

[clang] [Clang][MIPS] Send correct architecture for MinGW toolchains (PR #121042)

2025-01-04 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa closed https://github.com/llvm/llvm-project/pull/121042 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][MIPS] Create specific targets for MIPS PE/COFF (PR #121040)

2024-12-24 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa closed https://github.com/llvm/llvm-project/pull/121040 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][MIPS] Send correct architecture for MinGW toolchains (PR #121042)

2024-12-24 Thread YunQiang Su via cfe-commits
@@ -85,6 +85,10 @@ // RUN: | FileCheck %s --check-prefix CHECK_MINGW_EC_LINK // CHECK_MINGW_EC_LINK: "-m" "arm64ecpe" +// RUN: %clang --target=mipsel-windows-gnu -### -o /dev/null %s 2>&1 \ +// RUN: | FileCheck %s --check-prefix CHECK_MINGW_MIPSPE +// CHECK_MINGW_MIPSPE: "

[clang] [llvm] Clang/buildFMulAdd: Use negated attribute (PR #121038)

2024-12-24 Thread YunQiang Su via cfe-commits
wzssyqa wrote: Depends on https://github.com/llvm/llvm-project/pull/121027 https://github.com/llvm/llvm-project/pull/121038 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Clang/buildFMulAdd: Use negated attribute (PR #121038)

2024-12-24 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa converted_to_draft https://github.com/llvm/llvm-project/pull/121038 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] Clang/buildFMulAdd: Use negated attribute (PR #121038)

2024-12-24 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa created https://github.com/llvm/llvm-project/pull/121038 Use negated attribute if negMul or negAdd. So that we can lower fneg+fmuladd to fmul+fsub if needed. 1) It can save one machine instruction: fneg/fmul/fadd vs fmul/fsub 2) In strict mode, `c-a*b` may be

[clang] [clang-tools-extra] Clang/Preprocessor: Not add headers of __has_include into DepColloctor (PR #120673)

2024-12-19 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/120673 >From ef5e52370d202431c1e6970fc57a7a04b9e83b89 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 20 Dec 2024 02:55:49 + Subject: [PATCH 1/2] Clang/Preprocessor: Not add headers of __has_include into Dep

[clang] Clang/Preprocessor: Not add headers of __has_include into DepColloctor (PR #120673)

2024-12-19 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/120673 >From ef5e52370d202431c1e6970fc57a7a04b9e83b89 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 20 Dec 2024 02:55:49 + Subject: [PATCH] Clang/Preprocessor: Not add headers of __has_include into DepColl

[clang] Clang/Preprocessor: Not add headers of __has_include into DepColloctor (PR #120673)

2024-12-19 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa edited https://github.com/llvm/llvm-project/pull/120673 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Clang/Preprocessor: Not add headers of __has_include into DepColloctor (PR #120673)

2024-12-19 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa edited https://github.com/llvm/llvm-project/pull/120673 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Clang/Preprocessor: Not add headers of __has_include into DepColloctor (PR #120673)

2024-12-19 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa created https://github.com/llvm/llvm-project/pull/120673 When we preprocess the bellow code with clang -E -MD -MF #if __has_include() // DO NOTHING #endif #if 0 && __has_include() #include #endif It will list limits.h in the dependencies. The sa

[clang] clang/limits.h: Avoid including limits.h twice (PR #120526)

2024-12-18 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa edited https://github.com/llvm/llvm-project/pull/120526 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] clang/limits.h: Avoid including limits.h twice (PR #120526)

2024-12-18 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa edited https://github.com/llvm/llvm-project/pull/120526 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] clang/limits.h: Avoid including limits.h twice (PR #120526)

2024-12-18 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa edited https://github.com/llvm/llvm-project/pull/120526 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] clang/limits.h: Avoid including limits.h twice (PR #120526)

2024-12-18 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa created https://github.com/llvm/llvm-project/pull/120526 The limits.h of glibc, aka /usr/include/limits.h file of *-linux-gnu systems, has `#include_next `, so the limits.h from clang is included. And in the limits.h for clang, `#include_next ` is also used. Normall

[clang] [llvm] Clang: emit llvm.minnum and llvm.maxnum with nsz always (PR #113133)

2024-11-24 Thread YunQiang Su via cfe-commits
wzssyqa wrote: @arsenm ping https://github.com/llvm/llvm-project/pull/113133 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] APFloat: Fix maxnum and minnum with sNaN (PR #112854)

2024-10-22 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/112854 >From ad7c6b648f3bb88ce075fa15cf8915350e4981ab Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 18 Oct 2024 16:33:19 +0800 Subject: [PATCH 1/2] APFloat: Fix maxnum and minnum with sNaN See: https://github.

[clang] [llvm] APFloat: Fix maxnum and minnum with sNaN (PR #112854)

2024-10-22 Thread YunQiang Su via cfe-commits
@@ -582,7 +582,46 @@ TEST(APFloatTest, MinNum) { APFloat zp(0.0); APFloat zn(-0.0); EXPECT_EQ(-0.0, minnum(zp, zn).convertToDouble()); - EXPECT_EQ(-0.0, minnum(zn, zp).convertToDouble()); + + APInt intPayload_89ab(64, 0x89ab); wzssyqa wrote: It is not

[clang] [llvm] Clang: emit llvm.minnum and llvm.maxnum with nsz always (PR #113133)

2024-10-22 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/113133 >From 4cb7472aaa8973651a85057ee2f7ca7415d8ea72 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Mon, 21 Oct 2024 15:18:38 +0800 Subject: [PATCH 1/6] Clang: emit llvm.minnum and llvm.maxnum with nsz always See:

[clang] [llvm] Clang: emit llvm.minnum and llvm.maxnum with nsz always (PR #113133)

2024-10-21 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/113133 >From ec7d885a7bc89fcb35c08890fde2f07da1e61984 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Mon, 21 Oct 2024 15:18:38 +0800 Subject: [PATCH 1/5] Clang: emit llvm.minnum and llvm.maxnum with nsz always See:

[clang] [llvm] Clang: emit llvm.minnum and llvm.maxnum with nsz always (PR #113133)

2024-10-21 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/113133 >From ec7d885a7bc89fcb35c08890fde2f07da1e61984 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Mon, 21 Oct 2024 15:18:38 +0800 Subject: [PATCH 1/3] Clang: emit llvm.minnum and llvm.maxnum with nsz always See:

[clang] [llvm] Clang: emit llvm.minnum and llvm.maxnum with nsz always (PR #113133)

2024-10-21 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/113133 >From ec7d885a7bc89fcb35c08890fde2f07da1e61984 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Mon, 21 Oct 2024 15:18:38 +0800 Subject: [PATCH 1/2] Clang: emit llvm.minnum and llvm.maxnum with nsz always See:

[clang] [llvm] Clang: emit llvm.minnum and llvm.maxnum with nsz always (PR #113133)

2024-10-21 Thread YunQiang Su via cfe-commits
@@ -0,0 +1,33 @@ +// RUN: %clang_cc1 -triple x86_64 %s -emit-llvm -o - 2>&1 | FileCheck %s --check-prefix=CHECK + +float fminf (float, float); +double fmin (double, double); +long double fminl (long double, long double); +float fmaxf (float, float); +double fmax (double, double);

[clang] [llvm] APFloat: Fix maxnum and minnum with sNaN (PR #112854)

2024-10-21 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/112854 >From 30da4359c2b36d6fef88108b68800833dd514a22 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 18 Oct 2024 16:33:19 +0800 Subject: [PATCH] APFloat: Fix maxnum and minnum with sNaN See: https://github.com/

[clang] [llvm] Clang: emit llvm.minnum and llvm.maxnum with nsz always (PR #113133)

2024-10-21 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa created https://github.com/llvm/llvm-project/pull/113133 See: https://github.com/llvm/llvm-project/pull/112852 We will define llvm.minnum and llvm.maxnum with +0.0>-0.0, by default, while libc doesn't require it. >From ec7d885a7bc89fcb35c08890fde2f07da1e61984 Mon Se

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-14 Thread YunQiang Su via cfe-commits
wzssyqa wrote: > Maybe should add support for elementwise builtins next https://github.com/llvm/llvm-project/issues/112164 https://github.com/llvm/llvm-project/pull/96281 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/c

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-14 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa closed https://github.com/llvm/llvm-project/pull/96281 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-14 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/96281 >From 98e909e0eff233c2ee3c5e7f3094e35004326bd0 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 21 Jun 2024 14:28:42 +0800 Subject: [PATCH 01/12] Clang: Support minimumnum and maximumnum intrinsics We just

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-13 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa edited https://github.com/llvm/llvm-project/pull/96281 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-13 Thread YunQiang Su via cfe-commits
@@ -0,0 +1,55 @@ +// RUN: %clang_cc1 -std=c++17 -fsyntax-only -verify %s +// FIXME: %clang_cc1 -std=c++17 -fsyntax-only -verify -fexperimental-new-constant-interpreter %s +// expected-no-diagnostics + +constexpr double NaN = __builtin_nan(""); +constexpr double Inf = __builtin_in

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-12 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/96281 >From c08b0a8d34107dc4563c434485ba5f326ab8df93 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 21 Jun 2024 14:28:42 +0800 Subject: [PATCH 01/11] Clang: Support minimumnum and maximumnum intrinsics We just

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/96281 >From c08b0a8d34107dc4563c434485ba5f326ab8df93 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 21 Jun 2024 14:28:42 +0800 Subject: [PATCH 01/11] Clang: Support minimumnum and maximumnum intrinsics We just

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
@@ -372,6 +372,31 @@ void foo(double *d, float f, float *fp, long double *l, int *i, const char *c) { // HAS_MAYTRAP: declare float @llvm.experimental.constrained.minnum.f32( // HAS_MAYTRAP: declare x86_fp80 @llvm.experimental.constrained.minnum.f80( + fmaximum_num(*d,*d);

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa edited https://github.com/llvm/llvm-project/pull/96281 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
@@ -15314,6 +15314,32 @@ bool FloatExprEvaluator::VisitCallExpr(const CallExpr *E) { Result = RHS; wzssyqa wrote: I guess it was due to that the `APFloat::minnum` claims that it fellow `IEEE-754 2019 minimumNumber semantics`. and `fmin` needs to follow t

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/96281 >From c08b0a8d34107dc4563c434485ba5f326ab8df93 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 21 Jun 2024 14:28:42 +0800 Subject: [PATCH 01/10] Clang: Support minimumnum and maximumnum intrinsics We just

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
wzssyqa wrote: > > Can you add a test that passes a non-float value and checks that it's > > rejected? > > Do you mean something like this? > > ``` > $ cat xx.c > #include > > float f(char *a, char *b) { > return fminimum_num(a, b); > } > $ ./bin/clang -std=c23 -O2 -S -emit-llvm xx.

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/96281 >From c08b0a8d34107dc4563c434485ba5f326ab8df93 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 21 Jun 2024 14:28:42 +0800 Subject: [PATCH 1/9] Clang: Support minimumnum and maximumnum intrinsics We just in

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/96281 >From c08b0a8d34107dc4563c434485ba5f326ab8df93 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 21 Jun 2024 14:28:42 +0800 Subject: [PATCH 1/8] Clang: Support minimumnum and maximumnum intrinsics We just in

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
@@ -15314,6 +15314,32 @@ bool FloatExprEvaluator::VisitCallExpr(const CallExpr *E) { Result = RHS; return true; } + + case Builtin::BI__builtin_fmaximum_num: + case Builtin::BI__builtin_fmaximum_numf: + case Builtin::BI__builtin_fmaximum_numl: + case Builtin::B

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/96281 >From c08b0a8d34107dc4563c434485ba5f326ab8df93 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 21 Jun 2024 14:28:42 +0800 Subject: [PATCH 1/7] Clang: Support minimumnum and maximumnum intrinsics We just in

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
wzssyqa wrote: > Add it as a succcessful test then to check that the `EvaluateFloat` calls > don't fail done. https://github.com/llvm/llvm-project/pull/96281 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailm

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/96281 >From c08b0a8d34107dc4563c434485ba5f326ab8df93 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 21 Jun 2024 14:28:42 +0800 Subject: [PATCH 1/6] Clang: Support minimumnum and maximumnum intrinsics We just in

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
@@ -15314,6 +15314,32 @@ bool FloatExprEvaluator::VisitCallExpr(const CallExpr *E) { Result = RHS; wzssyqa wrote: I have no idea. I will try to fixed in future patches. https://github.com/llvm/llvm-project/issues/111991 https://github.com/llvm/llvm-proje

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa updated https://github.com/llvm/llvm-project/pull/96281 >From c08b0a8d34107dc4563c434485ba5f326ab8df93 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Fri, 21 Jun 2024 14:28:42 +0800 Subject: [PATCH 1/5] Clang: Support minimumnum and maximumnum intrinsics We just in

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
@@ -475,6 +475,12 @@ SYMBOL(fmaxl, None, ) SYMBOL(fmin, None, ) SYMBOL(fminf, None, ) SYMBOL(fminl, None, ) +SYMBOL(fmaximum_num, None, ) wzssyqa wrote: Oh, yes. It is autogenerated from https://github.com/PeterFeicht/cppreference-doc/releases. If we need to

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
wzssyqa wrote: > > Yes, but also with an integer please Clang can convert integer to float, so it won't be a failure. https://github.com/llvm/llvm-project/pull/96281 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-b

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
wzssyqa wrote: > Can you add a test that passes a non-float value and checks that it's > rejected? Do you mean something like this? ``` $ cat xx.c #include float f(char *a, char *b) { return fminimum_num(a, b); } $ ./bin/clang -std=c23 -O2 -S -emit-llvm xx.c xx.c:4:22: error: passin

[clang] Clang: Support minimumnum and maximumnum intrinsics (PR #96281)

2024-10-11 Thread YunQiang Su via cfe-commits
wzssyqa wrote: I cannot reproduce the fail of `Driver/hip-partial-link.hip`. Any idea about it? https://github.com/llvm/llvm-project/pull/96281 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-

[clang] [llvm] [llvm][Triple] Add `Environment` members and parsing for glibc/musl parity. (PR #107664)

2024-09-19 Thread YunQiang Su via cfe-commits
wzssyqa wrote: OK. Then I will work on GCC with this support. https://github.com/llvm/llvm-project/pull/107664 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [llvm][Triple] Add `Environment` members and parsing for glibc/musl parity. (PR #107664)

2024-09-19 Thread YunQiang Su via cfe-commits
https://github.com/wzssyqa closed https://github.com/llvm/llvm-project/pull/107664 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [llvm][Triple] Add `Environment` members and parsing for glibc/musl parity. (PR #107664)

2024-09-19 Thread YunQiang Su via cfe-commits
wzssyqa wrote: Sorry for the late comment. I find a problem. With the IR code like ``` define dso_local float @f1(float noundef %a, float noundef %b) local_unnamed_addr #0 { entry: %call = tail call float @llvm.minimumnum.f32(float noundef %a, float noundef %b) #2 ret float %call } `./bin/

[clang] [llvm] [llvm][Triple] Add `Environment` members and parsing for glibc/musl parity. (PR #107664)

2024-09-19 Thread YunQiang Su via cfe-commits
wzssyqa wrote: > My understanding is that all of these `musl*` environments have been added to > GCC and LLVM on an as-needed basis for toolchains, not necessarily because > musl itself needs them. Do you have interesting to add them to GCC? I guess we need to add config.sub/config.guess firs

[clang] [clang] Support -Wa, options -mmsa and -mno-msa (PR #99615)

2024-08-20 Thread YunQiang Su via cfe-commits
wzssyqa wrote: > I figure out another use case: > > ``` > f: > fadd.w $w0,$w1,$w2 > ``` > > ``` > # ./bin/clang --target=mipsel-linux-gnu -mfp64 -Wa,-mmsa -fintegrated-as -c > xx.s > xx.s:2:2: error: instruction requires a CPU feature not currently enabled > fadd.w $w0,$w1,

[clang] [clang] Support -Wa, options -mmsa and -mno-msa (PR #99615)

2024-08-20 Thread YunQiang Su via cfe-commits
wzssyqa wrote: I figure out another use case: ``` f: fadd.w $w0,$w1,$w2 ``` ``` # ./bin/clang --target=mipsel-linux-gnu -mfp64 -Wa,-mmsa -fintegrated-as -c xx.s xx.s:2:2: error: instruction requires a CPU feature not currently enabled fadd.w $w0,$w1,$w2 ^ ``` ``` # ./

  1   2   3   >