From 76967894a670bfeafd2fa36f4d05c481bc631336 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Fri, 21 Dec 2018 03:03:12 +0000 Subject: [PATCH] GlobalISel: Correct example PartialMapping table When I try to use this, it seems like the second half needs to start where the previous part left off. llvm-svn: 349879 --- include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h b/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h index 82fd7eddb68..c33b32b2db4 100644 --- a/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h +++ b/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h @@ -103,8 +103,8 @@ public: /// Currently the TableGen-like file would look like: /// \code /// PartialMapping[] = { - /// /*32-bit add*/ {0, 32, GPR}, - /// /*2x32-bit add*/ {0, 32, GPR}, {0, 32, GPR}, // <-- Same entry 3x + /// /*32-bit add*/ {0, 32, GPR}, // Scalar entry repeated for first vec elt. + /// /*2x32-bit add*/ {0, 32, GPR}, {32, 32, GPR}, /// /*<2x32-bit> vadd {0, 64, VPR} /// }; // PartialMapping duplicated. /// @@ -118,14 +118,15 @@ public: /// With the array of pointer, we would have: /// \code /// PartialMapping[] = { - /// /*32-bit add*/ {0, 32, GPR}, + /// /*32-bit add lower */ {0, 32, GPR}, + /// /*32-bit add upper */ {32, 32, GPR}, /// /*<2x32-bit> vadd {0, 64, VPR} /// }; // No more duplication. /// /// BreakDowns[] = { /// /*AddBreakDown*/ &PartialMapping[0], - /// /*2xAddBreakDown*/ &PartialMapping[0], &PartialMapping[0], - /// /*VAddBreakDown*/ &PartialMapping[1] + /// /*2xAddBreakDown*/ &PartialMapping[0], &PartialMapping[1], + /// /*VAddBreakDown*/ &PartialMapping[2] /// }; // Addresses of PartialMapping duplicated (smaller). /// /// ValueMapping[] {