Add comment about the pseudo registers QQ, each of which is a pair of Q registers.
authorEvan Cheng <evan.cheng@apple.com>
Thu, 13 May 2010 20:02:08 +0000 (20:02 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Thu, 13 May 2010 20:02:08 +0000 (20:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103731 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMRegisterInfo.td

index 29907caa3f9c9cf0b7aabb8770063be84ed23919..7e17caa0986c99dd43d78a075db1a8c0838849c0 100644 (file)
@@ -108,6 +108,11 @@ def Q15 : ARMReg<15, "q15", [D30, D31]>;
 
 // Pseudo 256-bit registers to represent pairs of Q registers. These should
 // never be present in the emitted code.
+// These are used for NEON load / store instructions, e.g. vld4, vst3.
+// NOTE: It's possible to define more QQ registers since technical the
+// starting D register number doesn't have to be multiple of 4. e.g. 
+// D1, D2, D3, D4 would be a legal quad. But that would make the sub-register
+// stuffs very messy.
 def QQ0 : ARMReg<0, "qq0", [Q0,  Q1]>;
 def QQ1 : ARMReg<1, "qq1", [Q2,  Q3]>;
 def QQ2 : ARMReg<2, "qq2", [Q4,  Q5]>;