HomePhabricator

[X86] AMX programming model.

Authored by LuoYuanke on Sep 5 2020, 7:17 PM.

Description

[X86] AMX programming model.
This patch implements amx programming model that discussed in llvm-dev
(http://lists.llvm.org/pipermail/llvm-dev/2020-August/144302.html).
Thank Hal for the good suggestion in the RA. The fast RA is not in the patch yet.
This patch implemeted 7 components.

  1. The c interface to end user.
  2. The AMX intrinsics in LLVM IR.
  3. Transform load/store <256 x i32> to AMX intrinsics or split the type into two <128 x i32>.
  4. The Lowering from AMX intrinsics to AMX pseudo instruction.
  5. Insert psuedo ldtilecfg and build the def-use between ldtilecfg to amx intruction.
  6. The register allocation for tile register.
  7. Morph AMX pseudo instruction to AMX real instruction.

Change-Id: I935e1080916ffcb72af54c2c83faa8b2e97d5cb0

Differential Revision: https://reviews.llvm.org/D87981

Details

Committed
LuoYuankeDec 10 2020, 1:01 AM
Differential Revision
D87981: [X86] AMX programming model.
Parents
rG09f717b929ae: Add sqrt lowering from standard to ROCDL
Branches
Unknown
Tags
Unknown