onnxruntime
60ce0e62 - Use `_tpause` instead of `__builtin_ia32_tpause` (#27607)

Commit
4 days ago
Use `_tpause` instead of `__builtin_ia32_tpause` (#27607) ### Description Use `_tpause` function defined in `waitpkgintrin.h` instead of calling the compiler built-in function (`__builtin_ia32_tpause`) directly. ### Motivation and Context The [`_tpause`][intel-intrinsics-guide] is independent of the compiler, whereas its implementation via the built-in function `__builtin_ia32_tpause` varies by compiler. Therefore, it is advisable not to use it directly. For example, [GCC][waitpkgintrin-gcc] and [LLVM][waitpkgintrin-llvm] have different arguments, leading to portability issues. [intel-intrinsics-guide]: https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=tpause&techs=Other&ig_expand=6888 [waitpkgintrin-gcc]: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/i386/waitpkgintrin.h;h=42c6b0cd02866eccdfe3308f4792f17fe8c6ae38;hb=HEAD#l51 [waitpkgintrin-llvm]: https://github.com/llvm/llvm-project/blob/a682073ae7a49de4b95498ba01b9ea32e6b5f607/clang/lib/Headers/waitpkgintrin.h#L33-L38
Author
Parents
Loading