Lines Matching +full:least +full:-
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 */
211 /// in the least significant bits of the result.
221 /// specify the index of the least significant bit. Bits [15:8] specify the
223 /// \returns An unsigned integer whose least significant bits contain the
232 /* Intel-specified, single-leading-underscore version of BEXTR */
234 /// in the least significant bits of the result.
243 /// An unsigned integer used to specify the index of the least significant
248 /// \returns An unsigned integer whose least significant bits contain the
257 /* Intel-specified, single-leading-underscore version of BEXTR2 */
259 /// in the least significant bits of the result.
269 /// specify the index of the least significant bit. Bits [15:8] specify the
271 /// \returns An unsigned integer whose least significant bits contain 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
316 /// including the least significant bit that is set to 1 in the source
330 return __X ^ (__X - 1);
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 */
432 /// in the least significant bits of the result.
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 */
455 /// in the least significant bits of the result.
462 /// An unsigned 64-bit integer whose bits are to be extracted.
464 /// An unsigned integer used to specify the index of the least significant
469 /// \returns An unsigned 64-bit integer whose least significant bits contain the
478 /* Intel-specified, single-leading-underscore version of BEXTR2 */
480 /// in the least significant bits of the result.
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
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);
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