LLVM/project 73a1383libcxx/include/__atomic atomic_sync.h contention_t.h, libcxx/include/__configuration availability.h

[libc++] Allows any types of size 4 and 8 to use native platform ulock_wait (#161086)

This is to address #146145

The issue before was that, for `std::atomic::wait/notify`, we only
support `uint64_t` to go through the native `ulock_wait` directly. Any
other types will go through the global contention table's `atomic`,
increasing the chances of spurious wakeup. This PR tries to allow any
types that are of size 4 or 8 to directly go to the `ulock_wait`.

This PR is just proof of concept. If we like this idea, I can go further
to update the Linux/FreeBSD branch and add ABI macros so the existing
behaviours are reserved under the stable ABI

Here are some benchmark results

```
Benchmark                                                               Time             CPU      Time Old      Time New       CPU Old       CPU New
----------------------------------------------------------------------------------------------------------------------------------------------------

    [48 lines not shown]
DeltaFile
+219-85libcxx/src/atomic.cpp
+152-0libcxx/include/__atomic/atomic_sync.h
+57-0libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.wait/lost_wakeup.pass.cpp
+27-3libcxx/include/__atomic/contention_t.h
+15-0libcxx/include/__configuration/availability.h
+14-0libcxx/lib/abi/CHANGELOG.TXT
+484-8815 files not shown
+579-10421 files

LLVM/project fb0400fmlir/lib/Target/Cpp TranslateToCpp.cpp, mlir/test/Target/Cpp common-cpp.mlir

[mlir][emitc] Fix bug in dereference translation (#171028)

The op was not added to `hasDeferredEmission()` when introduced by
f17abc280c70, causing incorrect translation.
DeltaFile
+2-1mlir/lib/Target/Cpp/TranslateToCpp.cpp
+1-1mlir/test/Target/Cpp/common-cpp.mlir
+3-22 files

LLVM/project 1034291mlir/lib/Dialect/Affine/IR AffineOps.cpp

[mlir][Affine] Avoid forcing a non-composable affine Inliner impl
DeltaFile
+2-1mlir/lib/Dialect/Affine/IR/AffineOps.cpp
+2-11 files

LLVM/project a8474ddmlir/include/mlir/Conversion Passes.td, mlir/lib/Conversion/ArithToAPFloat ArithToAPFloat.cpp CMakeLists.txt

[mlir][arith] `arith-to-apfloat`: Add vector support
DeltaFile
+351-251mlir/lib/Conversion/ArithToAPFloat/ArithToAPFloat.cpp
+39-0mlir/test/Conversion/ArithToApfloat/arith-to-apfloat.mlir
+26-0mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation-vector.mlir
+2-1mlir/include/mlir/Conversion/Passes.td
+1-0mlir/lib/Conversion/ArithToAPFloat/CMakeLists.txt
+419-2525 files

LLVM/project 9da9241mlir/include/mlir/Conversion Passes.td, mlir/lib/Conversion/ArithToAPFloat ArithToAPFloat.cpp CMakeLists.txt

[mlir][arith] `arith-to-apfloat`: Add vector support
DeltaFile
+351-251mlir/lib/Conversion/ArithToAPFloat/ArithToAPFloat.cpp
+39-0mlir/test/Conversion/ArithToApfloat/arith-to-apfloat.mlir
+2-1mlir/include/mlir/Conversion/Passes.td
+1-0mlir/lib/Conversion/ArithToAPFloat/CMakeLists.txt
+393-2524 files

LLVM/project 8c9174cmlir/include/mlir/Conversion Passes.td, mlir/lib/Conversion/ArithToAPFloat ArithToAPFloat.cpp CMakeLists.txt

[mlir][arith] `arith-to-apfloat`: Add vector support
DeltaFile
+339-251mlir/lib/Conversion/ArithToAPFloat/ArithToAPFloat.cpp
+39-0mlir/test/Conversion/ArithToApfloat/arith-to-apfloat.mlir
+2-1mlir/include/mlir/Conversion/Passes.td
+1-0mlir/lib/Conversion/ArithToAPFloat/CMakeLists.txt
+381-2524 files

LLVM/project a1ba1famlir/lib/Target/Cpp TranslateToCpp.cpp

[mlir][emitc] Simplify inlining logic (NFCI) (#169978)

This change makes inlining logic in the translator simpler and more
consistent by

(a) Extending the inlining concept to include CExpression ops, which by
    definition are inlined if and only if they reside within an
    ExpressionOp.

(b) Concentraing all inlining decisions in `shouldBeInlined()` to make
    sure that ops get the same decision when queried as operations and
    as operands.
DeltaFile
+19-21mlir/lib/Target/Cpp/TranslateToCpp.cpp
+19-211 files

LLVM/project ad31a25mlir/lib/Conversion/FuncToLLVM FuncToLLVM.cpp, mlir/lib/Transforms/Utils DialectConversion.cpp

[mlir][Transforms] Remove `replaceAllUsesWith` workaround
DeltaFile
+12-21mlir/lib/Transforms/Utils/DialectConversion.cpp
+10-2mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
+10-1mlir/test/lib/Conversion/FuncToLLVM/TestConvertFuncOp.cpp
+2-1mlir/test/Transforms/test-convert-func-op.mlir
+34-254 files

LLVM/project bdb918emlir/lib/Conversion/ArithToAPFloat ArithToAPFloat.cpp, mlir/test/Conversion/ArithToApfloat arith-to-apfloat.mlir

[mlir][arith] `arith-to-apfloat`: Bail on unsupported bitwidth (#170994)

Bitwidths greater than 64 are not supported by `arith-to-apfloat`.
DeltaFile
+26-8mlir/lib/Conversion/ArithToAPFloat/ArithToAPFloat.cpp
+25-0mlir/test/Conversion/ArithToApfloat/arith-to-apfloat.mlir
+51-82 files

LLVM/project 3b355b2mlir/tools/mlir-tblgen PassGen.cpp

[mlir] Remove deprecated GEN_PASS_CLASSES. (#166904)

This was marked as deprecated in 2022, but as comment. Switch to error
to make visible and stop generating. Will remove the error message in
follow up, just felt this was easier for folks to understand compilation
errors. The change required to new form is rather minimal.
DeltaFile
+2-79mlir/tools/mlir-tblgen/PassGen.cpp
+2-791 files

LLVM/project 4fe780allvm/lib/Target/AArch64 AArch64ISelLowering.cpp AArch64InstrInfo.td

MVNI + FNEG
DeltaFile
+53-4llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+34-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+34-0llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+121-43 files

LLVM/project b63f49dllvm/lib/Target/X86 X86ISelLowering.cpp X86ISelLowering.h, llvm/test/CodeGen/X86 ctselect-i386-fp.ll

[LLVM][X86] Add f80 support for ct.select

Add special handling for x86_fp80 types in CTSELECT lowering by splitting
them into three 32-bit chunks, performing constant-time selection on each
chunk, and reassembling the result. This fixes crashes when compiling
tests with f80 types.

Also updated ctselect.ll to match current generic fallback implementation.
DeltaFile
+2,857-3,098llvm/lib/Target/X86/X86ISelLowering.cpp
+1,619-1,634llvm/lib/Target/X86/X86ISelLowering.h
+463-452llvm/lib/Target/X86/X86InstrInfo.cpp
+126-146llvm/test/CodeGen/X86/ctselect-i386-fp.ll
+9-12llvm/lib/Target/X86/X86InstrInfo.h
+8-7llvm/lib/Target/X86/X86TargetMachine.cpp
+5,082-5,3496 files

LLVM/project d29036ellvm/lib/Target/X86 X86ISelLowering.cpp X86InstrInfo.cpp, llvm/test/CodeGen/X86 ctselect-vector.ll ctselect.ll

[LLVM][X86] Add native ct.select support for X86 and i386

Add native X86 implementation with CMOV instructions and comprehensive tests:
- X86 ISelLowering with CMOV for x86_64 and i386
- Fallback bitwise operations for i386 targets without CMOV
- Post-RA expansion for pseudo-instructions
- Comprehensive test coverage:
  - Edge cases (zero conditions, large integers)
  - i386-specific tests (FP, MMX, non-CMOV fallback)
  - Vector operations
  - Optimization patterns

The basic test demonstrating fallback is in the core infrastructure PR.
DeltaFile
+1,274-0llvm/test/CodeGen/X86/ctselect-vector.ll
+583-413llvm/test/CodeGen/X86/ctselect.ll
+763-28llvm/lib/Target/X86/X86ISelLowering.cpp
+722-0llvm/test/CodeGen/X86/ctselect-i386-fp.ll
+604-5llvm/lib/Target/X86/X86InstrInfo.cpp
+428-0llvm/test/CodeGen/X86/ctselect-i386-mmx.ll
+4,374-44611 files not shown
+5,671-45117 files

LLVM/project bd1047allvm/lib/Target/AArch64 AArch64ISelLowering.cpp AArch64InstrInfo.td, llvm/test/CodeGen/AArch64 ctselect.ll

[LLVM][AArch64] Add native ct.select support for ARM64

This patch implements architecture-specific lowering for ct.select on AArch64
using CSEL (conditional select) instructions for constant-time selection.

Implementation details:
- Uses CSEL family of instructions for scalar integer types
- Uses FCSEL for floating-point types (F16, BF16, F32, F64)
- Post-RA MC lowering to convert pseudo-instructions to real CSEL/FCSEL
- Handles vector types appropriately
- Comprehensive test coverage for AArch64

The implementation includes:
- ISelLowering: Custom lowering to CTSELECT pseudo-instructions
- InstrInfo: Pseudo-instruction definitions and patterns
- MCInstLower: Post-RA lowering of pseudo-instructions to actual CSEL/FCSEL
- Proper handling of condition codes for constant-time guarantees
DeltaFile
+153-0llvm/test/CodeGen/AArch64/ctselect.ll
+56-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+40-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+35-4llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+18-0llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
+11-0llvm/lib/Target/AArch64/AArch64ISelLowering.h
+313-46 files

LLVM/project 6091c90clang/docs LanguageExtensions.rst, clang/include/clang/Basic Builtins.td

[ConstantTime][Clang] Add __builtin_ct_select for constant-time selection
DeltaFile
+683-0clang/test/Sema/builtin-ct-select.c
+373-0clang/test/Sema/builtin-ct-select-edge-cases.c
+64-0clang/lib/Sema/SemaChecking.cpp
+44-0clang/docs/LanguageExtensions.rst
+13-0clang/lib/CodeGen/CGBuiltin.cpp
+8-0clang/include/clang/Basic/Builtins.td
+1,185-06 files

LLVM/project b49b9cbllvm/test/CodeGen/Mips ctselect-fallback-vector.ll ctselect-fallback-patterns.ll

[LLVM][MIPS] Add comprehensive tests for ct.select
DeltaFile
+830-0llvm/test/CodeGen/Mips/ctselect-fallback-vector.ll
+426-0llvm/test/CodeGen/Mips/ctselect-fallback-patterns.ll
+371-0llvm/test/CodeGen/Mips/ctselect-fallback.ll
+244-0llvm/test/CodeGen/Mips/ctselect-fallback-edge-cases.ll
+183-0llvm/test/CodeGen/Mips/ctselect-side-effects.ll
+2,054-05 files

LLVM/project 2ba35b0llvm/test/CodeGen/WebAssembly ctselect-fallback-vector.ll ctselect-fallback-patterns.ll

[ConstantTime][WebAssembly] Add comprehensive tests for ct.select
DeltaFile
+714-0llvm/test/CodeGen/WebAssembly/ctselect-fallback-vector.ll
+641-0llvm/test/CodeGen/WebAssembly/ctselect-fallback-patterns.ll
+552-0llvm/test/CodeGen/WebAssembly/ctselect-fallback.ll
+376-0llvm/test/CodeGen/WebAssembly/ctselect-fallback-edge-cases.ll
+226-0llvm/test/CodeGen/WebAssembly/ctselect-side-effects.ll
+2,509-05 files

LLVM/project f19a960llvm/lib/Target/ARM ARMISelLowering.cpp ARMBaseInstrInfo.cpp, llvm/test/CodeGen/ARM ctselect-vector.ll ctselect-half.ll

[LLVM][ARM] Add native ct.select support for ARM32 and Thumb

This patch implements architecture-specific lowering for ct.select on ARM
(both ARM32 and Thumb modes) using conditional move instructions and
bitwise operations for constant-time selection.

Implementation details:
- Uses pseudo-instructions that are expanded Post-RA to bitwise operations
- Post-RA expansion in ARMBaseInstrInfo for BUNDLE pseudo-instructions
- Handles scalar integer types, floating-point, and half-precision types
- Handles vector types with NEON when available
- Support for both ARM and Thumb instruction sets (Thumb1 and Thumb2)
- Special handling for Thumb1 which lacks conditional execution
- Comprehensive test coverage including half-precision and vectors

The implementation includes:
- ISelLowering: Custom lowering to CTSELECT pseudo-instructions
- ISelDAGToDAG: Selection of appropriate pseudo-instructions
- BaseInstrInfo: Post-RA expansion of BUNDLE to bitwise instruction sequences

    [3 lines not shown]
DeltaFile
+2,179-0llvm/test/CodeGen/ARM/ctselect-vector.ll
+975-0llvm/test/CodeGen/ARM/ctselect-half.ll
+552-99llvm/lib/Target/ARM/ARMISelLowering.cpp
+555-0llvm/test/CodeGen/ARM/ctselect.ll
+335-2llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
+329-3llvm/lib/Target/ARM/ARMISelLowering.h
+4,925-1044 files not shown
+5,209-24710 files

LLVM/project 0d548a5llvm/test/CodeGen/RISCV ctselect-fallback-vector-rvv.ll ctselect-fallback-patterns.ll

[ConstantTime][RISCV] Add comprehensive tests for ct.select

Add comprehensive test suite for RISC-V fallback implementation:
- Edge cases (zero conditions, large integers, sign extension)
- Pattern matching (nested selects, chains)
- Vector support with RVV extensions
- Side effects and memory operations

The basic fallback test is in the core infrastructure PR.
DeltaFile
+804-0llvm/test/CodeGen/RISCV/ctselect-fallback-vector-rvv.ll
+383-0llvm/test/CodeGen/RISCV/ctselect-fallback-patterns.ll
+214-0llvm/test/CodeGen/RISCV/ctselect-fallback-edge-cases.ll
+176-0llvm/test/CodeGen/RISCV/ctselect-side-effects.ll
+1,577-04 files

LLVM/project de76058llvm/lib/Target/X86 X86CompressEVEX.cpp, llvm/test/CodeGen/X86/apx compress-evex.mir

Merge branch 'main' into users/wizardengineer/ct-select-core
DeltaFile
+6-4llvm/lib/Target/X86/X86CompressEVEX.cpp
+8-0llvm/test/CodeGen/X86/apx/compress-evex.mir
+2-1llvm/utils/TableGen/X86InstrMappingEmitter.cpp
+1-0llvm/test/TableGen/x86-instr-mapping.inc
+1-0llvm/utils/TableGen/X86ManualInstrMapping.def
+18-55 files

LLVM/project a709071llvm/lib/Target/AArch64 AArch64ISelLowering.cpp AArch64InstrInfo.td, llvm/test/CodeGen/AArch64 ctselect.ll

[LLVM][AArch64] Add native ct.select support for ARM64

This patch implements architecture-specific lowering for ct.select on AArch64
using CSEL (conditional select) instructions for constant-time selection.

Implementation details:
- Uses CSEL family of instructions for scalar integer types
- Uses FCSEL for floating-point types (F16, BF16, F32, F64)
- Post-RA MC lowering to convert pseudo-instructions to real CSEL/FCSEL
- Handles vector types appropriately
- Comprehensive test coverage for AArch64

The implementation includes:
- ISelLowering: Custom lowering to CTSELECT pseudo-instructions
- InstrInfo: Pseudo-instruction definitions and patterns
- MCInstLower: Post-RA lowering of pseudo-instructions to actual CSEL/FCSEL
- Proper handling of condition codes for constant-time guarantees
DeltaFile
+153-0llvm/test/CodeGen/AArch64/ctselect.ll
+56-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+40-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+35-4llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+18-0llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
+11-0llvm/lib/Target/AArch64/AArch64ISelLowering.h
+313-46 files

LLVM/project 0dff5b5llvm/lib/Target/X86 X86CompressEVEX.cpp, llvm/test/CodeGen/X86/apx compress-evex.mir

[X86][APX] Compress setzucc with memory operand to setcc (#170842)

setzucc with memory operand is same as setcc but the later is shorter.
DeltaFile
+6-4llvm/lib/Target/X86/X86CompressEVEX.cpp
+8-0llvm/test/CodeGen/X86/apx/compress-evex.mir
+2-1llvm/utils/TableGen/X86InstrMappingEmitter.cpp
+1-0llvm/utils/TableGen/X86ManualInstrMapping.def
+1-0llvm/test/TableGen/x86-instr-mapping.inc
+18-55 files

LLVM/project 92f409dllvm/lib/Target/ARM ARMISelLowering.cpp ARMBaseInstrInfo.cpp, llvm/test/CodeGen/ARM ctselect-vector.ll ctselect-half.ll

[LLVM][ARM] Add native ct.select support for ARM32 and Thumb

This patch implements architecture-specific lowering for ct.select on ARM
(both ARM32 and Thumb modes) using conditional move instructions and
bitwise operations for constant-time selection.

Implementation details:
- Uses pseudo-instructions that are expanded Post-RA to bitwise operations
- Post-RA expansion in ARMBaseInstrInfo for BUNDLE pseudo-instructions
- Handles scalar integer types, floating-point, and half-precision types
- Handles vector types with NEON when available
- Support for both ARM and Thumb instruction sets (Thumb1 and Thumb2)
- Special handling for Thumb1 which lacks conditional execution
- Comprehensive test coverage including half-precision and vectors

The implementation includes:
- ISelLowering: Custom lowering to CTSELECT pseudo-instructions
- ISelDAGToDAG: Selection of appropriate pseudo-instructions
- BaseInstrInfo: Post-RA expansion of BUNDLE to bitwise instruction sequences

    [3 lines not shown]
DeltaFile
+2,179-0llvm/test/CodeGen/ARM/ctselect-vector.ll
+975-0llvm/test/CodeGen/ARM/ctselect-half.ll
+552-99llvm/lib/Target/ARM/ARMISelLowering.cpp
+555-0llvm/test/CodeGen/ARM/ctselect.ll
+335-2llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
+329-3llvm/lib/Target/ARM/ARMISelLowering.h
+4,925-1044 files not shown
+5,209-24710 files

LLVM/project a5038c4llvm/test/CodeGen/WebAssembly ctselect-fallback-vector.ll ctselect-fallback-patterns.ll

[ConstantTime][WebAssembly] Add comprehensive tests for ct.select
DeltaFile
+714-0llvm/test/CodeGen/WebAssembly/ctselect-fallback-vector.ll
+641-0llvm/test/CodeGen/WebAssembly/ctselect-fallback-patterns.ll
+552-0llvm/test/CodeGen/WebAssembly/ctselect-fallback.ll
+376-0llvm/test/CodeGen/WebAssembly/ctselect-fallback-edge-cases.ll
+226-0llvm/test/CodeGen/WebAssembly/ctselect-side-effects.ll
+2,509-05 files

LLVM/project d56d121llvm/lib/Target/AArch64 AArch64InstrInfo.cpp AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 ctselect.ll

[LLVM][AArch64] Add native ct.select support for ARM64

This patch implements architecture-specific lowering for ct.select on AArch64
using CSEL (conditional select) instructions for constant-time selection.

Implementation details:
- Uses CSEL family of instructions for scalar integer types
- Uses FCSEL for floating-point types (F16, BF16, F32, F64)
- Post-RA MC lowering to convert pseudo-instructions to real CSEL/FCSEL
- Handles vector types appropriately
- Comprehensive test coverage for AArch64

The implementation includes:
- ISelLowering: Custom lowering to CTSELECT pseudo-instructions
- InstrInfo: Pseudo-instruction definitions and patterns
- MCInstLower: Post-RA lowering of pseudo-instructions to actual CSEL/FCSEL
- Proper handling of condition codes for constant-time guarantees
DeltaFile
+90-110llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
+153-0llvm/test/CodeGen/AArch64/ctselect.ll
+56-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+40-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+18-0llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
+11-0llvm/lib/Target/AArch64/AArch64ISelLowering.h
+368-1106 files

LLVM/project 13451f3llvm/lib/Target/X86 X86ISelLowering.cpp X86ISelLowering.h, llvm/test/CodeGen/X86 ctselect-i386-fp.ll

[LLVM][X86] Add f80 support for ct.select

Add special handling for x86_fp80 types in CTSELECT lowering by splitting
them into three 32-bit chunks, performing constant-time selection on each
chunk, and reassembling the result. This fixes crashes when compiling
tests with f80 types.

Also updated ctselect.ll to match current generic fallback implementation.
DeltaFile
+2,857-3,098llvm/lib/Target/X86/X86ISelLowering.cpp
+1,619-1,634llvm/lib/Target/X86/X86ISelLowering.h
+463-452llvm/lib/Target/X86/X86InstrInfo.cpp
+126-146llvm/test/CodeGen/X86/ctselect-i386-fp.ll
+9-12llvm/lib/Target/X86/X86InstrInfo.h
+8-7llvm/lib/Target/X86/X86TargetMachine.cpp
+5,082-5,3496 files

LLVM/project 9cddf35llvm/lib/Target/X86 X86ISelLowering.cpp X86InstrInfo.cpp, llvm/test/CodeGen/X86 ctselect-vector.ll ctselect.ll

[LLVM][X86] Add native ct.select support for X86 and i386

Add native X86 implementation with CMOV instructions and comprehensive tests:
- X86 ISelLowering with CMOV for x86_64 and i386
- Fallback bitwise operations for i386 targets without CMOV
- Post-RA expansion for pseudo-instructions
- Comprehensive test coverage:
  - Edge cases (zero conditions, large integers)
  - i386-specific tests (FP, MMX, non-CMOV fallback)
  - Vector operations
  - Optimization patterns

The basic test demonstrating fallback is in the core infrastructure PR.
DeltaFile
+1,274-0llvm/test/CodeGen/X86/ctselect-vector.ll
+583-413llvm/test/CodeGen/X86/ctselect.ll
+763-28llvm/lib/Target/X86/X86ISelLowering.cpp
+722-0llvm/test/CodeGen/X86/ctselect-i386-fp.ll
+604-5llvm/lib/Target/X86/X86InstrInfo.cpp
+428-0llvm/test/CodeGen/X86/ctselect-i386-mmx.ll
+4,374-44611 files not shown
+5,671-45117 files

LLVM/project 010fb44llvm/test/CodeGen/Mips ctselect-fallback-vector.ll ctselect-fallback-patterns.ll

[LLVM][MIPS] Add comprehensive tests for ct.select
DeltaFile
+830-0llvm/test/CodeGen/Mips/ctselect-fallback-vector.ll
+426-0llvm/test/CodeGen/Mips/ctselect-fallback-patterns.ll
+371-0llvm/test/CodeGen/Mips/ctselect-fallback.ll
+244-0llvm/test/CodeGen/Mips/ctselect-fallback-edge-cases.ll
+183-0llvm/test/CodeGen/Mips/ctselect-side-effects.ll
+2,054-05 files

LLVM/project f00c9b2llvm/test/CodeGen/RISCV ctselect-fallback-vector-rvv.ll ctselect-fallback-patterns.ll

[ConstantTime][RISCV] Add comprehensive tests for ct.select

Add comprehensive test suite for RISC-V fallback implementation:
- Edge cases (zero conditions, large integers, sign extension)
- Pattern matching (nested selects, chains)
- Vector support with RVV extensions
- Side effects and memory operations

The basic fallback test is in the core infrastructure PR.
DeltaFile
+804-0llvm/test/CodeGen/RISCV/ctselect-fallback-vector-rvv.ll
+383-0llvm/test/CodeGen/RISCV/ctselect-fallback-patterns.ll
+214-0llvm/test/CodeGen/RISCV/ctselect-fallback-edge-cases.ll
+176-0llvm/test/CodeGen/RISCV/ctselect-side-effects.ll
+1,577-04 files

LLVM/project cee34bcclang/docs LanguageExtensions.rst, clang/include/clang/Basic Builtins.td

[ConstantTime][Clang] Add __builtin_ct_select for constant-time selection
DeltaFile
+683-0clang/test/Sema/builtin-ct-select.c
+373-0clang/test/Sema/builtin-ct-select-edge-cases.c
+64-0clang/lib/Sema/SemaChecking.cpp
+44-0clang/docs/LanguageExtensions.rst
+13-0clang/lib/CodeGen/CGBuiltin.cpp
+8-0clang/include/clang/Basic/Builtins.td
+1,185-06 files