llvm.org GIT mirror llvm / 031fdbb
Merge 81403 from mainline. Fix double load / store multiple encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_26@81641 91177308-0d34-0410-b5e6-96231b3b80d8 Tanya Lattner 10 years ago
2 changed file(s) with 10 addition(s) and 11 deletion(s). Raw diff Collapse all Expand all
962962 // DB - Decrement before - bit U = 0 and bit P = 1
963963 switch (Mode) {
964964 default: llvm_unreachable("Unknown addressing sub-mode!");
965 case ARM_AM::da: break;
965 case ARM_AM::da: break;
966966 case ARM_AM::db: Binary |= 0x1 << ARMII::P_BitShift; break;
967967 case ARM_AM::ia: Binary |= 0x1 << ARMII::U_BitShift; break;
968968 case ARM_AM::ib: Binary |= 0x3 << ARMII::U_BitShift; break;
10691069 }
10701070
10711071 // Load / store multiple
1072 class AXDI5
1073 string asm, list pattern>
1074 : VFPXI
1075 VFPLdStMulFrm, itin, asm, "", pattern> {
1076 // TODO: Mark the instructions with the appropriate subtarget info.
1077 let Inst{27-25} = 0b110;
1078 let Inst{11-8} = 0b1011;
1079 }
1080
10721081 class AXSI5
10731082 string asm, list pattern>
10741083 : VFPXI
10751084 VFPLdStMulFrm, itin, asm, "", pattern> {
10761085 // TODO: Mark the instructions with the appropriate subtarget info.
10771086 let Inst{27-25} = 0b110;
1078 let Inst{11-8} = 0b1011;
1079 }
1080
1081 class AXDI5
1082 string asm, list pattern>
1083 : VFPXI
1084 VFPLdStMulFrm, itin, asm, "", pattern> {
1085 // TODO: Mark the instructions with the appropriate subtarget info.
1086 let Inst{27-25} = 0b110;
10871087 let Inst{11-8} = 0b1010;
10881088 }
1089
10901089
10911090 // Double precision, unary
10921091 class ADuI opcod1, bits<4> opcod2, bits<4> opcod3, dag oops, dag iops,