diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2020-07-26 19:36:28 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2020-07-26 19:36:28 +0000 |
commit | cfca06d7963fa0909f90483b42a6d7d194d01e08 (patch) | |
tree | 209fb2a2d68f8f277793fc8df46c753d31bc853b /llvm/lib/Target/X86/X86RegisterInfo.td | |
parent | 706b4fc47bbc608932d3b491ae19a3b9cde9497b (diff) | |
download | src-cfca06d7963fa0909f90483b42a6d7d194d01e08.tar.gz src-cfca06d7963fa0909f90483b42a6d7d194d01e08.zip |
Vendor import of llvm-project master 2e10b7a39b9, the last commit beforevendor/llvm-project/llvmorg-11-init-20887-g2e10b7a39b9vendor/llvm-project/master
the llvmorg-12-init tag, from which release/11.x was branched.
Notes
Notes:
svn path=/vendor/llvm-project/master/; revision=363578
svn path=/vendor/llvm-project/llvmorg-11-init-20887-g2e10b7a39b9/; revision=363579; tag=vendor/llvm-project/llvmorg-11-init-20887-g2e10b7a39b9
Diffstat (limited to 'llvm/lib/Target/X86/X86RegisterInfo.td')
-rw-r--r-- | llvm/lib/Target/X86/X86RegisterInfo.td | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86RegisterInfo.td b/llvm/lib/Target/X86/X86RegisterInfo.td index 3cfaf714e93e..8de5b94bbffa 100644 --- a/llvm/lib/Target/X86/X86RegisterInfo.td +++ b/llvm/lib/Target/X86/X86RegisterInfo.td @@ -265,6 +265,16 @@ let SubRegIndices = [sub_ymm] in { } } +// Tile "registers". +def TMM0: X86Reg<"tmm0", 0>; +def TMM1: X86Reg<"tmm1", 1>; +def TMM2: X86Reg<"tmm2", 2>; +def TMM3: X86Reg<"tmm3", 3>; +def TMM4: X86Reg<"tmm4", 4>; +def TMM5: X86Reg<"tmm5", 5>; +def TMM6: X86Reg<"tmm6", 6>; +def TMM7: X86Reg<"tmm7", 7>; + // Mask Registers, used by AVX-512 instructions. def K0 : X86Reg<"k0", 0>, DwarfRegNum<[118, 93, 93]>; def K1 : X86Reg<"k1", 1>, DwarfRegNum<[119, 94, 94]>; @@ -498,7 +508,7 @@ def GR64_NOREX_NOSP : RegisterClass<"X86", [i64], 64, // which we do not have right now. def LOW32_ADDR_ACCESS : RegisterClass<"X86", [i32], 32, (add GR32, RIP)>; -// When RBP is used as a base pointer in a 32-bit addresses environement, +// When RBP is used as a base pointer in a 32-bit addresses environment, // this is also safe to use the full register to access addresses. // Since RBP will never be spilled, stick to a 32 alignment to save // on memory consumption. @@ -621,3 +631,8 @@ def VK64WM : RegisterClass<"X86", [v64i1], 64, (add VK32WM)> {let Size = 64;} // Bound registers def BNDR : RegisterClass<"X86", [v2i64], 128, (sequence "BND%u", 0, 3)>; + +// Tiles +let isAllocatable = 0 in +def TILE : RegisterClass<"X86", [untyped], 0, + (sequence "TMM%u", 0, 7)> {let Size = 8192;} |