[clang] [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-06 Thread Roberto Turrado Camblor via cfe-commits
rturrado wrote: > @rturrado have you been able to investigate the CI crashes? Hm... weird, `ninja -C build check-lang-codegen-x86` is passing 262 tests for me locally. But also weird, and it may be related to those CI issues, I'm still getting 2 build warnings locally: ``` [35/72] Building C

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-05 Thread Roberto Turrado Camblor via cfe-commits
rturrado wrote: > Still missing handling in ExprConstant.cpp VisitBuiltinCallExpr - we > currently have 2 expression interpreters to support Many thanks for the guiding, @RKSimon ! All `constexpr` versions of the `ktest`/`kortest` instructions are recognized. The only remaining issue is that

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-05 Thread Roberto Turrado Camblor via cfe-commits
https://github.com/rturrado updated https://github.com/llvm/llvm-project/pull/166103 >From 084f456a91a2bcb921f84a19c367ccd9d5e05700 Mon Sep 17 00:00:00 2001 From: rturrado Date: Sat, 1 Nov 2025 19:53:19 +0100 Subject: [PATCH 01/12] Mark instructions as _CONSTEXPR --- clang/lib/Headers/avx512b

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-04 Thread Roberto Turrado Camblor via cfe-commits
rturrado wrote: > You just need `LLVM_ENABLE_PROJECTS='clang'` Thanks. I have managed to build and run the same tests as the CI. Though I have no idea yet why all the `ktest` and `kortest` instructions are not recognized as constexpr expressions. https://github.com/llvm/llvm-project/pull/1661

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-04 Thread Roberto Turrado Camblor via cfe-commits
rturrado wrote: A couple of questions. 1) `clang/lib/Headers/avx512fintrin.h` implements both `_mm512_kortestc(A, B)` and `_kortestc_mask16_u8(A, B)` in terms of `__builtin_ia32_kortestchi`. However, `_mm512_kortestc` returns an `int` with the value of `A | B`, while `_kortestc_mask16_u8` ret

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-04 Thread Roberto Turrado Camblor via cfe-commits
https://github.com/rturrado updated https://github.com/llvm/llvm-project/pull/166103 >From 084f456a91a2bcb921f84a19c367ccd9d5e05700 Mon Sep 17 00:00:00 2001 From: rturrado Date: Sat, 1 Nov 2025 19:53:19 +0100 Subject: [PATCH 01/10] Mark instructions as _CONSTEXPR --- clang/lib/Headers/avx512b

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-03 Thread Roberto Turrado Camblor via cfe-commits
rturrado wrote: > check-clang-codegen-x86 instead of check-llvm Hm... it doesn't recognize that `check-clang-codegen-x86`. https://github.com/llvm/llvm-project/pull/166103 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-03 Thread Roberto Turrado Camblor via cfe-commits
https://github.com/rturrado updated https://github.com/llvm/llvm-project/pull/166103 >From 084f456a91a2bcb921f84a19c367ccd9d5e05700 Mon Sep 17 00:00:00 2001 From: rturrado Date: Sat, 1 Nov 2025 19:53:19 +0100 Subject: [PATCH 1/8] Mark instructions as _CONSTEXPR --- clang/lib/Headers/avx512bwi

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-03 Thread Roberto Turrado Camblor via cfe-commits
@@ -242,6 +250,16 @@ unsigned char test_kortest_mask32_u8(__m512i __A, __m512i __B, __m512i __C, __m5 _mm512_cmpneq_epu16_mask(__C, __D), CF); } +#if TEST_STD_VER > 17 +TEST_CONSTEXPR bool test_kortest_mask32_u8() { + unsigned char all_ones = 0; +

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-03 Thread Roberto Turrado Camblor via cfe-commits
https://github.com/rturrado edited https://github.com/llvm/llvm-project/pull/166103 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-03 Thread Roberto Turrado Camblor via cfe-commits
https://github.com/rturrado deleted https://github.com/llvm/llvm-project/pull/166103 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-03 Thread Roberto Turrado Camblor via cfe-commits
rturrado wrote: I have noticed that some builds have failed, so I wonder if I am missing something in the way I'm building: ``` cmake -S llvm -B build -G Ninja -DCMAKE_BUILD_TYPE=Release ninja -C build check-llvm ``` https://github.com/llvm/llvm-project/pull/166103

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-03 Thread Roberto Turrado Camblor via cfe-commits
@@ -242,6 +250,16 @@ unsigned char test_kortest_mask32_u8(__m512i __A, __m512i __B, __m512i __C, __m5 _mm512_cmpneq_epu16_mask(__C, __D), CF); } +#if TEST_STD_VER > 17 +TEST_CONSTEXPR bool test_kortest_mask32_u8() { + unsigned char all_ones = 0; +

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-03 Thread Roberto Turrado Camblor via cfe-commits
@@ -242,6 +250,16 @@ unsigned char test_kortest_mask32_u8(__m512i __A, __m512i __B, __m512i __C, __m5 _mm512_cmpneq_epu16_mask(__C, __D), CF); } +#if TEST_STD_VER > 17 +TEST_CONSTEXPR bool test_kortest_mask32_u8() { + unsigned char all_ones = 0; +

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-03 Thread Roberto Turrado Camblor via cfe-commits
@@ -242,6 +250,16 @@ unsigned char test_kortest_mask32_u8(__m512i __A, __m512i __B, __m512i __C, __m5 _mm512_cmpneq_epu16_mask(__C, __D), CF); } +#if TEST_STD_VER > 17 rturrado wrote: Thanks! I don't remember exactly where I took

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-02 Thread Roberto Turrado Camblor via cfe-commits
rturrado wrote: I have left a couple of TODOs on purpose. They are more a question to reviewers. I didn't know: 1) If I had to check for a carry/zero flag as a result of a kortestc/kortestz operation, respectively. 2) And if so, how to do it. https://github.com/llvm/llvm-project/pull/166103 __

[clang] Issue #162051: [X86][Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - add AVX512 KTEST/KORTEST intrinsics to be used in constexpr (PR #166103)

2025-11-02 Thread Roberto Turrado Camblor via cfe-commits
https://github.com/rturrado created https://github.com/llvm/llvm-project/pull/166103 Add AVX512 KTEST/KORTEST intrinsics to be used in constexpr. >From 084f456a91a2bcb921f84a19c367ccd9d5e05700 Mon Sep 17 00:00:00 2001 From: rturrado Date: Sat, 1 Nov 2025 19:53:19 +0100 Subject: [PATCH 1/5] Mar