1263320SdimPull in r199940 from upstream llvm trunk (by Eric Christopher):
2263320Sdim
3263320Sdim  Fix out of bounds access to the double regs array. Given the
4263320Sdim  code this looks correct, but could use review. The previous
5263320Sdim  was definitely not correct.
6263320Sdim
7269012SemasteIntroduced here: http://svnweb.freebsd.org/changeset/base/262261
8263320Sdim
9263320SdimIndex: lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
10263320Sdim===================================================================
11263320Sdim--- lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
12263320Sdim+++ lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
13263320Sdim@@ -734,7 +734,7 @@ bool SparcAsmParser::matchRegisterName(const AsmTo
14263320Sdim         && !name.substr(1, 2).getAsInteger(10, intVal)
15263320Sdim         && intVal >= 32 && intVal <= 62 && (intVal % 2 == 0)) {
16263320Sdim       // FIXME: Check V9
17263320Sdim-      RegNo = DoubleRegs[16 + intVal/2];
18263320Sdim+      RegNo = DoubleRegs[intVal/2];
19263320Sdim       RegKind = SparcOperand::rk_DoubleReg;
20263320Sdim       return true;
21263320Sdim     }
22