intelxed / xed

The X86 Encoder Decoder (XED), is a software library for encoding and decoding X86 (IA32 and Intel64) instructions
https://intelxed.github.io/
Apache License 2.0
1.41k stars 148 forks source link

Regarding AMX instructions #238

Closed ghjeong12 closed 1 month ago

ghjeong12 commented 4 years ago

Hi, I was able to use intel SDE to generate the traces with AMX instructions. However, I couldn't get the xed category for trace tool of intel SDE so I used xed to get xed categories.

Still, I couldn't see any AMX instructions at the output of xed. There are some possible reasons for this.

Could you tell me which sounds reasonable? If I'm doing something wrong, please let me know. (I couldn't find any argument to activate jit or spr architecture)

markcharney commented 4 years ago

hi. i am off work today answering from my phone. i believe i have not released the patches supporting AMX yet. I have about 175 commits to release. Hopefully very soon (within a week).

markcharney commented 4 years ago

Intel AMX support has been pushed in the public version of XED. The Intel SDE that supports Intel AMX had/has a binary version of XED that supported AMX (before my push this week of AMX support to this repo).

To see Intel AMX instructions in binaries, you'd need to have someone put those instructions in your binary, presumably by using assembly language or intrinsics. It might be a while before AMX code is not auto-generated. AMX usage is not as trivial as, say, conventional SIMD processing.

Intel SDE sees all user-space executed code. As you point out, AMX instructions can be generated by JITs so they might not appear in static binaries.