# X86.Bmi1

> bmi1 intrinsics

## Definition

* **Type:** Class
* **Namespace:** [Unity.Burst.Intrinsics](/engine/6000.6/script-reference/unity/burst/intrinsics.md)
* **Assembly:** UnityEngine.BurstModule

```csharp
public static class X86.Bmi1
```

## Static Properties

| Property                                                                                              | Description                                                         |
| ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| [IsBmi1Supported](/engine/6000.6/script-reference/unity/burst/intrinsics/x86/bmi1/isbmi1supported.md) | Evaluates to true at compile time if bmi1 intrinsics are supported. |

## Static Methods

| Method                                                                                       | Description                                                                                                                                                                                               |
| -------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [andn\_u32](/engine/6000.6/script-reference/unity/burst/intrinsics/x86/bmi1/andn-u32.md)     | Compute the bitwise NOT of 32-bit integer a and then AND with b, and store the results in dst.                                                                                                            |
| [andn\_u64](/engine/6000.6/script-reference/unity/burst/intrinsics/x86/bmi1/andn-u64.md)     | Compute the bitwise NOT of 64-bit integer a and then AND with b, and store the results in dst.                                                                                                            |
| [bextr2\_u32](/engine/6000.6/script-reference/unity/burst/intrinsics/x86/bmi1/bextr2-u32.md) | Extract contiguous bits from unsigned 32-bit integer a, and store the result in dst. Extract the number of bits specified by bits 15:8 of control, starting at the bit specified by bits 0:7 of control.. |
| [bextr2\_u64](/engine/6000.6/script-reference/unity/burst/intrinsics/x86/bmi1/bextr2-u64.md) | Extract contiguous bits from unsigned 64-bit integer a, and store the result in dst. Extract the number of bits specified by bits 15:8 of control, starting at the bit specified by bits 0:7 of control.. |
| [bextr\_u32](/engine/6000.6/script-reference/unity/burst/intrinsics/x86/bmi1/bextr-u32.md)   | Extract contiguous bits from unsigned 32-bit integer a, and store the result in dst. Extract the number of bits specified by len, starting at the bit specified by start.                                 |
| [bextr\_u64](/engine/6000.6/script-reference/unity/burst/intrinsics/x86/bmi1/bextr-u64.md)   | Extract contiguous bits from unsigned 64-bit integer a, and store the result in dst. Extract the number of bits specified by len, starting at the bit specified by start.                                 |
| [blsi\_u32](/engine/6000.6/script-reference/unity/burst/intrinsics/x86/bmi1/blsi-u32.md)     | Extract the lowest set bit from unsigned 32-bit integer a and set the corresponding bit in dst. All other bits in dst are zeroed, and all bits are zeroed if no bits are set in a.                        |
| [blsi\_u64](/engine/6000.6/script-reference/unity/burst/intrinsics/x86/bmi1/blsi-u64.md)     | Extract the lowest set bit from unsigned 64-bit integer a and set the corresponding bit in dst. All other bits in dst are zeroed, and all bits are zeroed if no bits are set in a.                        |
| [blsmsk\_u32](/engine/6000.6/script-reference/unity/burst/intrinsics/x86/bmi1/blsmsk-u32.md) | Set all the lower bits of dst up to and including the lowest set bit in unsigned 32-bit integer a.                                                                                                        |
| [blsmsk\_u64](/engine/6000.6/script-reference/unity/burst/intrinsics/x86/bmi1/blsmsk-u64.md) | Set all the lower bits of dst up to and including the lowest set bit in unsigned 64-bit integer a.                                                                                                        |
| [blsr\_u32](/engine/6000.6/script-reference/unity/burst/intrinsics/x86/bmi1/blsr-u32.md)     | Copy all bits from unsigned 32-bit integer a to dst, and reset (set to 0) the bit in dst that corresponds to the lowest set bit in a.                                                                     |
| [blsr\_u64](/engine/6000.6/script-reference/unity/burst/intrinsics/x86/bmi1/blsr-u64.md)     | Copy all bits from unsigned 64-bit integer a to dst, and reset (set to 0) the bit in dst that corresponds to the lowest set bit in a.                                                                     |
| [tzcnt\_u32](/engine/6000.6/script-reference/unity/burst/intrinsics/x86/bmi1/tzcnt-u32.md)   | Count the number of trailing zero bits in unsigned 32-bit integer a, and return that count in dst.                                                                                                        |
| [tzcnt\_u64](/engine/6000.6/script-reference/unity/burst/intrinsics/x86/bmi1/tzcnt-u64.md)   | Count the number of trailing zero bits in unsigned 64-bit integer a, and return that count in dst.                                                                                                        |
