[clang] [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow element extraction/insertion intrinsics to be used in constexpr #159753 (PR #161302)

2025-10-18 Thread Aditya Chaudhari via cfe-commits
@@ -2878,6 +2878,66 @@ static bool interp__builtin_x86_insert_subvector(InterpState &S, CodePtr OpPC, return true; } +static bool interp__builtin_vec_ext(InterpState &S, CodePtr OpPC, +const CallExpr *Call, unsigned ID) { + assert(Call->

[clang] add: NUMERIC_TYPE_SWITCH (PR #161755)

2025-10-17 Thread Aditya Chaudhari via cfe-commits
AdityaC4 wrote: @tbaederr Thanks for the context. Since `Floating` still needs an explicit `allocFloat` while `pushInteger` already handles the `IntAP`/`IntAPS` allocations, maybe we should drop the new `NUMERIC_TYPE_SWITCH`. If not we could add a helper that checks `needsAlloc()` and `singleW

[clang] add: NUMERIC_TYPE_SWITCH (PR #161755)

2025-10-02 Thread Aditya Chaudhari via cfe-commits
https://github.com/AdityaC4 created https://github.com/llvm/llvm-project/pull/161755 fixes: #161685 >From 0cfc176af36ff5d9c9930fb85fca6c0e7f558ed3 Mon Sep 17 00:00:00 2001 From: AdityaC4 Date: Thu, 2 Oct 2025 19:20:50 -0500 Subject: [PATCH] add: NUMERIC_TYPE_SWITCH --- clang/lib/AST/ByteCode

[clang] [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow element extraction/insertion intrinsics to be used in constexpr #159753 (PR #161302)

2025-10-02 Thread Aditya Chaudhari via cfe-commits
https://github.com/AdityaC4 created https://github.com/llvm/llvm-project/pull/161302 FIXES: #159753 Enable constexpr evaluation for X86 vector element extract/insert builtins. and adds corresponding tests Index is masked with `(Idx & (NumElts - 1))`, matching existing CodeGen. >From 8d91846a9

[clang] [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow element extraction/insertion intrinsics to be used in constexpr #159753 (PR #161302)

2025-10-02 Thread Aditya Chaudhari via cfe-commits
@@ -2878,6 +2878,60 @@ static bool interp__builtin_x86_insert_subvector(InterpState &S, CodePtr OpPC, return true; } +static bool interp__builtin_vec_ext(InterpState &S, CodePtr OpPC, +const CallExpr *Call, unsigned ID) { + assert(Call->

[clang] [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow element extraction/insertion intrinsics to be used in constexpr #159753 (PR #161302)

2025-10-02 Thread Aditya Chaudhari via cfe-commits
https://github.com/AdityaC4 updated https://github.com/llvm/llvm-project/pull/161302 >From 0c07c0640c4818c9bcae057ca1c54d87bc2de104 Mon Sep 17 00:00:00 2001 From: AdityaC4 Date: Mon, 29 Sep 2025 18:42:01 -0500 Subject: [PATCH 1/2] [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuil

[clang] [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow element extraction/insertion intrinsics to be used in constexpr #159753 (PR #161302)

2025-10-01 Thread Aditya Chaudhari via cfe-commits
@@ -2878,6 +2878,60 @@ static bool interp__builtin_x86_insert_subvector(InterpState &S, CodePtr OpPC, return true; } +static bool interp__builtin_vec_ext(InterpState &S, CodePtr OpPC, +const CallExpr *Call, unsigned ID) { + assert(Call->

[clang] [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow element extraction/insertion intrinsics to be used in constexpr #159753 (PR #161302)

2025-09-30 Thread Aditya Chaudhari via cfe-commits
@@ -2878,6 +2878,66 @@ static bool interp__builtin_x86_insert_subvector(InterpState &S, CodePtr OpPC, return true; } +static bool interp__builtin_vec_ext(InterpState &S, CodePtr OpPC, +const CallExpr *Call, unsigned ID) { + assert(Call->

[clang] [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow element extraction/insertion intrinsics to be used in constexpr #159753 (PR #161302)

2025-09-30 Thread Aditya Chaudhari via cfe-commits
https://github.com/AdityaC4 updated https://github.com/llvm/llvm-project/pull/161302 >From 0c07c0640c4818c9bcae057ca1c54d87bc2de104 Mon Sep 17 00:00:00 2001 From: AdityaC4 Date: Mon, 29 Sep 2025 18:42:01 -0500 Subject: [PATCH] [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin

[clang] [Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow AVX/AVX512 subvector insertion intrinsics to be used in constexpr #157709 (PR #158778)

2025-09-18 Thread Aditya Chaudhari via cfe-commits
AdityaC4 wrote: Thanks @RKSimon and @tbaederr for the feedback and reviews, really appreciate the help getting my first LLVM PR across the line 😁 https://github.com/llvm/llvm-project/pull/158778 ___ cfe-commits mailing list [email protected]

[clang] [Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow AVX/AVX512 subvector insertion intrinsics to be used in constexpr #157709 (PR #158778)

2025-09-17 Thread Aditya Chaudhari via cfe-commits
@@ -0,0 +1,87 @@ +// REQUIRES: x86-registered-target +// RUN: %clang_cc1 -ffreestanding -triple x86_64-unknown-linux-gnu -O0 -target-cpu skylake-avx512 -std=c++17 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -ffreestanding -triple x86_64-unknown-linux-gnu -O0 -target-cp

[clang] [Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow AVX/AVX512 subvector insertion intrinsics to be used in constexpr #157709 (PR #158778)

2025-09-16 Thread Aditya Chaudhari via cfe-commits
@@ -0,0 +1,87 @@ +// REQUIRES: x86-registered-target +// RUN: %clang_cc1 -ffreestanding -triple x86_64-unknown-linux-gnu -O0 -target-cpu skylake-avx512 -std=c++17 -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -ffreestanding -triple x86_64-unknown-linux-gnu -O0 -target-cp

[clang] [Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow AVX/AVX512 subvector insertion intrinsics to be used in constexpr #157709 (PR #158778)

2025-09-16 Thread Aditya Chaudhari via cfe-commits
AdityaC4 wrote: @tbaederr Thanks for the feedback! I've addressed all the issues you mentioned. https://github.com/llvm/llvm-project/pull/158778 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe

[clang] [Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow AVX/AVX512 subvector insertion intrinsics to be used in constexpr #157709 (PR #158778)

2025-09-16 Thread Aditya Chaudhari via cfe-commits
https://github.com/AdityaC4 updated https://github.com/llvm/llvm-project/pull/158778 >From a2a0e8199769862804bc75e859cdc8f83838ef4d Mon Sep 17 00:00:00 2001 From: AdityaC4 Date: Mon, 15 Sep 2025 23:19:21 -0500 Subject: [PATCH 1/2] [Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin -