[llvm] [IR] Implementation and lowering of bitinsert and bitextract (PR #200605)

Alexis Engelke via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 1 06:22:40 PDT 2026


================
@@ -11637,6 +11517,88 @@ Example:
       <result> = xor i32 4, 8            ; yields i32:result = 12
       <result> = xor i32 %V, -1          ; yields i32:result = ~%V
 
+Byte Operations
+-----------------
+
+Instructions for bit manipulation for bytes.
+
+.. _i_bitextract:
+
+'``bitextract``' Instruction
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Syntax:
+"""""""
+
+::
+
+      <result> = bitextract <ty>, <tx> <source>, i32 <offset>
+
+Overview:
+"""""""""
+
+The '``bitextract``' extracts a value from a byte.
+
+Arguments:
+""""""""""
+The '``bitextract``' instruction takes any first-class type ty (the
----------------
aengelke wrote:

I think we would only want single-value types here? (I'd not be in favor of bitextracting array, struct, label, etc. values here.)

https://github.com/llvm/llvm-project/pull/200605


More information about the llvm-commits mailing list