This patch is a prototype for 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 prototype yet. We can extend the discussion in detail in the patch, so that the discussion is more convenient for us. The patch include:
1. The c interface to end user.
2. The AMX intrinsics in LLVM IR.
3. The Lowering from AMX intrinsics to AMX pseudo instruction.
4. The register allocation for tile register.
5. Morph AMX pseudo instruction to AMX real instruction.
After we reaching the consensus on the programming model, I'd split the patch into several pieces and review it one by one.