[all-commits] [llvm/llvm-project] 4b9f62: [CIR] Bit manipulation builtin functions (#146529)

Sirui Mu via All-commits all-commits at lists.llvm.org
Thu Jul 3 08:09:13 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4b9f622ca94d8f4c0102560cb15c99f4e0013f99
      https://github.com/llvm/llvm-project/commit/4b9f622ca94d8f4c0102560cb15c99f4e0013f99
  Author: Sirui Mu <msrlancern at gmail.com>
  Date:   2025-07-03 (Thu, 03 Jul 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
    M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
    A clang/test/CIR/CodeGen/builtin_bit.cpp

  Log Message:
  -----------
  [CIR] Bit manipulation builtin functions (#146529)

This patch adds CIR support for the following families of bit
manipulation builtin functions:

- `__builtin_clrsb`, represented by the `cir.bit.clrsb` operation
- `__builtin_ctz`, represented by the `cir.bit.clz` operation
- `__builtin_clz`, represented by the `cir.bit.ctz` operation
- `__builtin_parity`, represented by the `cir.bit.parity` operation
- `__builtin_popcount`, represented by the `cir.bit.popcnt` operation

The `__builtin_ffs` builtin function is not included in this patch
because the current CIRGen would emit it as a library call to `@ffs`.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list