1 Pull in r199186 from upstream llvm trunk (by Jakob Stoklund Olesen):
3 Switch the NEON register class from QPR to DPair.
5 The already allocatable DPair superclass contains odd-even D register
6 pair in addition to the even-odd pairs in the QPR register class. There
7 is no reason to constrain the set of D register pairs that can be used
8 for NEON values. Any NEON instructions that require a Q register will
9 automatically constrain the register class to QPR.
11 The allocation order for DPair begins with the QPR registers, so
12 register allocation is unlikely to change much.
14 Introduced here: http://svn.freebsd.org/changeset/base/262261
16 Index: lib/Target/ARM/ARMISelLowering.cpp
17 ===================================================================
18 --- lib/Target/ARM/ARMISelLowering.cpp
19 +++ lib/Target/ARM/ARMISelLowering.cpp
20 @@ -156,7 +156,7 @@ void ARMTargetLowering::addDRTypeForNEON(MVT VT) {
23 void ARMTargetLowering::addQRTypeForNEON(MVT VT) {
24 - addRegisterClass(VT, &ARM::QPRRegClass);
25 + addRegisterClass(VT, &ARM::DPairRegClass);
26 addTypeForNEON(VT, MVT::v2f64, MVT::v4i32);