Details
- Reviewers
kzhuravl msearles - Commits
- rG27439a764230: [AMDGPU] New gfx940 mfma instructions
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
clang/include/clang/Basic/BuiltinsAMDGPU.def | ||
---|---|---|
308 | Why do the new ones have _ before the i8/xf32 suffix? None of the old ones have it. What does xf32 mean? |
clang/include/clang/Basic/BuiltinsAMDGPU.def | ||
---|---|---|
308 | xf32 suffix indicates data in TF32 format: 8-bit exponent with FP16’s 10-bit mantissa. Uses 32-bits of storage for 19 bits of data. MFMA instructions got new names in the gfx940 (see D121741). It now includes block size which was implicit before. That is because some of them operate on a 2x-16x blocks. Together adding an 'x' suffix and new size factor made the names ambiguous so the decision was made to separate fields with an underscore. The old names are preserved as aliases for compatibility with the existing programs. The same is true for the builtins as these are used in the existing programs. Going forward a new names will be used. |
OK, if the intrinsic name matches the instruction name then that is obviously fine.
llvm/lib/Target/AMDGPU/VOP3PInstructions.td | ||
---|---|---|
539 | I am still confused why the instruction name in MAIInst<"v_mfma_i32_32x32x16i8" has no underscore before i8... | |
745 | ... but here the same instruction name does have an underscore. |
llvm/lib/Target/AMDGPU/VOP3PInstructions.td | ||
---|---|---|
745 | These are asm aliases. The same aliases with and w/o underscores supported by the SP3. In fact Justin and me decided we want these aliases to make it easier to adopt old kernels. |
llvm/lib/Target/AMDGPU/VOP3PInstructions.td | ||
---|---|---|
745 | Look at the ai-gfx940.s lines 282 and 286 which tests both names are accepted. |
llvm/lib/Target/AMDGPU/VOP3PInstructions.td | ||
---|---|---|
745 | OK. No further comments from me :) |
Why do the new ones have _ before the i8/xf32 suffix? None of the old ones have it. What does xf32 mean?