@@ -5437,25 +5437,25 @@ def CDP2 : ABXI<0b1110, (outs), (ins p_imm:$cop, imm0_15:$opc1,
54375437}
54385438
54395439class ACI<dag oops, dag iops, string opc, string asm,
5440- list<dag> pattern, IndexMode im = IndexModeNone,
5440+ list<dag> pattern, string cstrs = "", IndexMode im = IndexModeNone,
54415441 AddrMode am = AddrModeNone>
54425442 : I<oops, iops, am, 4, im, BrFrm, NoItinerary,
5443- opc, asm, "" , pattern> {
5443+ opc, asm, cstrs , pattern> {
54445444 let Inst{27-25} = 0b110;
54455445}
54465446class ACInoP<dag oops, dag iops, string opc, string asm,
5447- list<dag> pattern, IndexMode im = IndexModeNone,
5447+ list<dag> pattern, string constraints = "", IndexMode im = IndexModeNone,
54485448 AddrMode am = AddrModeNone>
54495449 : InoP<oops, iops, am, 4, im, BrFrm, NoItinerary,
5450- opc, asm, "" , pattern> {
5450+ opc, asm, constraints , pattern> {
54515451 let Inst{31-28} = 0b1111;
54525452 let Inst{27-25} = 0b110;
54535453}
54545454
54555455let DecoderNamespace = "CoProc" in {
54565456multiclass LdStCop<bit load, bit Dbit, string asm, list<dag> pattern> {
54575457 def _OFFSET : ACI<(outs), (ins p_imm:$cop, c_imm:$CRd, addrmode5:$addr),
5458- asm, "\t$cop, $CRd, $addr", pattern, IndexModeNone,
5458+ asm, "\t$cop, $CRd, $addr", pattern, "", IndexModeNone,
54595459 AddrMode5> {
54605460 bits<13> addr;
54615461 bits<4> cop;
@@ -5471,8 +5471,8 @@ multiclass LdStCop<bit load, bit Dbit, string asm, list<dag> pattern> {
54715471 let Inst{7-0} = addr{7-0};
54725472 let DecoderMethod = "DecodeCopMemInstruction";
54735473 }
5474- def _PRE : ACI<(outs), (ins p_imm:$cop, c_imm:$CRd, addrmode5_pre:$addr),
5475- asm, "\t$cop, $CRd, $addr!", [], IndexModePre> {
5474+ def _PRE : ACI<(outs GPR:$Rn_wb ), (ins p_imm:$cop, c_imm:$CRd, addrmode5_pre:$addr),
5475+ asm, "\t$cop, $CRd, $addr!", [], "$addr.base = $Rn_wb", IndexModePre> {
54765476 bits<13> addr;
54775477 bits<4> cop;
54785478 bits<4> CRd;
@@ -5489,7 +5489,7 @@ multiclass LdStCop<bit load, bit Dbit, string asm, list<dag> pattern> {
54895489 }
54905490 def _POST: ACI<(outs), (ins p_imm:$cop, c_imm:$CRd, addr_offset_none:$addr,
54915491 postidx_imm8s4:$offset),
5492- asm, "\t$cop, $CRd, $addr, $offset", [], IndexModePost> {
5492+ asm, "\t$cop, $CRd, $addr, $offset", [], "", IndexModePost> {
54935493 bits<9> offset;
54945494 bits<4> addr;
54955495 bits<4> cop;
@@ -5527,7 +5527,7 @@ multiclass LdStCop<bit load, bit Dbit, string asm, list<dag> pattern> {
55275527}
55285528multiclass LdSt2Cop<bit load, bit Dbit, string asm, list<dag> pattern> {
55295529 def _OFFSET : ACInoP<(outs), (ins p_imm:$cop, c_imm:$CRd, addrmode5:$addr),
5530- asm, "\t$cop, $CRd, $addr", pattern, IndexModeNone,
5530+ asm, "\t$cop, $CRd, $addr", pattern, "", IndexModeNone,
55315531 AddrMode5> {
55325532 bits<13> addr;
55335533 bits<4> cop;
@@ -5543,8 +5543,8 @@ multiclass LdSt2Cop<bit load, bit Dbit, string asm, list<dag> pattern> {
55435543 let Inst{7-0} = addr{7-0};
55445544 let DecoderMethod = "DecodeCopMemInstruction";
55455545 }
5546- def _PRE : ACInoP<(outs), (ins p_imm:$cop, c_imm:$CRd, addrmode5_pre:$addr),
5547- asm, "\t$cop, $CRd, $addr!", [], IndexModePre> {
5546+ def _PRE : ACInoP<(outs GPR:$Rn_wb ), (ins p_imm:$cop, c_imm:$CRd, addrmode5_pre:$addr),
5547+ asm, "\t$cop, $CRd, $addr!", [], "$addr.base = $Rn_wb", IndexModePre> {
55485548 bits<13> addr;
55495549 bits<4> cop;
55505550 bits<4> CRd;
@@ -5561,7 +5561,7 @@ multiclass LdSt2Cop<bit load, bit Dbit, string asm, list<dag> pattern> {
55615561 }
55625562 def _POST: ACInoP<(outs), (ins p_imm:$cop, c_imm:$CRd, addr_offset_none:$addr,
55635563 postidx_imm8s4:$offset),
5564- asm, "\t$cop, $CRd, $addr, $offset", [], IndexModePost> {
5564+ asm, "\t$cop, $CRd, $addr, $offset", [], "", IndexModePost> {
55655565 bits<9> offset;
55665566 bits<4> addr;
55675567 bits<4> cop;
0 commit comments