[all-commits] [llvm/llvm-project] 981a0b: [X86] Add x86_amx type for intel AMX.

Luo, Yuanke via All-commits all-commits at lists.llvm.org
Tue Dec 29 21:57:21 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 981a0bd85811fe49379fdbef35528e2c2f3511a3
      https://github.com/llvm/llvm-project/commit/981a0bd85811fe49379fdbef35528e2c2f3511a3
  Author: Luo, Yuanke <yuanke.luo at intel.com>
  Date:   2020-12-30 (Wed, 30 Dec 2020)

  Changed paths:
    M clang/test/CodeGen/X86/amx_api.c
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/Bitcode/LLVMBitCodes.h
    M llvm/include/llvm/CodeGen/ValueTypes.td
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/include/llvm/IR/Intrinsics.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsX86.td
    M llvm/include/llvm/IR/Type.h
    M llvm/include/llvm/Support/MachineValueType.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/AsmParser/LLLexer.cpp
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/DataLayout.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/LLVMContextImpl.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/IR/Type.cpp
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86LowerAMXType.cpp
    M llvm/lib/Target/X86/X86RegisterInfo.td
    M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
    M llvm/test/CodeGen/X86/AMX/amx-across-func.ll
    M llvm/test/CodeGen/X86/AMX/amx-config.ll
    M llvm/test/CodeGen/X86/AMX/amx-intrinsic-chain.ll
    M llvm/test/CodeGen/X86/AMX/amx-spill.ll
    M llvm/test/CodeGen/X86/AMX/amx-type.ll
    M llvm/utils/TableGen/CodeGenTarget.cpp
    M llvm/utils/TableGen/IntrinsicEmitter.cpp

  Log Message:
  -----------
  [X86] Add x86_amx type for intel AMX.

The x86_amx is used for AMX intrisics. <256 x i32> is bitcast to x86_amx when
it is used by AMX intrinsics, and x86_amx is bitcast to <256 x i32> when it
is used by load/store instruction. So amx intrinsics only operate on type x86_amx.
It can help to separate amx intrinsics from llvm IR instructions (+-*/).
Thank Craig for the idea. This patch depend on https://reviews.llvm.org/D87981.

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




More information about the All-commits mailing list