Lines Matching +full:64 +full:- +full:bit

1 /*===---- bmiintrin.h - BMI intrinsics -------------------------------------===
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 *===-----------------------------------------------------------------------===
17 /* Allow using the tzcnt intrinsics even for non-BMI targets. Since the TZCNT
18 instruction behaves as BSF on non-BMI targets, there is code that expects
29 /// An unsigned 16-bit integer whose trailing zeros are to be counted.
30 /// \returns An unsigned 16-bit integer containing the number of trailing zero
50 /// An unsigned 16-bit integer whose trailing zeros are to be counted.
51 /// \returns An unsigned 16-bit integer containing the number of trailing zero
63 /// An unsigned 32-bit integer whose trailing zeros are to be counted.
64 /// \returns An unsigned 32-bit integer containing the number of trailing zero
80 /// An unsigned 32-bit integer whose trailing zeros are to be counted.
81 /// \returns A 32-bit integer containing the number of trailing zero bits in
101 /// An unsigned 32-bit integer whose trailing zeros are to be counted.
102 /// \returns An unsigned 32-bit integer containing the number of trailing zero
116 /// An unsigned 64-bit integer whose trailing zeros are to be counted.
117 /// \returns An unsigned 64-bit integer containing the number of trailing zero
133 /// An unsigned 64-bit integer whose trailing zeros are to be counted.
134 /// \returns An 64-bit integer containing the number of trailing zero bits in
154 /// An unsigned 64-bit integer whose trailing zeros are to be counted.
155 /// \returns An unsigned 64-bit integer containing the number of trailing zero
209 /* AMD-specified, double-leading-underscore version of BEXTR */
221 /// specify the index of the least significant bit. Bits [15:8] specify the
232 /* Intel-specified, single-leading-underscore version of BEXTR */
244 /// bit for the bits to be extracted. Bits [7:0] specify the index.
257 /* Intel-specified, single-leading-underscore version of BEXTR2 */
269 /// specify the index of the least significant bit. Bits [15:8] specify the
279 /// Clears all bits in the source except for the least significant bit
294 return __X & -__X;
297 /// Clears all bits in the source except for the least significant bit
315 /// Creates a mask whose bits are set to 1, using bit 0 up to and
316 /// including the least significant bit that is set to 1 in the source
330 return __X ^ (__X - 1);
333 /// Creates a mask whose bits are set to 1, using bit 0 up to and
334 /// including the least significant bit that is set to 1 in the source
351 /// Clears the least significant bit that is set to 1 in the source
366 return __X & (__X - 1);
369 /// Clears the least significant bit that is set to 1 in the source
397 /// An unsigned 64-bit integer containing one of the operands.
399 /// An unsigned 64-bit integer containing one of the operands.
400 /// \returns An unsigned 64-bit integer containing the bitwise AND of the second
422 /// An unsigned 64-bit integer containing one of the operands.
424 /// An unsigned 64-bit integer containing one of the operands.
425 /// \returns An unsigned 64-bit integer containing the bitwise AND of the second
430 /* AMD-specified, double-leading-underscore version of BEXTR */
439 /// An unsigned 64-bit integer whose bits are to be extracted.
441 /// An unsigned 64-bit integer used to specify which bits are extracted. Bits
442 /// [7:0] specify the index of the least significant bit. Bits [15:8] specify
444 /// \returns An unsigned 64-bit integer whose least significant bits contain the
453 /* Intel-specified, single-leading-underscore version of BEXTR */
462 /// An unsigned 64-bit integer whose bits are to be extracted.
465 /// bit for the bits to be extracted. Bits [7:0] specify the index.
469 /// \returns An unsigned 64-bit integer whose least significant bits contain the
478 /* Intel-specified, single-leading-underscore version of BEXTR2 */
487 /// An unsigned 64-bit integer whose bits are to be extracted.
489 /// An unsigned 64-bit integer used to specify which bits are extracted. Bits
490 /// [7:0] specify the index of the least significant bit. Bits [15:8] specify
492 /// \returns An unsigned 64-bit integer whose least significant bits contain the
500 /// Clears all bits in the source except for the least significant bit
508 /// An unsigned 64-bit integer whose bits are to be cleared.
509 /// \returns An unsigned 64-bit integer containing the result of clearing the
515 return __X & -__X;
518 /// Clears all bits in the source except for the least significant bit
530 /// An unsigned 64-bit integer whose bits are to be cleared.
531 /// \returns An unsigned 64-bit integer containing the result of clearing the
536 /// Creates a mask whose bits are set to 1, using bit 0 up to and
537 /// including the least significant bit that is set to 1 in the source
545 /// An unsigned 64-bit integer used to create the mask.
546 /// \returns An unsigned 64-bit integer containing the newly created mask.
551 return __X ^ (__X - 1);
554 /// Creates a mask whose bits are set to 1, using bit 0 up to and
555 /// including the least significant bit that is set to 1 in the source
567 /// An unsigned 64-bit integer used to create the mask.
568 /// \returns An unsigned 64-bit integer containing the newly created mask.
572 /// Clears the least significant bit that is set to 1 in the source
580 /// An unsigned 64-bit integer containing the operand to be cleared.
581 /// \returns An unsigned 64-bit integer containing the result of clearing the
587 return __X & (__X - 1);
590 /// Clears the least significant bit that is set to 1 in the source
602 /// An unsigned 64-bit integer containing the operand to be cleared.
603 /// \returns An unsigned 64-bit integer containing the result of clearing the