reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

gen/lib/Target/AArch64/AArch64GenAsmWriter.inc
14803   switch (MI->getOpcode()) {
14806     if (MI->getNumOperands() == 4 &&
14807         MI->getOperand(0).getReg() == AArch64::WZR &&
14808         MI->getOperand(1).isReg() &&
14809         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg())) {
14816     if (MI->getNumOperands() == 4 &&
14817         MI->getOperand(0).getReg() == AArch64::WZR &&
14818         MI->getOperand(1).isReg() &&
14819         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
14820         MI->getOperand(2).isReg() &&
14821         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
14822         MI->getOperand(3).isImm() &&
14823         MI->getOperand(3).getImm() == 0) {
14828     if (MI->getNumOperands() == 4 &&
14829         MI->getOperand(0).getReg() == AArch64::WZR &&
14830         MI->getOperand(1).isReg() &&
14831         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
14832         MI->getOperand(2).isReg() &&
14833         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
14838     if (MI->getNumOperands() == 4 &&
14839         MI->getOperand(0).isReg() &&
14840         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
14841         MI->getOperand(1).isReg() &&
14842         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
14843         MI->getOperand(2).isReg() &&
14844         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
14845         MI->getOperand(3).isImm() &&
14846         MI->getOperand(3).getImm() == 0) {
14853     if (MI->getNumOperands() == 4 &&
14854         MI->getOperand(0).getReg() == AArch64::WZR &&
14855         MI->getOperand(1).isReg() &&
14856         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
14857         MI->getOperand(2).isReg() &&
14858         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
14859         MI->getOperand(3).isImm() &&
14860         MI->getOperand(3).getImm() == 16) {
14865     if (MI->getNumOperands() == 4 &&
14866         MI->getOperand(0).getReg() == AArch64::WZR &&
14867         MI->getOperand(1).isReg() &&
14868         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
14869         MI->getOperand(2).isReg() &&
14870         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
14875     if (MI->getNumOperands() == 4 &&
14876         MI->getOperand(0).isReg() &&
14877         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
14878         MI->getOperand(1).isReg() &&
14879         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
14880         MI->getOperand(2).isReg() &&
14881         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
14882         MI->getOperand(3).isImm() &&
14883         MI->getOperand(3).getImm() == 16) {
14890     if (MI->getNumOperands() == 4 &&
14891         MI->getOperand(0).getReg() == AArch64::XZR &&
14892         MI->getOperand(1).isReg() &&
14893         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg())) {
14900     if (MI->getNumOperands() == 4 &&
14901         MI->getOperand(0).getReg() == AArch64::XZR &&
14902         MI->getOperand(1).isReg() &&
14903         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
14904         MI->getOperand(2).isReg() &&
14905         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
14906         MI->getOperand(3).isImm() &&
14907         MI->getOperand(3).getImm() == 0) {
14912     if (MI->getNumOperands() == 4 &&
14913         MI->getOperand(0).getReg() == AArch64::XZR &&
14914         MI->getOperand(1).isReg() &&
14915         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
14916         MI->getOperand(2).isReg() &&
14917         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
14922     if (MI->getNumOperands() == 4 &&
14923         MI->getOperand(0).isReg() &&
14924         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
14925         MI->getOperand(1).isReg() &&
14926         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
14927         MI->getOperand(2).isReg() &&
14928         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
14929         MI->getOperand(3).isImm() &&
14930         MI->getOperand(3).getImm() == 0) {
14937     if (MI->getNumOperands() == 4 &&
14938         MI->getOperand(0).getReg() == AArch64::XZR &&
14939         MI->getOperand(1).isReg() &&
14940         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
14941         MI->getOperand(2).isReg() &&
14942         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
14949     if (MI->getNumOperands() == 4 &&
14950         MI->getOperand(0).getReg() == AArch64::XZR &&
14951         MI->getOperand(1).isReg() &&
14952         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
14953         MI->getOperand(2).isReg() &&
14954         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
14955         MI->getOperand(3).isImm() &&
14956         MI->getOperand(3).getImm() == 24) {
14961     if (MI->getNumOperands() == 4 &&
14962         MI->getOperand(0).getReg() == AArch64::XZR &&
14963         MI->getOperand(1).isReg() &&
14964         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
14965         MI->getOperand(2).isReg() &&
14966         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
14971     if (MI->getNumOperands() == 4 &&
14972         MI->getOperand(0).isReg() &&
14973         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
14974         MI->getOperand(1).isReg() &&
14975         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
14976         MI->getOperand(2).isReg() &&
14977         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
14978         MI->getOperand(3).isImm() &&
14979         MI->getOperand(3).getImm() == 24) {
14986     if (MI->getNumOperands() == 4 &&
14987         MI->getOperand(0).isReg() &&
14988         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
14989         MI->getOperand(1).isReg() &&
14990         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
14991         MI->getOperand(2).isImm() &&
14992         MI->getOperand(2).getImm() == 0 &&
14993         MI->getOperand(3).isImm() &&
14994         MI->getOperand(3).getImm() == 0) {
14999     if (MI->getNumOperands() == 4 &&
15000         MI->getOperand(0).isReg() &&
15001         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(0).getReg()) &&
15002         MI->getOperand(1).isReg() &&
15003         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
15004         MI->getOperand(2).isImm() &&
15005         MI->getOperand(2).getImm() == 0 &&
15006         MI->getOperand(3).isImm() &&
15007         MI->getOperand(3).getImm() == 0) {
15014     if (MI->getNumOperands() == 4 &&
15015         MI->getOperand(0).isReg() &&
15016         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
15017         MI->getOperand(1).isReg() &&
15018         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15019         MI->getOperand(2).isReg() &&
15020         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15021         MI->getOperand(3).isImm() &&
15022         MI->getOperand(3).getImm() == 0) {
15029     if (MI->getNumOperands() == 4 &&
15030         MI->getOperand(0).isReg() &&
15031         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
15032         MI->getOperand(1).isReg() &&
15033         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
15034         MI->getOperand(2).isReg() &&
15035         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15036         MI->getOperand(3).isImm() &&
15037         MI->getOperand(3).getImm() == 16) {
15042     if (MI->getNumOperands() == 4 &&
15043         MI->getOperand(0).isReg() &&
15044         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(0).getReg()) &&
15045         MI->getOperand(1).isReg() &&
15046         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
15047         MI->getOperand(2).isReg() &&
15048         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15049         MI->getOperand(3).isImm() &&
15050         MI->getOperand(3).getImm() == 16) {
15057     if (MI->getNumOperands() == 4 &&
15058         MI->getOperand(0).isReg() &&
15059         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
15060         MI->getOperand(1).isReg() &&
15061         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
15062         MI->getOperand(2).isImm() &&
15063         MI->getOperand(2).getImm() == 0 &&
15064         MI->getOperand(3).isImm() &&
15065         MI->getOperand(3).getImm() == 0) {
15070     if (MI->getNumOperands() == 4 &&
15071         MI->getOperand(0).isReg() &&
15072         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15073         MI->getOperand(1).isReg() &&
15074         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
15075         MI->getOperand(2).isImm() &&
15076         MI->getOperand(2).getImm() == 0 &&
15077         MI->getOperand(3).isImm() &&
15078         MI->getOperand(3).getImm() == 0) {
15085     if (MI->getNumOperands() == 4 &&
15086         MI->getOperand(0).isReg() &&
15087         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15088         MI->getOperand(1).isReg() &&
15089         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15090         MI->getOperand(2).isReg() &&
15091         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15092         MI->getOperand(3).isImm() &&
15093         MI->getOperand(3).getImm() == 0) {
15100     if (MI->getNumOperands() == 4 &&
15101         MI->getOperand(0).isReg() &&
15102         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
15103         MI->getOperand(1).isReg() &&
15104         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
15105         MI->getOperand(2).isReg() &&
15106         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15107         MI->getOperand(3).isImm() &&
15108         MI->getOperand(3).getImm() == 24) {
15113     if (MI->getNumOperands() == 4 &&
15114         MI->getOperand(0).isReg() &&
15115         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15116         MI->getOperand(1).isReg() &&
15117         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
15118         MI->getOperand(2).isReg() &&
15119         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15120         MI->getOperand(3).isImm() &&
15121         MI->getOperand(3).getImm() == 24) {
15128     if (MI->getNumOperands() == 3 &&
15129         MI->getOperand(0).getReg() == AArch64::WZR &&
15130         MI->getOperand(1).isReg() &&
15131         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg())) {
15138     if (MI->getNumOperands() == 4 &&
15139         MI->getOperand(0).getReg() == AArch64::WZR &&
15140         MI->getOperand(1).isReg() &&
15141         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15142         MI->getOperand(2).isReg() &&
15143         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15144         MI->getOperand(3).isImm() &&
15145         MI->getOperand(3).getImm() == 0) {
15150     if (MI->getNumOperands() == 4 &&
15151         MI->getOperand(0).getReg() == AArch64::WZR &&
15152         MI->getOperand(1).isReg() &&
15153         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15154         MI->getOperand(2).isReg() &&
15155         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
15160     if (MI->getNumOperands() == 4 &&
15161         MI->getOperand(0).isReg() &&
15162         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
15163         MI->getOperand(1).isReg() &&
15164         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15165         MI->getOperand(2).isReg() &&
15166         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15167         MI->getOperand(3).isImm() &&
15168         MI->getOperand(3).getImm() == 0) {
15175     if (MI->getNumOperands() == 3 &&
15176         MI->getOperand(0).getReg() == AArch64::XZR &&
15177         MI->getOperand(1).isReg() &&
15178         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg())) {
15185     if (MI->getNumOperands() == 4 &&
15186         MI->getOperand(0).getReg() == AArch64::XZR &&
15187         MI->getOperand(1).isReg() &&
15188         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15189         MI->getOperand(2).isReg() &&
15190         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15191         MI->getOperand(3).isImm() &&
15192         MI->getOperand(3).getImm() == 0) {
15197     if (MI->getNumOperands() == 4 &&
15198         MI->getOperand(0).getReg() == AArch64::XZR &&
15199         MI->getOperand(1).isReg() &&
15200         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15201         MI->getOperand(2).isReg() &&
15202         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
15207     if (MI->getNumOperands() == 4 &&
15208         MI->getOperand(0).isReg() &&
15209         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15210         MI->getOperand(1).isReg() &&
15211         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15212         MI->getOperand(2).isReg() &&
15213         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15214         MI->getOperand(3).isImm() &&
15215         MI->getOperand(3).getImm() == 0) {
15222     if (MI->getNumOperands() == 4 &&
15223         MI->getOperand(0).isReg() &&
15224         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15225         MI->getOperand(1).isReg() &&
15226         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
15227         MI->getOperand(2).isReg() &&
15228         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
15229         MI->getOperand(3).isReg() &&
15230         MI->getOperand(3).getReg() == MI->getOperand(2).getReg() &&
15230         MI->getOperand(3).getReg() == MI->getOperand(2).getReg() &&
15238     if (MI->getNumOperands() == 4 &&
15239         MI->getOperand(0).isReg() &&
15240         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
15241         MI->getOperand(1).isReg() &&
15242         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15243         MI->getOperand(2).isReg() &&
15244         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15245         MI->getOperand(3).isImm() &&
15246         MI->getOperand(3).getImm() == 0) {
15253     if (MI->getNumOperands() == 4 &&
15254         MI->getOperand(0).isReg() &&
15255         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15256         MI->getOperand(1).isReg() &&
15257         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15258         MI->getOperand(2).isReg() &&
15259         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15260         MI->getOperand(3).isImm() &&
15261         MI->getOperand(3).getImm() == 0) {
15268     if (MI->getNumOperands() == 4 &&
15269         MI->getOperand(0).isReg() &&
15270         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15271         MI->getOperand(1).isReg() &&
15272         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
15273         MI->getOperand(2).isReg() &&
15274         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
15275         MI->getOperand(3).isReg() &&
15276         MI->getOperand(3).getReg() == MI->getOperand(2).getReg() &&
15276         MI->getOperand(3).getReg() == MI->getOperand(2).getReg() &&
15284     if (MI->getNumOperands() == 3 &&
15285         MI->getOperand(0).isReg() &&
15286         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15287         AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 1) &&
15293     if (MI->getNumOperands() == 3 &&
15294         MI->getOperand(0).isReg() &&
15295         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15296         AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 2) &&
15302     if (MI->getNumOperands() == 3 &&
15303         MI->getOperand(0).isReg() &&
15304         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15305         AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 3) &&
15313     if (MI->getNumOperands() == 4 &&
15314         MI->getOperand(0).isReg() &&
15315         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
15316         MI->getOperand(1).isReg() &&
15317         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15318         MI->getOperand(2).isReg() &&
15319         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15320         MI->getOperand(3).isImm() &&
15321         MI->getOperand(3).getImm() == 0) {
15328     if (MI->getNumOperands() == 4 &&
15329         MI->getOperand(0).isReg() &&
15330         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15331         MI->getOperand(1).isReg() &&
15332         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15333         MI->getOperand(2).isReg() &&
15334         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15335         MI->getOperand(3).isImm() &&
15336         MI->getOperand(3).getImm() == 0) {
15343     if (MI->getNumOperands() == 4 &&
15344         MI->getOperand(0).isReg() &&
15345         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
15346         MI->getOperand(1).isReg() &&
15347         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15348         MI->getOperand(2).isReg() &&
15349         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15350         MI->getOperand(3).isImm() &&
15351         MI->getOperand(3).getImm() == 0) {
15358     if (MI->getNumOperands() == 4 &&
15359         MI->getOperand(0).isReg() &&
15360         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15361         MI->getOperand(1).isReg() &&
15362         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15363         MI->getOperand(2).isReg() &&
15364         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15365         MI->getOperand(3).isImm() &&
15366         MI->getOperand(3).getImm() == 0) {
15373     if (MI->getNumOperands() == 1 &&
15374         MI->getOperand(0).isImm() &&
15375         MI->getOperand(0).getImm() == 15) {
15382     if (MI->getNumOperands() == 3 &&
15383         MI->getOperand(0).isReg() &&
15384         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15385         MI->getOperand(1).isImm() &&
15386         MI->getOperand(1).getImm() == 31 &&
15387         MI->getOperand(2).isImm() &&
15388         MI->getOperand(2).getImm() == 1 &&
15394     if (MI->getNumOperands() == 3 &&
15395         MI->getOperand(0).isReg() &&
15396         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15397         MI->getOperand(2).isImm() &&
15398         MI->getOperand(2).getImm() == 1 &&
15406     if (MI->getNumOperands() == 3 &&
15407         MI->getOperand(0).isReg() &&
15408         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15409         MI->getOperand(1).isImm() &&
15410         MI->getOperand(1).getImm() == 31 &&
15411         MI->getOperand(2).isImm() &&
15412         MI->getOperand(2).getImm() == 1 &&
15418     if (MI->getNumOperands() == 3 &&
15419         MI->getOperand(0).isReg() &&
15420         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15421         MI->getOperand(2).isImm() &&
15422         MI->getOperand(2).getImm() == 1 &&
15430     if (MI->getNumOperands() == 3 &&
15431         MI->getOperand(0).isReg() &&
15432         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15433         MI->getOperand(1).isImm() &&
15434         MI->getOperand(1).getImm() == 31 &&
15435         MI->getOperand(2).isImm() &&
15436         MI->getOperand(2).getImm() == 1 &&
15442     if (MI->getNumOperands() == 3 &&
15443         MI->getOperand(0).isReg() &&
15444         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15445         MI->getOperand(2).isImm() &&
15446         MI->getOperand(2).getImm() == 1 &&
15454     if (MI->getNumOperands() == 3 &&
15455         MI->getOperand(0).isReg() &&
15456         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15457         MI->getOperand(1).isImm() &&
15458         MI->getOperand(1).getImm() == 31 &&
15459         MI->getOperand(2).isImm() &&
15460         MI->getOperand(2).getImm() == 1 &&
15466     if (MI->getNumOperands() == 3 &&
15467         MI->getOperand(0).isReg() &&
15468         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15469         MI->getOperand(2).isImm() &&
15470         MI->getOperand(2).getImm() == 1 &&
15478     if (MI->getNumOperands() == 5 &&
15479         MI->getOperand(0).isReg() &&
15480         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15481         MI->getOperand(2).isReg() &&
15482         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
15490     if (MI->getNumOperands() == 5 &&
15491         MI->getOperand(0).isReg() &&
15492         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15493         MI->getOperand(2).isReg() &&
15494         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
15502     if (MI->getNumOperands() == 5 &&
15503         MI->getOperand(0).isReg() &&
15504         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15505         MI->getOperand(2).isReg() &&
15506         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
15514     if (MI->getNumOperands() == 5 &&
15515         MI->getOperand(0).isReg() &&
15516         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15517         MI->getOperand(2).isReg() &&
15518         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
15526     if (MI->getNumOperands() == 4 &&
15527         MI->getOperand(0).isReg() &&
15528         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15529         MI->getOperand(2).isReg() &&
15530         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
15531         MI->getOperand(3).isReg() &&
15532         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(3).getReg()) &&
15540     if (MI->getNumOperands() == 4 &&
15541         MI->getOperand(0).isReg() &&
15542         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15543         MI->getOperand(2).isReg() &&
15544         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
15545         MI->getOperand(3).isReg() &&
15546         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(3).getReg()) &&
15554     if (MI->getNumOperands() == 4 &&
15555         MI->getOperand(0).isReg() &&
15556         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15557         MI->getOperand(2).isReg() &&
15558         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
15559         MI->getOperand(3).isReg() &&
15560         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(3).getReg()) &&
15568     if (MI->getNumOperands() == 4 &&
15569         MI->getOperand(0).isReg() &&
15570         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15571         MI->getOperand(2).isReg() &&
15572         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
15573         MI->getOperand(3).isReg() &&
15574         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(3).getReg()) &&
15582     if (MI->getNumOperands() == 4 &&
15583         MI->getOperand(0).isReg() &&
15584         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15585         MI->getOperand(2).isReg() &&
15586         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
15587         MI->getOperand(3).isReg() &&
15588         MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(3).getReg()) &&
15596     if (MI->getNumOperands() == 4 &&
15597         MI->getOperand(0).isReg() &&
15598         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15599         MI->getOperand(2).isReg() &&
15600         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
15601         MI->getOperand(3).isReg() &&
15602         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(3).getReg()) &&
15610     if (MI->getNumOperands() == 4 &&
15611         MI->getOperand(0).isReg() &&
15612         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15613         MI->getOperand(2).isReg() &&
15614         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
15615         MI->getOperand(3).isReg() &&
15616         MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(3).getReg()) &&
15624     if (MI->getNumOperands() == 4 &&
15625         MI->getOperand(0).isReg() &&
15626         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15627         MI->getOperand(2).isReg() &&
15628         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
15629         MI->getOperand(3).isReg() &&
15630         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(3).getReg()) &&
15638     if (MI->getNumOperands() == 4 &&
15639         MI->getOperand(0).isReg() &&
15640         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15641         MI->getOperand(1).isReg() &&
15642         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
15650     if (MI->getNumOperands() == 4 &&
15651         MI->getOperand(0).isReg() &&
15652         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15653         MI->getOperand(1).isReg() &&
15654         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
15662     if (MI->getNumOperands() == 4 &&
15663         MI->getOperand(0).isReg() &&
15664         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15665         MI->getOperand(1).isReg() &&
15666         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
15674     if (MI->getNumOperands() == 4 &&
15675         MI->getOperand(0).isReg() &&
15676         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15677         MI->getOperand(1).isReg() &&
15678         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
15686     if (MI->getNumOperands() == 4 &&
15687         MI->getOperand(0).isReg() &&
15688         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
15689         MI->getOperand(1).getReg() == AArch64::WZR &&
15690         MI->getOperand(2).getReg() == AArch64::WZR &&
15691         AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
15696     if (MI->getNumOperands() == 4 &&
15697         MI->getOperand(0).isReg() &&
15698         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
15699         MI->getOperand(1).isReg() &&
15700         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15701         MI->getOperand(2).isReg() &&
15702         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
15702         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
15703         AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
15710     if (MI->getNumOperands() == 4 &&
15711         MI->getOperand(0).isReg() &&
15712         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15713         MI->getOperand(1).getReg() == AArch64::XZR &&
15714         MI->getOperand(2).getReg() == AArch64::XZR &&
15715         AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
15720     if (MI->getNumOperands() == 4 &&
15721         MI->getOperand(0).isReg() &&
15722         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15723         MI->getOperand(1).isReg() &&
15724         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15725         MI->getOperand(2).isReg() &&
15726         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
15726         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
15727         AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
15734     if (MI->getNumOperands() == 4 &&
15735         MI->getOperand(0).isReg() &&
15736         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
15737         MI->getOperand(1).getReg() == AArch64::WZR &&
15738         MI->getOperand(2).getReg() == AArch64::WZR &&
15739         AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
15744     if (MI->getNumOperands() == 4 &&
15745         MI->getOperand(0).isReg() &&
15746         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
15747         MI->getOperand(1).isReg() &&
15748         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15749         MI->getOperand(2).isReg() &&
15750         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
15750         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
15751         AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
15758     if (MI->getNumOperands() == 4 &&
15759         MI->getOperand(0).isReg() &&
15760         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15761         MI->getOperand(1).getReg() == AArch64::XZR &&
15762         MI->getOperand(2).getReg() == AArch64::XZR &&
15763         AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
15768     if (MI->getNumOperands() == 4 &&
15769         MI->getOperand(0).isReg() &&
15770         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15771         MI->getOperand(1).isReg() &&
15772         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15773         MI->getOperand(2).isReg() &&
15774         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
15774         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
15775         AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
15782     if (MI->getNumOperands() == 4 &&
15783         MI->getOperand(0).isReg() &&
15784         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
15785         MI->getOperand(1).isReg() &&
15786         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15787         MI->getOperand(2).isReg() &&
15788         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
15788         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
15789         AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
15796     if (MI->getNumOperands() == 4 &&
15797         MI->getOperand(0).isReg() &&
15798         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15799         MI->getOperand(1).isReg() &&
15800         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15801         MI->getOperand(2).isReg() &&
15802         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
15802         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
15803         AArch64InstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
15810     if (MI->getNumOperands() == 1 &&
15811         MI->getOperand(0).isImm() &&
15812         MI->getOperand(0).getImm() == 0) {
15819     if (MI->getNumOperands() == 1 &&
15820         MI->getOperand(0).isImm() &&
15821         MI->getOperand(0).getImm() == 0) {
15828     if (MI->getNumOperands() == 1 &&
15829         MI->getOperand(0).isImm() &&
15830         MI->getOperand(0).getImm() == 0) {
15837     if (MI->getNumOperands() == 4 &&
15838         MI->getOperand(0).isReg() &&
15839         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15840         MI->getOperand(2).isImm() &&
15841         MI->getOperand(2).getImm() == 31 &&
15842         MI->getOperand(3).isImm() &&
15843         MI->getOperand(3).getImm() == 1 &&
15849     if (MI->getNumOperands() == 4 &&
15850         MI->getOperand(0).isReg() &&
15851         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15852         MI->getOperand(3).isImm() &&
15853         MI->getOperand(3).getImm() == 1 &&
15861     if (MI->getNumOperands() == 4 &&
15862         MI->getOperand(0).isReg() &&
15863         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15864         MI->getOperand(2).isImm() &&
15865         MI->getOperand(2).getImm() == 31 &&
15866         MI->getOperand(3).isImm() &&
15867         MI->getOperand(3).getImm() == 1 &&
15873     if (MI->getNumOperands() == 4 &&
15874         MI->getOperand(0).isReg() &&
15875         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15876         MI->getOperand(3).isImm() &&
15877         MI->getOperand(3).getImm() == 1 &&
15885     if (MI->getNumOperands() == 4 &&
15886         MI->getOperand(0).isReg() &&
15887         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15888         MI->getOperand(2).isImm() &&
15889         MI->getOperand(2).getImm() == 31 &&
15890         MI->getOperand(3).isImm() &&
15891         MI->getOperand(3).getImm() == 1 &&
15897     if (MI->getNumOperands() == 4 &&
15898         MI->getOperand(0).isReg() &&
15899         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15900         MI->getOperand(3).isImm() &&
15901         MI->getOperand(3).getImm() == 1 &&
15909     if (MI->getNumOperands() == 4 &&
15910         MI->getOperand(0).isReg() &&
15911         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15912         MI->getOperand(2).isImm() &&
15913         MI->getOperand(2).getImm() == 31 &&
15914         MI->getOperand(3).isImm() &&
15915         MI->getOperand(3).getImm() == 1 &&
15921     if (MI->getNumOperands() == 4 &&
15922         MI->getOperand(0).isReg() &&
15923         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15924         MI->getOperand(3).isImm() &&
15925         MI->getOperand(3).getImm() == 1 &&
15933     if (MI->getNumOperands() == 4 &&
15934         MI->getOperand(0).isReg() &&
15935         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15936         MI->getOperand(2).isImm() &&
15937         MI->getOperand(2).getImm() == 31 &&
15938         MI->getOperand(3).isImm() &&
15939         MI->getOperand(3).getImm() == 1 &&
15945     if (MI->getNumOperands() == 4 &&
15946         MI->getOperand(0).isReg() &&
15947         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15948         MI->getOperand(3).isImm() &&
15949         MI->getOperand(3).getImm() == 1 &&
15957     if (MI->getNumOperands() == 4 &&
15958         MI->getOperand(0).isReg() &&
15959         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15960         MI->getOperand(2).isImm() &&
15961         MI->getOperand(2).getImm() == 31 &&
15962         MI->getOperand(3).isImm() &&
15963         MI->getOperand(3).getImm() == 1 &&
15969     if (MI->getNumOperands() == 4 &&
15970         MI->getOperand(0).isReg() &&
15971         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15972         MI->getOperand(3).isImm() &&
15973         MI->getOperand(3).getImm() == 1 &&
15981     if (MI->getNumOperands() == 4 &&
15982         MI->getOperand(0).isReg() &&
15983         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15984         MI->getOperand(2).isImm() &&
15985         MI->getOperand(2).getImm() == 31 &&
15986         MI->getOperand(3).isImm() &&
15987         MI->getOperand(3).getImm() == 1 &&
15993     if (MI->getNumOperands() == 4 &&
15994         MI->getOperand(0).isReg() &&
15995         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15996         MI->getOperand(3).isImm() &&
15997         MI->getOperand(3).getImm() == 1 &&
16005     if (MI->getNumOperands() == 1 &&
16006         MI->getOperand(0).isImm() &&
16007         MI->getOperand(0).getImm() == 0) {
16012     if (MI->getNumOperands() == 1 &&
16013         MI->getOperand(0).isImm() &&
16014         MI->getOperand(0).getImm() == 4) {
16021     if (MI->getNumOperands() == 2 &&
16022         MI->getOperand(0).isReg() &&
16023         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16024         AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 5) &&
16030     if (MI->getNumOperands() == 2 &&
16031         MI->getOperand(0).isReg() &&
16032         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16033         AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 6) &&
16039     if (MI->getNumOperands() == 2 &&
16040         MI->getOperand(0).isReg() &&
16041         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16042         AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 7) &&
16048     if (MI->getNumOperands() == 2 &&
16049         MI->getOperand(0).isReg() &&
16050         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16051         AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 1) &&
16057     if (MI->getNumOperands() == 2 &&
16058         MI->getOperand(0).isReg() &&
16059         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16060         AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 2) &&
16066     if (MI->getNumOperands() == 2 &&
16067         MI->getOperand(0).isReg() &&
16068         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16069         AArch64InstPrinterValidateMCOperand(MI->getOperand(1), STI, 3) &&
16077     if (MI->getNumOperands() == 3 &&
16078         MI->getOperand(0).isReg() &&
16079         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16087     if (MI->getNumOperands() == 3 &&
16088         MI->getOperand(0).isReg() &&
16089         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16095     if (MI->getNumOperands() == 3 &&
16096         MI->getOperand(0).isReg() &&
16097         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16098         MI->getOperand(1).isImm() &&
16099         MI->getOperand(1).getImm() == 0 &&
16100         MI->getOperand(2).isImm() &&
16101         MI->getOperand(2).getImm() == 0 &&
16109     if (MI->getNumOperands() == 3 &&
16110         MI->getOperand(0).isReg() &&
16111         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16117     if (MI->getNumOperands() == 3 &&
16118         MI->getOperand(0).isReg() &&
16119         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16120         MI->getOperand(1).isImm() &&
16121         MI->getOperand(1).getImm() == 0 &&
16122         MI->getOperand(2).isImm() &&
16123         MI->getOperand(2).getImm() == 0 &&
16131     if (MI->getNumOperands() == 3 &&
16132         MI->getOperand(0).isReg() &&
16133         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16139     if (MI->getNumOperands() == 3 &&
16140         MI->getOperand(0).isReg() &&
16141         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16142         MI->getOperand(1).isImm() &&
16143         MI->getOperand(1).getImm() == 0 &&
16144         MI->getOperand(2).isImm() &&
16145         MI->getOperand(2).getImm() == 0 &&
16153     if (MI->getNumOperands() == 2 &&
16154         MI->getOperand(0).isReg() &&
16155         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16156         MI->getOperand(1).isReg() &&
16157         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
16165     if (MI->getNumOperands() == 2 &&
16166         MI->getOperand(0).isReg() &&
16167         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16168         MI->getOperand(1).isReg() &&
16169         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
16177     if (MI->getNumOperands() == 2 &&
16178         MI->getOperand(0).isReg() &&
16179         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16180         MI->getOperand(1).isReg() &&
16181         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
16189     if (MI->getNumOperands() == 2 &&
16190         MI->getOperand(0).isReg() &&
16191         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16192         MI->getOperand(1).isReg() &&
16193         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
16201     if (MI->getNumOperands() == 3 &&
16202         MI->getOperand(0).isReg() &&
16203         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16204         MI->getOperand(1).isReg() &&
16205         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16206         MI->getOperand(2).isImm() &&
16207         MI->getOperand(2).getImm() == 0 &&
16213     if (MI->getNumOperands() == 3 &&
16214         MI->getOperand(0).isReg() &&
16215         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16216         MI->getOperand(1).isReg() &&
16217         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16225     if (MI->getNumOperands() == 3 &&
16226         MI->getOperand(0).isReg() &&
16227         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16228         MI->getOperand(1).isReg() &&
16229         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16230         MI->getOperand(2).isImm() &&
16231         MI->getOperand(2).getImm() == 0 &&
16237     if (MI->getNumOperands() == 3 &&
16238         MI->getOperand(0).isReg() &&
16239         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16240         MI->getOperand(1).isReg() &&
16241         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16249     if (MI->getNumOperands() == 3 &&
16250         MI->getOperand(0).isReg() &&
16251         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16252         MI->getOperand(1).isReg() &&
16253         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16254         MI->getOperand(2).isImm() &&
16255         MI->getOperand(2).getImm() == 0 &&
16261     if (MI->getNumOperands() == 3 &&
16262         MI->getOperand(0).isReg() &&
16263         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16264         MI->getOperand(1).isReg() &&
16265         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16273     if (MI->getNumOperands() == 3 &&
16274         MI->getOperand(0).isReg() &&
16275         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16276         MI->getOperand(1).isReg() &&
16277         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16278         MI->getOperand(2).isImm() &&
16279         MI->getOperand(2).getImm() == 0 &&
16285     if (MI->getNumOperands() == 3 &&
16286         MI->getOperand(0).isReg() &&
16287         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16288         MI->getOperand(1).isReg() &&
16289         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16297     if (MI->getNumOperands() == 3 &&
16298         MI->getOperand(0).isReg() &&
16299         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16300         MI->getOperand(1).isReg() &&
16301         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16302         MI->getOperand(2).isImm() &&
16303         MI->getOperand(2).getImm() == 0 &&
16309     if (MI->getNumOperands() == 3 &&
16310         MI->getOperand(0).isReg() &&
16311         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16312         MI->getOperand(1).isReg() &&
16313         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16321     if (MI->getNumOperands() == 4 &&
16322         MI->getOperand(0).isReg() &&
16323         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
16324         MI->getOperand(1).isReg() &&
16325         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
16326         MI->getOperand(2).isReg() &&
16327         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
16328         MI->getOperand(3).isImm() &&
16329         MI->getOperand(3).getImm() == 0) {
16336     if (MI->getNumOperands() == 4 &&
16337         MI->getOperand(0).isReg() &&
16338         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16339         MI->getOperand(1).isReg() &&
16340         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
16341         MI->getOperand(2).isReg() &&
16342         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
16343         MI->getOperand(3).isImm() &&
16344         MI->getOperand(3).getImm() == 0) {
16351     if (MI->getNumOperands() == 4 &&
16352         MI->getOperand(0).isReg() &&
16353         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16354         MI->getOperand(1).isReg() &&
16355         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16356         MI->getOperand(2).isReg() &&
16357         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16358         MI->getOperand(3).isReg() &&
16359         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
16359         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
16367     if (MI->getNumOperands() == 4 &&
16368         MI->getOperand(0).isReg() &&
16369         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
16370         MI->getOperand(1).isReg() &&
16371         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
16372         MI->getOperand(2).isReg() &&
16373         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
16374         MI->getOperand(3).isImm() &&
16375         MI->getOperand(3).getImm() == 0) {
16382     if (MI->getNumOperands() == 4 &&
16383         MI->getOperand(0).isReg() &&
16384         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16385         MI->getOperand(1).isReg() &&
16386         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
16387         MI->getOperand(2).isReg() &&
16388         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
16389         MI->getOperand(3).isImm() &&
16390         MI->getOperand(3).getImm() == 0) {
16397     if (MI->getNumOperands() == 4 &&
16398         MI->getOperand(0).isReg() &&
16399         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16400         MI->getOperand(1).isReg() &&
16401         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16402         MI->getOperand(2).isReg() &&
16403         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16404         MI->getOperand(3).isReg() &&
16405         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
16405         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
16413     if (MI->getNumOperands() == 3 &&
16414         MI->getOperand(0).isReg() &&
16415         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16416         AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 1) &&
16422     if (MI->getNumOperands() == 3 &&
16423         MI->getOperand(0).isReg() &&
16424         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16425         AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 2) &&
16431     if (MI->getNumOperands() == 3 &&
16432         MI->getOperand(0).isReg() &&
16433         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16434         AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 3) &&
16442     if (MI->getNumOperands() == 4 &&
16443         MI->getOperand(0).isReg() &&
16444         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
16445         MI->getOperand(1).isReg() &&
16446         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
16447         MI->getOperand(2).isReg() &&
16448         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
16448         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
16455     if (MI->getNumOperands() == 4 &&
16456         MI->getOperand(0).isReg() &&
16457         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16458         MI->getOperand(1).isReg() &&
16459         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
16460         MI->getOperand(2).isReg() &&
16461         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
16461         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
16468     if (MI->getNumOperands() == 4 &&
16469         MI->getOperand(0).isReg() &&
16470         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16471         MI->getOperand(2).isReg() &&
16472         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16480     if (MI->getNumOperands() == 4 &&
16481         MI->getOperand(0).isReg() &&
16482         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16483         MI->getOperand(2).isReg() &&
16484         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16492     if (MI->getNumOperands() == 4 &&
16493         MI->getOperand(0).isReg() &&
16494         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16495         MI->getOperand(2).isReg() &&
16496         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16504     if (MI->getNumOperands() == 2 &&
16505         MI->getOperand(0).isReg() &&
16506         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16514     if (MI->getNumOperands() == 2 &&
16515         MI->getOperand(0).isReg() &&
16516         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16524     if (MI->getNumOperands() == 2 &&
16525         MI->getOperand(0).isReg() &&
16526         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16534     if (MI->getNumOperands() == 4 &&
16535         MI->getOperand(0).isReg() &&
16536         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16537         MI->getOperand(1).isReg() &&
16538         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16539         MI->getOperand(2).isReg() &&
16540         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16541         MI->getOperand(3).isImm() &&
16542         MI->getOperand(3).getImm() == 0 &&
16550     if (MI->getNumOperands() == 4 &&
16551         MI->getOperand(0).isReg() &&
16552         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16553         MI->getOperand(1).isReg() &&
16554         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16555         MI->getOperand(2).isReg() &&
16556         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16557         MI->getOperand(3).isImm() &&
16558         MI->getOperand(3).getImm() == 0 &&
16566     if (MI->getNumOperands() == 4 &&
16567         MI->getOperand(0).isReg() &&
16568         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16569         MI->getOperand(1).isReg() &&
16570         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16571         MI->getOperand(2).isReg() &&
16572         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16573         MI->getOperand(3).isImm() &&
16574         MI->getOperand(3).getImm() == 0 &&
16582     if (MI->getNumOperands() == 4 &&
16583         MI->getOperand(0).isReg() &&
16584         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16585         MI->getOperand(1).isReg() &&
16586         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16587         MI->getOperand(2).isReg() &&
16588         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16589         MI->getOperand(3).isImm() &&
16590         MI->getOperand(3).getImm() == 0 &&
16598     if (MI->getNumOperands() == 4 &&
16599         MI->getOperand(0).isReg() &&
16600         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16601         MI->getOperand(1).isReg() &&
16602         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16603         MI->getOperand(2).isReg() &&
16604         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16605         MI->getOperand(3).isImm() &&
16606         MI->getOperand(3).getImm() == 0 &&
16614     if (MI->getNumOperands() == 4 &&
16615         MI->getOperand(0).isReg() &&
16616         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16617         MI->getOperand(1).isReg() &&
16618         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16619         MI->getOperand(2).isReg() &&
16620         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16621         MI->getOperand(3).isImm() &&
16622         MI->getOperand(3).getImm() == 0 &&
16630     if (MI->getNumOperands() == 4 &&
16631         MI->getOperand(0).isReg() &&
16632         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16633         MI->getOperand(1).isReg() &&
16634         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16635         MI->getOperand(2).isReg() &&
16636         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16637         MI->getOperand(3).isImm() &&
16638         MI->getOperand(3).getImm() == 0 &&
16646     if (MI->getNumOperands() == 4 &&
16647         MI->getOperand(0).isReg() &&
16648         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16649         MI->getOperand(1).isReg() &&
16650         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16651         MI->getOperand(2).isReg() &&
16652         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16653         MI->getOperand(3).isImm() &&
16654         MI->getOperand(3).getImm() == 0 &&
16662     if (MI->getNumOperands() == 4 &&
16663         MI->getOperand(0).isReg() &&
16664         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16665         MI->getOperand(1).isReg() &&
16666         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16667         MI->getOperand(2).isReg() &&
16668         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16669         MI->getOperand(3).isImm() &&
16670         MI->getOperand(3).getImm() == 0 &&
16678     if (MI->getNumOperands() == 4 &&
16679         MI->getOperand(0).isReg() &&
16680         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16681         MI->getOperand(1).isReg() &&
16682         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16683         MI->getOperand(2).isReg() &&
16684         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16685         MI->getOperand(3).isImm() &&
16686         MI->getOperand(3).getImm() == 0 &&
16694     if (MI->getNumOperands() == 4 &&
16695         MI->getOperand(0).isReg() &&
16696         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16697         MI->getOperand(1).isReg() &&
16698         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16699         MI->getOperand(2).isReg() &&
16700         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16701         MI->getOperand(3).isImm() &&
16702         MI->getOperand(3).getImm() == 0 &&
16710     if (MI->getNumOperands() == 4 &&
16711         MI->getOperand(0).isReg() &&
16712         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16713         MI->getOperand(1).isReg() &&
16714         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16715         MI->getOperand(2).isReg() &&
16716         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16717         MI->getOperand(3).isImm() &&
16718         MI->getOperand(3).getImm() == 0 &&
16726     if (MI->getNumOperands() == 4 &&
16727         MI->getOperand(0).isReg() &&
16728         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16729         MI->getOperand(1).isReg() &&
16730         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16731         MI->getOperand(2).isReg() &&
16732         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16733         MI->getOperand(3).isImm() &&
16734         MI->getOperand(3).getImm() == 0 &&
16742     if (MI->getNumOperands() == 4 &&
16743         MI->getOperand(0).isReg() &&
16744         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16745         MI->getOperand(1).isReg() &&
16746         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16747         MI->getOperand(2).isReg() &&
16748         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16749         MI->getOperand(3).isImm() &&
16750         MI->getOperand(3).getImm() == 0 &&
16758     if (MI->getNumOperands() == 4 &&
16759         MI->getOperand(0).isReg() &&
16760         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16761         MI->getOperand(1).isReg() &&
16762         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16763         MI->getOperand(2).isReg() &&
16764         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16765         MI->getOperand(3).isImm() &&
16766         MI->getOperand(3).getImm() == 0 &&
16774     if (MI->getNumOperands() == 4 &&
16775         MI->getOperand(0).isReg() &&
16776         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16777         MI->getOperand(1).isReg() &&
16778         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16779         MI->getOperand(2).isReg() &&
16780         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16781         MI->getOperand(3).isImm() &&
16782         MI->getOperand(3).getImm() == 0 &&
16790     if (MI->getNumOperands() == 4 &&
16791         MI->getOperand(0).isReg() &&
16792         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16793         MI->getOperand(1).isReg() &&
16794         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16795         MI->getOperand(2).isReg() &&
16796         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16797         MI->getOperand(3).isImm() &&
16798         MI->getOperand(3).getImm() == 0 &&
16806     if (MI->getNumOperands() == 4 &&
16807         MI->getOperand(0).isReg() &&
16808         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16809         MI->getOperand(1).isReg() &&
16810         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16811         MI->getOperand(2).isReg() &&
16812         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16813         MI->getOperand(3).isImm() &&
16814         MI->getOperand(3).getImm() == 0 &&
16822     if (MI->getNumOperands() == 4 &&
16823         MI->getOperand(0).isReg() &&
16824         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16825         MI->getOperand(1).isReg() &&
16826         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16827         MI->getOperand(2).isReg() &&
16828         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16829         MI->getOperand(3).isImm() &&
16830         MI->getOperand(3).getImm() == 0 &&
16838     if (MI->getNumOperands() == 4 &&
16839         MI->getOperand(0).isReg() &&
16840         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16841         MI->getOperand(1).isReg() &&
16842         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16843         MI->getOperand(2).isReg() &&
16844         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16845         MI->getOperand(3).isImm() &&
16846         MI->getOperand(3).getImm() == 0 &&
16854     if (MI->getNumOperands() == 4 &&
16855         MI->getOperand(0).isReg() &&
16856         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16857         MI->getOperand(1).isReg() &&
16858         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16859         MI->getOperand(2).isReg() &&
16860         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16861         MI->getOperand(3).isImm() &&
16862         MI->getOperand(3).getImm() == 0 &&
16870     if (MI->getNumOperands() == 4 &&
16871         MI->getOperand(0).isReg() &&
16872         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16873         MI->getOperand(1).isReg() &&
16874         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16875         MI->getOperand(2).isReg() &&
16876         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16877         MI->getOperand(3).isImm() &&
16878         MI->getOperand(3).getImm() == 0 &&
16886     if (MI->getNumOperands() == 4 &&
16887         MI->getOperand(0).isReg() &&
16888         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16889         MI->getOperand(1).isReg() &&
16890         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16891         MI->getOperand(2).isReg() &&
16892         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16893         MI->getOperand(3).isImm() &&
16894         MI->getOperand(3).getImm() == 0 &&
16902     if (MI->getNumOperands() == 4 &&
16903         MI->getOperand(0).isReg() &&
16904         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16905         MI->getOperand(1).isReg() &&
16906         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
16907         MI->getOperand(2).isReg() &&
16908         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16909         MI->getOperand(3).isImm() &&
16910         MI->getOperand(3).getImm() == 0 &&
16918     if (MI->getNumOperands() == 1 &&
16919         MI->getOperand(0).isImm() &&
16920         MI->getOperand(0).getImm() == 0) {
16925     if (MI->getNumOperands() == 1 &&
16926         MI->getOperand(0).isImm() &&
16927         MI->getOperand(0).getImm() == 1) {
16932     if (MI->getNumOperands() == 1 &&
16933         MI->getOperand(0).isImm() &&
16934         MI->getOperand(0).getImm() == 2) {
16939     if (MI->getNumOperands() == 1 &&
16940         MI->getOperand(0).isImm() &&
16941         MI->getOperand(0).getImm() == 3) {
16946     if (MI->getNumOperands() == 1 &&
16947         MI->getOperand(0).isImm() &&
16948         MI->getOperand(0).getImm() == 4) {
16953     if (MI->getNumOperands() == 1 &&
16954         MI->getOperand(0).isImm() &&
16955         MI->getOperand(0).getImm() == 5) {
16960     if (MI->getNumOperands() == 1 &&
16961         MI->getOperand(0).isImm() &&
16962         MI->getOperand(0).getImm() == 16 &&
16968     if (MI->getNumOperands() == 1 &&
16969         MI->getOperand(0).isImm() &&
16970         MI->getOperand(0).getImm() == 20) {
16975     if (MI->getNumOperands() == 1 &&
16976         MI->getOperand(0).isImm() &&
16977         MI->getOperand(0).getImm() == 32 &&
16983     if (MI->getNumOperands() == 1 &&
16984         AArch64InstPrinterValidateMCOperand(MI->getOperand(0), STI, 8) &&
16990     if (MI->getNumOperands() == 1 &&
16991         AArch64InstPrinterValidateMCOperand(MI->getOperand(0), STI, 9) &&
16999     if (MI->getNumOperands() == 4 &&
17000         MI->getOperand(0).isReg() &&
17001         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17002         MI->getOperand(2).isImm() &&
17003         MI->getOperand(2).getImm() == 31 &&
17004         MI->getOperand(3).isImm() &&
17005         MI->getOperand(3).getImm() == 1 &&
17011     if (MI->getNumOperands() == 4 &&
17012         MI->getOperand(0).isReg() &&
17013         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17014         MI->getOperand(3).isImm() &&
17015         MI->getOperand(3).getImm() == 1 &&
17023     if (MI->getNumOperands() == 4 &&
17024         MI->getOperand(0).isReg() &&
17025         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17026         MI->getOperand(2).isImm() &&
17027         MI->getOperand(2).getImm() == 31 &&
17028         MI->getOperand(3).isImm() &&
17029         MI->getOperand(3).getImm() == 1 &&
17035     if (MI->getNumOperands() == 4 &&
17036         MI->getOperand(0).isReg() &&
17037         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17038         MI->getOperand(3).isImm() &&
17039         MI->getOperand(3).getImm() == 1 &&
17047     if (MI->getNumOperands() == 4 &&
17048         MI->getOperand(0).isReg() &&
17049         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17050         MI->getOperand(2).isImm() &&
17051         MI->getOperand(2).getImm() == 31 &&
17052         MI->getOperand(3).isImm() &&
17053         MI->getOperand(3).getImm() == 1 &&
17059     if (MI->getNumOperands() == 4 &&
17060         MI->getOperand(0).isReg() &&
17061         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17062         MI->getOperand(3).isImm() &&
17063         MI->getOperand(3).getImm() == 1 &&
17071     if (MI->getNumOperands() == 4 &&
17072         MI->getOperand(0).isReg() &&
17073         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17074         MI->getOperand(2).isImm() &&
17075         MI->getOperand(2).getImm() == 31 &&
17076         MI->getOperand(3).isImm() &&
17077         MI->getOperand(3).getImm() == 1 &&
17083     if (MI->getNumOperands() == 4 &&
17084         MI->getOperand(0).isReg() &&
17085         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17086         MI->getOperand(3).isImm() &&
17087         MI->getOperand(3).getImm() == 1 &&
17095     if (MI->getNumOperands() == 4 &&
17096         MI->getOperand(0).isReg() &&
17097         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17098         MI->getOperand(2).isImm() &&
17099         MI->getOperand(2).getImm() == 31 &&
17100         MI->getOperand(3).isImm() &&
17101         MI->getOperand(3).getImm() == 1 &&
17107     if (MI->getNumOperands() == 4 &&
17108         MI->getOperand(0).isReg() &&
17109         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17110         MI->getOperand(3).isImm() &&
17111         MI->getOperand(3).getImm() == 1 &&
17119     if (MI->getNumOperands() == 4 &&
17120         MI->getOperand(0).isReg() &&
17121         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17122         MI->getOperand(2).isImm() &&
17123         MI->getOperand(2).getImm() == 31 &&
17124         MI->getOperand(3).isImm() &&
17125         MI->getOperand(3).getImm() == 1 &&
17131     if (MI->getNumOperands() == 4 &&
17132         MI->getOperand(0).isReg() &&
17133         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17134         MI->getOperand(3).isImm() &&
17135         MI->getOperand(3).getImm() == 1 &&
17143     if (MI->getNumOperands() == 4 &&
17144         MI->getOperand(0).isReg() &&
17145         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17146         MI->getOperand(2).isImm() &&
17147         MI->getOperand(2).getImm() == 31 &&
17148         MI->getOperand(3).isImm() &&
17149         MI->getOperand(3).getImm() == 1 &&
17155     if (MI->getNumOperands() == 4 &&
17156         MI->getOperand(0).isReg() &&
17157         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17158         MI->getOperand(3).isImm() &&
17159         MI->getOperand(3).getImm() == 1 &&
17167     if (MI->getNumOperands() == 4 &&
17168         MI->getOperand(0).isReg() &&
17169         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17170         MI->getOperand(3).isReg() &&
17171         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(3).getReg()) &&
17179     if (MI->getNumOperands() == 5 &&
17180         MI->getOperand(0).isReg() &&
17181         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17182         MI->getOperand(3).isReg() &&
17183         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) &&
17191     if (MI->getNumOperands() == 4 &&
17192         MI->getOperand(0).isReg() &&
17193         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17194         MI->getOperand(3).isReg() &&
17195         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(3).getReg()) &&
17203     if (MI->getNumOperands() == 5 &&
17204         MI->getOperand(0).isReg() &&
17205         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17206         MI->getOperand(3).isReg() &&
17207         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) &&
17215     if (MI->getNumOperands() == 4 &&
17216         MI->getOperand(0).isReg() &&
17217         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17218         MI->getOperand(3).isReg() &&
17219         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(3).getReg()) &&
17227     if (MI->getNumOperands() == 5 &&
17228         MI->getOperand(0).isReg() &&
17229         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17230         MI->getOperand(3).isReg() &&
17231         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) &&
17239     if (MI->getNumOperands() == 4 &&
17240         MI->getOperand(0).isReg() &&
17241         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17242         MI->getOperand(3).isReg() &&
17243         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(3).getReg()) &&
17251     if (MI->getNumOperands() == 5 &&
17252         MI->getOperand(0).isReg() &&
17253         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17254         MI->getOperand(3).isReg() &&
17255         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) &&
17263     if (MI->getNumOperands() == 3 &&
17264         MI->getOperand(0).isReg() &&
17265         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17266         MI->getOperand(1).isReg() &&
17267         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
17268         MI->getOperand(2).getReg() == AArch64::XZR &&
17276     if (MI->getNumOperands() == 1 &&
17277         MI->getOperand(0).isImm() &&
17278         MI->getOperand(0).getImm() == 15) {
17285     if (MI->getNumOperands() == 4 &&
17286         MI->getOperand(0).isReg() &&
17287         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17288         MI->getOperand(1).isReg() &&
17289         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17290         MI->getOperand(2).isReg() &&
17291         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17292         MI->getOperand(3).isImm() &&
17293         MI->getOperand(3).getImm() == 0 &&
17301     if (MI->getNumOperands() == 4 &&
17302         MI->getOperand(0).isReg() &&
17303         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17304         MI->getOperand(1).isReg() &&
17305         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17306         MI->getOperand(2).isReg() &&
17307         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17308         MI->getOperand(3).isImm() &&
17309         MI->getOperand(3).getImm() == 0 &&
17317     if (MI->getNumOperands() == 4 &&
17318         MI->getOperand(0).isReg() &&
17319         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17320         MI->getOperand(1).isReg() &&
17321         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17322         MI->getOperand(2).isReg() &&
17323         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17324         MI->getOperand(3).isImm() &&
17325         MI->getOperand(3).getImm() == 0 &&
17333     if (MI->getNumOperands() == 4 &&
17334         MI->getOperand(0).isReg() &&
17335         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17336         MI->getOperand(1).isReg() &&
17337         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17338         MI->getOperand(2).isReg() &&
17339         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17340         MI->getOperand(3).isImm() &&
17341         MI->getOperand(3).getImm() == 0 &&
17349     if (MI->getNumOperands() == 4 &&
17350         MI->getOperand(0).isReg() &&
17351         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17352         MI->getOperand(1).isReg() &&
17353         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17354         MI->getOperand(2).isReg() &&
17355         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17356         MI->getOperand(3).isImm() &&
17357         MI->getOperand(3).getImm() == 0 &&
17365     if (MI->getNumOperands() == 4 &&
17366         MI->getOperand(0).isReg() &&
17367         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17368         MI->getOperand(1).isReg() &&
17369         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17370         MI->getOperand(3).getReg() == AArch64::XZR &&
17378     if (MI->getNumOperands() == 4 &&
17379         MI->getOperand(0).isReg() &&
17380         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17381         MI->getOperand(1).isReg() &&
17382         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
17383         MI->getOperand(3).getReg() == AArch64::XZR &&
17391     if (MI->getNumOperands() == 4 &&
17392         MI->getOperand(0).isReg() &&
17393         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17394         MI->getOperand(1).isReg() &&
17395         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17396         MI->getOperand(3).getReg() == AArch64::XZR &&
17404     if (MI->getNumOperands() == 4 &&
17405         MI->getOperand(0).isReg() &&
17406         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17407         MI->getOperand(1).isReg() &&
17408         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
17409         MI->getOperand(3).getReg() == AArch64::XZR &&
17417     if (MI->getNumOperands() == 4 &&
17418         MI->getOperand(0).isReg() &&
17419         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17420         MI->getOperand(1).isReg() &&
17421         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
17422         MI->getOperand(3).getReg() == AArch64::XZR &&
17430     if (MI->getNumOperands() == 4 &&
17431         MI->getOperand(0).isReg() &&
17432         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17433         MI->getOperand(1).isReg() &&
17434         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17435         MI->getOperand(3).getReg() == AArch64::XZR &&
17443     if (MI->getNumOperands() == 4 &&
17444         MI->getOperand(0).isReg() &&
17445         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17446         MI->getOperand(1).isReg() &&
17447         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
17448         MI->getOperand(3).getReg() == AArch64::XZR &&
17456     if (MI->getNumOperands() == 4 &&
17457         MI->getOperand(0).isReg() &&
17458         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17459         MI->getOperand(1).isReg() &&
17460         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
17461         MI->getOperand(3).getReg() == AArch64::XZR &&
17469     if (MI->getNumOperands() == 4 &&
17470         MI->getOperand(0).isReg() &&
17471         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17472         MI->getOperand(1).isReg() &&
17473         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17474         MI->getOperand(2).isReg() &&
17475         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17476         MI->getOperand(3).isImm() &&
17477         MI->getOperand(3).getImm() == 0 &&
17485     if (MI->getNumOperands() == 4 &&
17486         MI->getOperand(0).isReg() &&
17487         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17488         MI->getOperand(1).isReg() &&
17489         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17490         MI->getOperand(2).isReg() &&
17491         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17492         MI->getOperand(3).isImm() &&
17493         MI->getOperand(3).getImm() == 0 &&
17501     if (MI->getNumOperands() == 4 &&
17502         MI->getOperand(0).isReg() &&
17503         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17504         MI->getOperand(1).isReg() &&
17505         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17506         MI->getOperand(2).isReg() &&
17507         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17508         MI->getOperand(3).isImm() &&
17509         MI->getOperand(3).getImm() == 0 &&
17517     if (MI->getNumOperands() == 4 &&
17518         MI->getOperand(0).isReg() &&
17519         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17520         MI->getOperand(1).isReg() &&
17521         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
17522         MI->getOperand(3).getReg() == AArch64::XZR &&
17530     if (MI->getNumOperands() == 4 &&
17531         MI->getOperand(0).isReg() &&
17532         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17533         MI->getOperand(1).isReg() &&
17534         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17535         MI->getOperand(3).getReg() == AArch64::XZR &&
17543     if (MI->getNumOperands() == 4 &&
17544         MI->getOperand(0).isReg() &&
17545         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17546         MI->getOperand(1).isReg() &&
17547         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
17548         MI->getOperand(3).getReg() == AArch64::XZR &&
17556     if (MI->getNumOperands() == 4 &&
17557         MI->getOperand(0).isReg() &&
17558         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17559         MI->getOperand(1).isReg() &&
17560         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17561         MI->getOperand(3).getReg() == AArch64::XZR &&
17569     if (MI->getNumOperands() == 4 &&
17570         MI->getOperand(0).isReg() &&
17571         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17572         MI->getOperand(1).isReg() &&
17573         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17574         MI->getOperand(3).getReg() == AArch64::XZR &&
17582     if (MI->getNumOperands() == 4 &&
17583         MI->getOperand(0).isReg() &&
17584         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17585         MI->getOperand(1).isReg() &&
17586         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
17587         MI->getOperand(3).getReg() == AArch64::XZR &&
17595     if (MI->getNumOperands() == 4 &&
17596         MI->getOperand(0).isReg() &&
17597         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17598         MI->getOperand(1).isReg() &&
17599         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17600         MI->getOperand(3).getReg() == AArch64::XZR &&
17608     if (MI->getNumOperands() == 4 &&
17609         MI->getOperand(0).isReg() &&
17610         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17611         MI->getOperand(1).isReg() &&
17612         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
17613         MI->getOperand(3).getReg() == AArch64::XZR &&
17621     if (MI->getNumOperands() == 4 &&
17622         MI->getOperand(0).isReg() &&
17623         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17624         MI->getOperand(1).isReg() &&
17625         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17626         MI->getOperand(2).isReg() &&
17627         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17628         MI->getOperand(3).isImm() &&
17629         MI->getOperand(3).getImm() == 0 &&
17637     if (MI->getNumOperands() == 4 &&
17638         MI->getOperand(0).isReg() &&
17639         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17640         MI->getOperand(1).isReg() &&
17641         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17642         MI->getOperand(2).isReg() &&
17643         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17644         MI->getOperand(3).isImm() &&
17645         MI->getOperand(3).getImm() == 0 &&
17653     if (MI->getNumOperands() == 4 &&
17654         MI->getOperand(0).isReg() &&
17655         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17656         MI->getOperand(1).isReg() &&
17657         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17658         MI->getOperand(2).isReg() &&
17659         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17660         MI->getOperand(3).isImm() &&
17661         MI->getOperand(3).getImm() == 0 &&
17669     if (MI->getNumOperands() == 4 &&
17670         MI->getOperand(0).isReg() &&
17671         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17672         MI->getOperand(1).isReg() &&
17673         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17674         MI->getOperand(2).isReg() &&
17675         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17676         MI->getOperand(3).isImm() &&
17677         MI->getOperand(3).getImm() == 0 &&
17685     if (MI->getNumOperands() == 4 &&
17686         MI->getOperand(0).isReg() &&
17687         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17688         MI->getOperand(1).isReg() &&
17689         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17690         MI->getOperand(2).isReg() &&
17691         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17692         MI->getOperand(3).isImm() &&
17693         MI->getOperand(3).getImm() == 0 &&
17701     if (MI->getNumOperands() == 4 &&
17702         MI->getOperand(0).isReg() &&
17703         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17704         MI->getOperand(1).isReg() &&
17705         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17706         MI->getOperand(2).isReg() &&
17707         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17708         MI->getOperand(3).isImm() &&
17709         MI->getOperand(3).getImm() == 0 &&
17717     if (MI->getNumOperands() == 4 &&
17718         MI->getOperand(0).isReg() &&
17719         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17720         MI->getOperand(1).isReg() &&
17721         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17722         MI->getOperand(2).isReg() &&
17723         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17724         MI->getOperand(3).isImm() &&
17725         MI->getOperand(3).getImm() == 0 &&
17733     if (MI->getNumOperands() == 4 &&
17734         MI->getOperand(0).isReg() &&
17735         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17736         MI->getOperand(1).isReg() &&
17737         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17738         MI->getOperand(2).isReg() &&
17739         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17740         MI->getOperand(3).isImm() &&
17741         MI->getOperand(3).getImm() == 0 &&
17749     if (MI->getNumOperands() == 4 &&
17750         MI->getOperand(0).isReg() &&
17751         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17752         MI->getOperand(1).isReg() &&
17753         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17754         MI->getOperand(2).isReg() &&
17755         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17756         MI->getOperand(3).isImm() &&
17757         MI->getOperand(3).getImm() == 0 &&
17765     if (MI->getNumOperands() == 4 &&
17766         MI->getOperand(0).isReg() &&
17767         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17768         MI->getOperand(1).isReg() &&
17769         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17770         MI->getOperand(2).isReg() &&
17771         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17772         MI->getOperand(3).isImm() &&
17773         MI->getOperand(3).getImm() == 0 &&
17781     if (MI->getNumOperands() == 4 &&
17782         MI->getOperand(0).isReg() &&
17783         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17784         MI->getOperand(1).isReg() &&
17785         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17786         MI->getOperand(2).isReg() &&
17787         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17788         MI->getOperand(3).isImm() &&
17789         MI->getOperand(3).getImm() == 0 &&
17797     if (MI->getNumOperands() == 4 &&
17798         MI->getOperand(0).isReg() &&
17799         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17800         MI->getOperand(1).isReg() &&
17801         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17802         MI->getOperand(2).isReg() &&
17803         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17804         MI->getOperand(3).isImm() &&
17805         MI->getOperand(3).getImm() == 0 &&
17813     if (MI->getNumOperands() == 4 &&
17814         MI->getOperand(0).isReg() &&
17815         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17816         MI->getOperand(1).isReg() &&
17817         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17818         MI->getOperand(2).isReg() &&
17819         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17820         MI->getOperand(3).isImm() &&
17821         MI->getOperand(3).getImm() == 0 &&
17829     if (MI->getNumOperands() == 4 &&
17830         MI->getOperand(0).isReg() &&
17831         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17832         MI->getOperand(1).isReg() &&
17833         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17834         MI->getOperand(2).isReg() &&
17835         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17836         MI->getOperand(3).isImm() &&
17837         MI->getOperand(3).getImm() == 0 &&
17845     if (MI->getNumOperands() == 4 &&
17846         MI->getOperand(0).isReg() &&
17847         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17848         MI->getOperand(1).isReg() &&
17849         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17850         MI->getOperand(2).isReg() &&
17851         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17852         MI->getOperand(3).isImm() &&
17853         MI->getOperand(3).getImm() == 0 &&
17861     if (MI->getNumOperands() == 4 &&
17862         MI->getOperand(0).isReg() &&
17863         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17864         MI->getOperand(1).isReg() &&
17865         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17866         MI->getOperand(2).isReg() &&
17867         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17868         MI->getOperand(3).isImm() &&
17869         MI->getOperand(3).getImm() == 0 &&
17877     if (MI->getNumOperands() == 4 &&
17878         MI->getOperand(0).isReg() &&
17879         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17880         MI->getOperand(1).isReg() &&
17881         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17882         MI->getOperand(2).isReg() &&
17883         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17884         MI->getOperand(3).isImm() &&
17885         MI->getOperand(3).getImm() == 0 &&
17893     if (MI->getNumOperands() == 4 &&
17894         MI->getOperand(0).isReg() &&
17895         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17896         MI->getOperand(1).isReg() &&
17897         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17898         MI->getOperand(2).isReg() &&
17899         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17900         MI->getOperand(3).isImm() &&
17901         MI->getOperand(3).getImm() == 0 &&
17909     if (MI->getNumOperands() == 4 &&
17910         MI->getOperand(0).isReg() &&
17911         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17912         MI->getOperand(1).isReg() &&
17913         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17914         MI->getOperand(2).isReg() &&
17915         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17916         MI->getOperand(3).isImm() &&
17917         MI->getOperand(3).getImm() == 0 &&
17925     if (MI->getNumOperands() == 4 &&
17926         MI->getOperand(0).isReg() &&
17927         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17928         MI->getOperand(1).isReg() &&
17929         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17930         MI->getOperand(2).isReg() &&
17931         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
17932         MI->getOperand(3).isImm() &&
17933         MI->getOperand(3).getImm() == 0 &&
17941     if (MI->getNumOperands() == 4 &&
17942         MI->getOperand(0).isReg() &&
17943         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17944         MI->getOperand(1).isReg() &&
17945         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
17946         MI->getOperand(3).getReg() == AArch64::XZR &&
17954     if (MI->getNumOperands() == 4 &&
17955         MI->getOperand(0).isReg() &&
17956         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17957         MI->getOperand(1).isReg() &&
17958         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17959         MI->getOperand(3).getReg() == AArch64::XZR &&
17967     if (MI->getNumOperands() == 4 &&
17968         MI->getOperand(0).isReg() &&
17969         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17970         MI->getOperand(1).isReg() &&
17971         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
17972         MI->getOperand(3).getReg() == AArch64::XZR &&
17980     if (MI->getNumOperands() == 4 &&
17981         MI->getOperand(0).isReg() &&
17982         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17983         MI->getOperand(1).isReg() &&
17984         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17985         MI->getOperand(3).getReg() == AArch64::XZR &&
17993     if (MI->getNumOperands() == 4 &&
17994         MI->getOperand(0).isReg() &&
17995         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17996         MI->getOperand(1).isReg() &&
17997         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17998         MI->getOperand(3).getReg() == AArch64::XZR &&
18006     if (MI->getNumOperands() == 4 &&
18007         MI->getOperand(0).isReg() &&
18008         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18009         MI->getOperand(1).isReg() &&
18010         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18011         MI->getOperand(3).getReg() == AArch64::XZR &&
18019     if (MI->getNumOperands() == 4 &&
18020         MI->getOperand(0).isReg() &&
18021         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18022         MI->getOperand(1).isReg() &&
18023         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
18024         MI->getOperand(3).getReg() == AArch64::XZR &&
18032     if (MI->getNumOperands() == 4 &&
18033         MI->getOperand(0).isReg() &&
18034         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18035         MI->getOperand(1).isReg() &&
18036         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18037         MI->getOperand(3).getReg() == AArch64::XZR &&
18045     if (MI->getNumOperands() == 4 &&
18046         MI->getOperand(0).isReg() &&
18047         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18048         MI->getOperand(1).isReg() &&
18049         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18050         MI->getOperand(2).isReg() &&
18051         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18052         MI->getOperand(3).isImm() &&
18053         MI->getOperand(3).getImm() == 0 &&
18061     if (MI->getNumOperands() == 4 &&
18062         MI->getOperand(0).isReg() &&
18063         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18064         MI->getOperand(1).isReg() &&
18065         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18066         MI->getOperand(2).isReg() &&
18067         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18068         MI->getOperand(3).isImm() &&
18069         MI->getOperand(3).getImm() == 0 &&
18077     if (MI->getNumOperands() == 4 &&
18078         MI->getOperand(0).isReg() &&
18079         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18080         MI->getOperand(1).isReg() &&
18081         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18082         MI->getOperand(2).isReg() &&
18083         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18084         MI->getOperand(3).isImm() &&
18085         MI->getOperand(3).getImm() == 0 &&
18093     if (MI->getNumOperands() == 4 &&
18094         MI->getOperand(0).isReg() &&
18095         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18096         MI->getOperand(1).isReg() &&
18097         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18098         MI->getOperand(2).isReg() &&
18099         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18100         MI->getOperand(3).isImm() &&
18101         MI->getOperand(3).getImm() == 0 &&
18109     if (MI->getNumOperands() == 4 &&
18110         MI->getOperand(0).isReg() &&
18111         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18112         MI->getOperand(1).isReg() &&
18113         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18114         MI->getOperand(2).isReg() &&
18115         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18116         MI->getOperand(3).isImm() &&
18117         MI->getOperand(3).getImm() == 0 &&
18125     if (MI->getNumOperands() == 4 &&
18126         MI->getOperand(0).isReg() &&
18127         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18128         MI->getOperand(1).isReg() &&
18129         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18130         MI->getOperand(2).isReg() &&
18131         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18132         MI->getOperand(3).isImm() &&
18133         MI->getOperand(3).getImm() == 0 &&
18141     if (MI->getNumOperands() == 4 &&
18142         MI->getOperand(0).isReg() &&
18143         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18144         MI->getOperand(1).isReg() &&
18145         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18146         MI->getOperand(3).getReg() == AArch64::XZR &&
18154     if (MI->getNumOperands() == 4 &&
18155         MI->getOperand(0).isReg() &&
18156         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18157         MI->getOperand(1).isReg() &&
18158         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
18159         MI->getOperand(3).getReg() == AArch64::XZR &&
18167     if (MI->getNumOperands() == 4 &&
18168         MI->getOperand(0).isReg() &&
18169         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18170         MI->getOperand(1).isReg() &&
18171         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18172         MI->getOperand(3).getReg() == AArch64::XZR &&
18180     if (MI->getNumOperands() == 4 &&
18181         MI->getOperand(0).isReg() &&
18182         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18183         MI->getOperand(1).isReg() &&
18184         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
18185         MI->getOperand(3).getReg() == AArch64::XZR &&
18193     if (MI->getNumOperands() == 4 &&
18194         MI->getOperand(0).isReg() &&
18195         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18196         MI->getOperand(1).isReg() &&
18197         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
18198         MI->getOperand(3).getReg() == AArch64::XZR &&
18206     if (MI->getNumOperands() == 4 &&
18207         MI->getOperand(0).isReg() &&
18208         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18209         MI->getOperand(1).isReg() &&
18210         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18211         MI->getOperand(3).getReg() == AArch64::XZR &&
18219     if (MI->getNumOperands() == 4 &&
18220         MI->getOperand(0).isReg() &&
18221         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18222         MI->getOperand(1).isReg() &&
18223         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
18224         MI->getOperand(3).getReg() == AArch64::XZR &&
18232     if (MI->getNumOperands() == 4 &&
18233         MI->getOperand(0).isReg() &&
18234         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18235         MI->getOperand(1).isReg() &&
18236         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18237         MI->getOperand(3).getReg() == AArch64::XZR &&
18245     if (MI->getNumOperands() == 4 &&
18246         MI->getOperand(0).isReg() &&
18247         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18248         MI->getOperand(1).isReg() &&
18249         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18250         MI->getOperand(3).getReg() == AArch64::XZR &&
18258     if (MI->getNumOperands() == 4 &&
18259         MI->getOperand(0).isReg() &&
18260         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18261         MI->getOperand(1).isReg() &&
18262         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
18263         MI->getOperand(3).getReg() == AArch64::XZR &&
18271     if (MI->getNumOperands() == 4 &&
18272         MI->getOperand(0).isReg() &&
18273         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18274         MI->getOperand(1).isReg() &&
18275         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18276         MI->getOperand(3).getReg() == AArch64::XZR &&
18284     if (MI->getNumOperands() == 4 &&
18285         MI->getOperand(0).isReg() &&
18286         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18287         MI->getOperand(1).isReg() &&
18288         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
18289         MI->getOperand(3).getReg() == AArch64::XZR &&
18297     if (MI->getNumOperands() == 4 &&
18298         MI->getOperand(0).isReg() &&
18299         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18300         MI->getOperand(1).isReg() &&
18301         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
18302         MI->getOperand(3).getReg() == AArch64::XZR &&
18310     if (MI->getNumOperands() == 4 &&
18311         MI->getOperand(0).isReg() &&
18312         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18313         MI->getOperand(1).isReg() &&
18314         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18315         MI->getOperand(3).getReg() == AArch64::XZR &&
18323     if (MI->getNumOperands() == 4 &&
18324         MI->getOperand(0).isReg() &&
18325         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18326         MI->getOperand(1).isReg() &&
18327         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
18328         MI->getOperand(3).getReg() == AArch64::XZR &&
18336     if (MI->getNumOperands() == 4 &&
18337         MI->getOperand(0).isReg() &&
18338         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18339         MI->getOperand(1).isReg() &&
18340         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18341         MI->getOperand(3).getReg() == AArch64::XZR &&
18349     if (MI->getNumOperands() == 4 &&
18350         MI->getOperand(0).isReg() &&
18351         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18352         MI->getOperand(1).isReg() &&
18353         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18354         MI->getOperand(2).isReg() &&
18355         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18356         MI->getOperand(3).isImm() &&
18357         MI->getOperand(3).getImm() == 0 &&
18365     if (MI->getNumOperands() == 4 &&
18366         MI->getOperand(0).isReg() &&
18367         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18368         MI->getOperand(1).isReg() &&
18369         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18370         MI->getOperand(2).isReg() &&
18371         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18372         MI->getOperand(3).isImm() &&
18373         MI->getOperand(3).getImm() == 0 &&
18381     if (MI->getNumOperands() == 6 &&
18382         MI->getOperand(0).isReg() &&
18383         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18384         MI->getOperand(1).isReg() &&
18385         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18386         MI->getOperand(5).getReg() == AArch64::XZR &&
18394     if (MI->getNumOperands() == 6 &&
18395         MI->getOperand(0).isReg() &&
18396         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18397         MI->getOperand(1).isReg() &&
18398         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18399         MI->getOperand(5).getReg() == AArch64::XZR &&
18407     if (MI->getNumOperands() == 6 &&
18408         MI->getOperand(0).isReg() &&
18409         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18410         MI->getOperand(1).isReg() &&
18411         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18412         MI->getOperand(5).getReg() == AArch64::XZR &&
18420     if (MI->getNumOperands() == 6 &&
18421         MI->getOperand(0).isReg() &&
18422         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18423         MI->getOperand(1).isReg() &&
18424         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18425         MI->getOperand(5).getReg() == AArch64::XZR &&
18433     if (MI->getNumOperands() == 4 &&
18434         MI->getOperand(0).isReg() &&
18435         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
18436         MI->getOperand(1).isReg() &&
18437         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18438         MI->getOperand(2).isReg() &&
18439         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18440         MI->getOperand(3).isImm() &&
18441         MI->getOperand(3).getImm() == 0 &&
18449     if (MI->getNumOperands() == 4 &&
18450         MI->getOperand(0).isReg() &&
18451         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
18452         MI->getOperand(1).isReg() &&
18453         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18454         MI->getOperand(2).isReg() &&
18455         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18456         MI->getOperand(3).isImm() &&
18457         MI->getOperand(3).getImm() == 0 &&
18465     if (MI->getNumOperands() == 4 &&
18466         MI->getOperand(0).isReg() &&
18467         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
18468         MI->getOperand(1).isReg() &&
18469         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18470         MI->getOperand(2).isReg() &&
18471         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18472         MI->getOperand(3).isImm() &&
18473         MI->getOperand(3).getImm() == 0 &&
18481     if (MI->getNumOperands() == 4 &&
18482         MI->getOperand(0).isReg() &&
18483         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18484         MI->getOperand(1).isReg() &&
18485         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18486         MI->getOperand(3).getReg() == AArch64::XZR &&
18494     if (MI->getNumOperands() == 4 &&
18495         MI->getOperand(0).isReg() &&
18496         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18497         MI->getOperand(1).isReg() &&
18498         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
18499         MI->getOperand(3).getReg() == AArch64::XZR &&
18507     if (MI->getNumOperands() == 4 &&
18508         MI->getOperand(0).isReg() &&
18509         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18510         MI->getOperand(1).isReg() &&
18511         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18512         MI->getOperand(3).getReg() == AArch64::XZR &&
18520     if (MI->getNumOperands() == 4 &&
18521         MI->getOperand(0).isReg() &&
18522         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18523         MI->getOperand(1).isReg() &&
18524         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
18525         MI->getOperand(3).getReg() == AArch64::XZR &&
18533     if (MI->getNumOperands() == 4 &&
18534         MI->getOperand(0).isReg() &&
18535         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18536         MI->getOperand(1).isReg() &&
18537         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
18538         MI->getOperand(3).getReg() == AArch64::XZR &&
18546     if (MI->getNumOperands() == 4 &&
18547         MI->getOperand(0).isReg() &&
18548         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18549         MI->getOperand(1).isReg() &&
18550         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18551         MI->getOperand(3).getReg() == AArch64::XZR &&
18559     if (MI->getNumOperands() == 4 &&
18560         MI->getOperand(0).isReg() &&
18561         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18562         MI->getOperand(1).isReg() &&
18563         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
18564         MI->getOperand(3).getReg() == AArch64::XZR &&
18572     if (MI->getNumOperands() == 4 &&
18573         MI->getOperand(0).isReg() &&
18574         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18575         MI->getOperand(1).isReg() &&
18576         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18577         MI->getOperand(3).getReg() == AArch64::XZR &&
18585     if (MI->getNumOperands() == 4 &&
18586         MI->getOperand(0).isReg() &&
18587         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18588         MI->getOperand(1).isReg() &&
18589         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18590         MI->getOperand(3).getReg() == AArch64::XZR &&
18598     if (MI->getNumOperands() == 4 &&
18599         MI->getOperand(0).isReg() &&
18600         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18601         MI->getOperand(1).isReg() &&
18602         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18603         MI->getOperand(3).getReg() == AArch64::XZR &&
18611     if (MI->getNumOperands() == 4 &&
18612         MI->getOperand(0).isReg() &&
18613         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18614         MI->getOperand(1).isReg() &&
18615         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
18616         MI->getOperand(3).getReg() == AArch64::XZR &&
18624     if (MI->getNumOperands() == 4 &&
18625         MI->getOperand(0).isReg() &&
18626         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18627         MI->getOperand(1).isReg() &&
18628         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
18629         MI->getOperand(3).getReg() == AArch64::XZR &&
18637     if (MI->getNumOperands() == 4 &&
18638         MI->getOperand(0).isReg() &&
18639         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18640         MI->getOperand(1).isReg() &&
18641         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18642         MI->getOperand(3).getReg() == AArch64::XZR &&
18650     if (MI->getNumOperands() == 4 &&
18651         MI->getOperand(0).isReg() &&
18652         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18653         MI->getOperand(1).isReg() &&
18654         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
18655         MI->getOperand(3).getReg() == AArch64::XZR &&
18663     if (MI->getNumOperands() == 4 &&
18664         MI->getOperand(0).isReg() &&
18665         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18666         MI->getOperand(1).isReg() &&
18667         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18668         MI->getOperand(3).getReg() == AArch64::XZR &&
18676     if (MI->getNumOperands() == 4 &&
18677         MI->getOperand(0).isReg() &&
18678         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
18679         MI->getOperand(1).isReg() &&
18680         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18681         MI->getOperand(2).isReg() &&
18682         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18683         MI->getOperand(3).isImm() &&
18684         MI->getOperand(3).getImm() == 0 &&
18692     if (MI->getNumOperands() == 6 &&
18693         MI->getOperand(0).isReg() &&
18694         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18695         MI->getOperand(1).isReg() &&
18696         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18697         MI->getOperand(5).getReg() == AArch64::XZR &&
18705     if (MI->getNumOperands() == 6 &&
18706         MI->getOperand(0).isReg() &&
18707         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18708         MI->getOperand(1).isReg() &&
18709         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18710         MI->getOperand(5).getReg() == AArch64::XZR &&
18718     if (MI->getNumOperands() == 6 &&
18719         MI->getOperand(0).isReg() &&
18720         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18721         MI->getOperand(1).isReg() &&
18722         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18723         MI->getOperand(5).getReg() == AArch64::XZR &&
18731     if (MI->getNumOperands() == 6 &&
18732         MI->getOperand(0).isReg() &&
18733         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18734         MI->getOperand(1).isReg() &&
18735         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18736         MI->getOperand(5).getReg() == AArch64::XZR &&
18744     if (MI->getNumOperands() == 4 &&
18745         MI->getOperand(0).isReg() &&
18746         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
18747         MI->getOperand(1).isReg() &&
18748         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18749         MI->getOperand(2).isReg() &&
18750         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18751         MI->getOperand(3).isImm() &&
18752         MI->getOperand(3).getImm() == 0 &&
18760     if (MI->getNumOperands() == 4 &&
18761         MI->getOperand(0).isReg() &&
18762         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
18763         MI->getOperand(1).isReg() &&
18764         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18765         MI->getOperand(2).isReg() &&
18766         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18767         MI->getOperand(3).isImm() &&
18768         MI->getOperand(3).getImm() == 0 &&
18776     if (MI->getNumOperands() == 4 &&
18777         MI->getOperand(0).isReg() &&
18778         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
18779         MI->getOperand(1).isReg() &&
18780         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18781         MI->getOperand(2).isReg() &&
18782         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18783         MI->getOperand(3).isImm() &&
18784         MI->getOperand(3).getImm() == 0 &&
18792     if (MI->getNumOperands() == 4 &&
18793         MI->getOperand(0).isReg() &&
18794         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18795         MI->getOperand(1).isReg() &&
18796         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18797         MI->getOperand(3).getReg() == AArch64::XZR &&
18805     if (MI->getNumOperands() == 4 &&
18806         MI->getOperand(0).isReg() &&
18807         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18808         MI->getOperand(1).isReg() &&
18809         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
18810         MI->getOperand(3).getReg() == AArch64::XZR &&
18818     if (MI->getNumOperands() == 4 &&
18819         MI->getOperand(0).isReg() &&
18820         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18821         MI->getOperand(1).isReg() &&
18822         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18823         MI->getOperand(3).getReg() == AArch64::XZR &&
18831     if (MI->getNumOperands() == 4 &&
18832         MI->getOperand(0).isReg() &&
18833         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18834         MI->getOperand(1).isReg() &&
18835         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
18836         MI->getOperand(3).getReg() == AArch64::XZR &&
18844     if (MI->getNumOperands() == 4 &&
18845         MI->getOperand(0).isReg() &&
18846         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18847         MI->getOperand(1).isReg() &&
18848         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
18849         MI->getOperand(3).getReg() == AArch64::XZR &&
18857     if (MI->getNumOperands() == 4 &&
18858         MI->getOperand(0).isReg() &&
18859         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18860         MI->getOperand(1).isReg() &&
18861         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18862         MI->getOperand(3).getReg() == AArch64::XZR &&
18870     if (MI->getNumOperands() == 4 &&
18871         MI->getOperand(0).isReg() &&
18872         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18873         MI->getOperand(1).isReg() &&
18874         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
18875         MI->getOperand(3).getReg() == AArch64::XZR &&
18883     if (MI->getNumOperands() == 4 &&
18884         MI->getOperand(0).isReg() &&
18885         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18886         MI->getOperand(1).isReg() &&
18887         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18888         MI->getOperand(3).getReg() == AArch64::XZR &&
18896     if (MI->getNumOperands() == 4 &&
18897         MI->getOperand(0).isReg() &&
18898         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18899         MI->getOperand(1).isReg() &&
18900         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18901         MI->getOperand(3).getReg() == AArch64::XZR &&
18909     if (MI->getNumOperands() == 4 &&
18910         MI->getOperand(0).isReg() &&
18911         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18912         MI->getOperand(1).isReg() &&
18913         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18914         MI->getOperand(3).getReg() == AArch64::XZR &&
18922     if (MI->getNumOperands() == 4 &&
18923         MI->getOperand(0).isReg() &&
18924         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18925         MI->getOperand(1).isReg() &&
18926         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
18927         MI->getOperand(3).getReg() == AArch64::XZR &&
18935     if (MI->getNumOperands() == 4 &&
18936         MI->getOperand(0).isReg() &&
18937         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18938         MI->getOperand(1).isReg() &&
18939         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
18940         MI->getOperand(3).getReg() == AArch64::XZR &&
18948     if (MI->getNumOperands() == 4 &&
18949         MI->getOperand(0).isReg() &&
18950         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18951         MI->getOperand(1).isReg() &&
18952         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18953         MI->getOperand(3).getReg() == AArch64::XZR &&
18961     if (MI->getNumOperands() == 4 &&
18962         MI->getOperand(0).isReg() &&
18963         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18964         MI->getOperand(1).isReg() &&
18965         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
18966         MI->getOperand(3).getReg() == AArch64::XZR &&
18974     if (MI->getNumOperands() == 4 &&
18975         MI->getOperand(0).isReg() &&
18976         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18977         MI->getOperand(1).isReg() &&
18978         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18979         MI->getOperand(3).getReg() == AArch64::XZR &&
18987     if (MI->getNumOperands() == 4 &&
18988         MI->getOperand(0).isReg() &&
18989         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
18990         MI->getOperand(1).isReg() &&
18991         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18992         MI->getOperand(2).isReg() &&
18993         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18994         MI->getOperand(3).isImm() &&
18995         MI->getOperand(3).getImm() == 0 &&
19003     if (MI->getNumOperands() == 6 &&
19004         MI->getOperand(0).isReg() &&
19005         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19006         MI->getOperand(1).isReg() &&
19007         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19008         MI->getOperand(5).getReg() == AArch64::XZR &&
19016     if (MI->getNumOperands() == 6 &&
19017         MI->getOperand(0).isReg() &&
19018         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19019         MI->getOperand(1).isReg() &&
19020         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19021         MI->getOperand(5).getReg() == AArch64::XZR &&
19029     if (MI->getNumOperands() == 6 &&
19030         MI->getOperand(0).isReg() &&
19031         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19032         MI->getOperand(1).isReg() &&
19033         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19034         MI->getOperand(5).getReg() == AArch64::XZR &&
19042     if (MI->getNumOperands() == 6 &&
19043         MI->getOperand(0).isReg() &&
19044         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19045         MI->getOperand(1).isReg() &&
19046         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19047         MI->getOperand(5).getReg() == AArch64::XZR &&
19055     if (MI->getNumOperands() == 4 &&
19056         MI->getOperand(0).isReg() &&
19057         MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
19058         MI->getOperand(1).isReg() &&
19059         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19060         MI->getOperand(2).isReg() &&
19061         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19062         MI->getOperand(3).isImm() &&
19063         MI->getOperand(3).getImm() == 0 &&
19071     if (MI->getNumOperands() == 4 &&
19072         MI->getOperand(0).isReg() &&
19073         MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
19074         MI->getOperand(1).isReg() &&
19075         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19076         MI->getOperand(2).isReg() &&
19077         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19078         MI->getOperand(3).isImm() &&
19079         MI->getOperand(3).getImm() == 0 &&
19087     if (MI->getNumOperands() == 4 &&
19088         MI->getOperand(0).isReg() &&
19089         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19090         MI->getOperand(1).isReg() &&
19091         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19092         MI->getOperand(3).getReg() == AArch64::XZR &&
19100     if (MI->getNumOperands() == 4 &&
19101         MI->getOperand(0).isReg() &&
19102         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19103         MI->getOperand(1).isReg() &&
19104         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19105         MI->getOperand(3).getReg() == AArch64::XZR &&
19113     if (MI->getNumOperands() == 4 &&
19114         MI->getOperand(0).isReg() &&
19115         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19116         MI->getOperand(1).isReg() &&
19117         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19118         MI->getOperand(3).getReg() == AArch64::XZR &&
19126     if (MI->getNumOperands() == 4 &&
19127         MI->getOperand(0).isReg() &&
19128         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19129         MI->getOperand(1).isReg() &&
19130         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19131         MI->getOperand(3).getReg() == AArch64::XZR &&
19139     if (MI->getNumOperands() == 4 &&
19140         MI->getOperand(0).isReg() &&
19141         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19142         MI->getOperand(1).isReg() &&
19143         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19144         MI->getOperand(3).getReg() == AArch64::XZR &&
19152     if (MI->getNumOperands() == 4 &&
19153         MI->getOperand(0).isReg() &&
19154         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19155         MI->getOperand(1).isReg() &&
19156         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19157         MI->getOperand(3).getReg() == AArch64::XZR &&
19165     if (MI->getNumOperands() == 4 &&
19166         MI->getOperand(0).isReg() &&
19167         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19168         MI->getOperand(1).isReg() &&
19169         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19170         MI->getOperand(3).getReg() == AArch64::XZR &&
19178     if (MI->getNumOperands() == 4 &&
19179         MI->getOperand(0).isReg() &&
19180         MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
19181         MI->getOperand(1).isReg() &&
19182         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19183         MI->getOperand(2).isReg() &&
19184         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19185         MI->getOperand(3).isImm() &&
19186         MI->getOperand(3).getImm() == 0 &&
19194     if (MI->getNumOperands() == 4 &&
19195         MI->getOperand(0).isReg() &&
19196         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19197         MI->getOperand(1).isReg() &&
19198         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19199         MI->getOperand(3).getReg() == AArch64::XZR &&
19207     if (MI->getNumOperands() == 4 &&
19208         MI->getOperand(0).isReg() &&
19209         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19210         MI->getOperand(1).isReg() &&
19211         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19212         MI->getOperand(3).getReg() == AArch64::XZR &&
19220     if (MI->getNumOperands() == 4 &&
19221         MI->getOperand(0).isReg() &&
19222         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19223         MI->getOperand(1).isReg() &&
19224         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19225         MI->getOperand(3).getReg() == AArch64::XZR &&
19233     if (MI->getNumOperands() == 4 &&
19234         MI->getOperand(0).isReg() &&
19235         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19236         MI->getOperand(1).isReg() &&
19237         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19238         MI->getOperand(3).getReg() == AArch64::XZR &&
19246     if (MI->getNumOperands() == 4 &&
19247         MI->getOperand(0).isReg() &&
19248         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19249         MI->getOperand(1).isReg() &&
19250         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19251         MI->getOperand(3).getReg() == AArch64::XZR &&
19259     if (MI->getNumOperands() == 4 &&
19260         MI->getOperand(0).isReg() &&
19261         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19262         MI->getOperand(1).isReg() &&
19263         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19264         MI->getOperand(3).getReg() == AArch64::XZR &&
19272     if (MI->getNumOperands() == 4 &&
19273         MI->getOperand(0).isReg() &&
19274         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19275         MI->getOperand(1).isReg() &&
19276         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19277         MI->getOperand(3).getReg() == AArch64::XZR &&
19285     if (MI->getNumOperands() == 4 &&
19286         MI->getOperand(0).isReg() &&
19287         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19288         MI->getOperand(1).isReg() &&
19289         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19290         MI->getOperand(3).getReg() == AArch64::XZR &&
19298     if (MI->getNumOperands() == 4 &&
19299         MI->getOperand(0).isReg() &&
19300         MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
19301         MI->getOperand(1).isReg() &&
19302         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19303         MI->getOperand(2).isReg() &&
19304         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19305         MI->getOperand(3).isImm() &&
19306         MI->getOperand(3).getImm() == 0 &&
19314     if (MI->getNumOperands() == 6 &&
19315         MI->getOperand(0).isReg() &&
19316         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19317         MI->getOperand(1).isReg() &&
19318         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19319         MI->getOperand(5).getReg() == AArch64::XZR &&
19327     if (MI->getNumOperands() == 6 &&
19328         MI->getOperand(0).isReg() &&
19329         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19330         MI->getOperand(1).isReg() &&
19331         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19332         MI->getOperand(5).getReg() == AArch64::XZR &&
19340     if (MI->getNumOperands() == 6 &&
19341         MI->getOperand(0).isReg() &&
19342         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19343         MI->getOperand(1).isReg() &&
19344         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19345         MI->getOperand(5).getReg() == AArch64::XZR &&
19353     if (MI->getNumOperands() == 6 &&
19354         MI->getOperand(0).isReg() &&
19355         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19356         MI->getOperand(1).isReg() &&
19357         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19358         MI->getOperand(5).getReg() == AArch64::XZR &&
19366     if (MI->getNumOperands() == 3 &&
19367         MI->getOperand(0).getReg() == AArch64::WZR &&
19368         MI->getOperand(1).isReg() &&
19369         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19370         MI->getOperand(2).isReg() &&
19371         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19379     if (MI->getNumOperands() == 3 &&
19380         MI->getOperand(0).getReg() == AArch64::WZR &&
19381         MI->getOperand(1).isReg() &&
19382         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19383         MI->getOperand(2).isReg() &&
19384         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19392     if (MI->getNumOperands() == 3 &&
19393         MI->getOperand(0).getReg() == AArch64::WZR &&
19394         MI->getOperand(1).isReg() &&
19395         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19396         MI->getOperand(2).isReg() &&
19397         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19405     if (MI->getNumOperands() == 3 &&
19406         MI->getOperand(0).getReg() == AArch64::WZR &&
19407         MI->getOperand(1).isReg() &&
19408         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19409         MI->getOperand(2).isReg() &&
19410         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19418     if (MI->getNumOperands() == 3 &&
19419         MI->getOperand(0).getReg() == AArch64::WZR &&
19420         MI->getOperand(1).isReg() &&
19421         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19422         MI->getOperand(2).isReg() &&
19423         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19431     if (MI->getNumOperands() == 3 &&
19432         MI->getOperand(0).getReg() == AArch64::XZR &&
19433         MI->getOperand(1).isReg() &&
19434         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19435         MI->getOperand(2).isReg() &&
19436         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19444     if (MI->getNumOperands() == 3 &&
19445         MI->getOperand(0).getReg() == AArch64::WZR &&
19446         MI->getOperand(1).isReg() &&
19447         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19448         MI->getOperand(2).isReg() &&
19449         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19457     if (MI->getNumOperands() == 3 &&
19458         MI->getOperand(0).getReg() == AArch64::XZR &&
19459         MI->getOperand(1).isReg() &&
19460         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19461         MI->getOperand(2).isReg() &&
19462         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19470     if (MI->getNumOperands() == 3 &&
19471         MI->getOperand(0).isReg() &&
19472         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19473         MI->getOperand(1).isReg() &&
19474         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19475         MI->getOperand(2).isImm() &&
19476         MI->getOperand(2).getImm() == 0 &&
19484     if (MI->getNumOperands() == 3 &&
19485         MI->getOperand(0).isReg() &&
19486         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19487         MI->getOperand(1).isReg() &&
19488         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19489         MI->getOperand(2).isImm() &&
19490         MI->getOperand(2).getImm() == 0 &&
19498     if (MI->getNumOperands() == 3 &&
19499         MI->getOperand(0).isReg() &&
19500         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19501         MI->getOperand(1).isReg() &&
19502         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19503         MI->getOperand(2).isImm() &&
19504         MI->getOperand(2).getImm() == 0 &&
19512     if (MI->getNumOperands() == 3 &&
19513         MI->getOperand(0).isReg() &&
19514         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19515         MI->getOperand(1).isReg() &&
19516         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19517         MI->getOperand(2).isImm() &&
19518         MI->getOperand(2).getImm() == 0 &&
19526     if (MI->getNumOperands() == 3 &&
19527         MI->getOperand(0).isReg() &&
19528         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19529         MI->getOperand(1).isReg() &&
19530         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19531         MI->getOperand(2).isImm() &&
19532         MI->getOperand(2).getImm() == 0 &&
19540     if (MI->getNumOperands() == 3 &&
19541         MI->getOperand(0).isReg() &&
19542         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19543         MI->getOperand(1).isReg() &&
19544         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19545         MI->getOperand(2).isImm() &&
19546         MI->getOperand(2).getImm() == 0 &&
19554     if (MI->getNumOperands() == 3 &&
19555         MI->getOperand(0).isReg() &&
19556         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19557         MI->getOperand(1).isReg() &&
19558         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19559         MI->getOperand(2).isImm() &&
19560         MI->getOperand(2).getImm() == 0 &&
19568     if (MI->getNumOperands() == 3 &&
19569         MI->getOperand(0).isReg() &&
19570         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
19571         MI->getOperand(1).isReg() &&
19572         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19573         MI->getOperand(2).isImm() &&
19574         MI->getOperand(2).getImm() == 0 &&
19582     if (MI->getNumOperands() == 3 &&
19583         MI->getOperand(0).isReg() &&
19584         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
19585         MI->getOperand(1).isReg() &&
19586         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
19587         MI->getOperand(2).isImm() &&
19588         MI->getOperand(2).getImm() == 0 &&
19596     if (MI->getNumOperands() == 3 &&
19597         MI->getOperand(0).getReg() == AArch64::WZR &&
19598         MI->getOperand(1).isReg() &&
19599         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19600         MI->getOperand(2).isReg() &&
19601         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19609     if (MI->getNumOperands() == 3 &&
19610         MI->getOperand(0).getReg() == AArch64::WZR &&
19611         MI->getOperand(1).isReg() &&
19612         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19613         MI->getOperand(2).isReg() &&
19614         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19622     if (MI->getNumOperands() == 3 &&
19623         MI->getOperand(0).getReg() == AArch64::WZR &&
19624         MI->getOperand(1).isReg() &&
19625         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19626         MI->getOperand(2).isReg() &&
19627         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19635     if (MI->getNumOperands() == 3 &&
19636         MI->getOperand(0).getReg() == AArch64::WZR &&
19637         MI->getOperand(1).isReg() &&
19638         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19639         MI->getOperand(2).isReg() &&
19640         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19648     if (MI->getNumOperands() == 3 &&
19649         MI->getOperand(0).getReg() == AArch64::WZR &&
19650         MI->getOperand(1).isReg() &&
19651         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19652         MI->getOperand(2).isReg() &&
19653         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19661     if (MI->getNumOperands() == 3 &&
19662         MI->getOperand(0).getReg() == AArch64::XZR &&
19663         MI->getOperand(1).isReg() &&
19664         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19665         MI->getOperand(2).isReg() &&
19666         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19674     if (MI->getNumOperands() == 3 &&
19675         MI->getOperand(0).getReg() == AArch64::WZR &&
19676         MI->getOperand(1).isReg() &&
19677         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19678         MI->getOperand(2).isReg() &&
19679         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19687     if (MI->getNumOperands() == 3 &&
19688         MI->getOperand(0).getReg() == AArch64::XZR &&
19689         MI->getOperand(1).isReg() &&
19690         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19691         MI->getOperand(2).isReg() &&
19692         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19700     if (MI->getNumOperands() == 3 &&
19701         MI->getOperand(0).getReg() == AArch64::WZR &&
19702         MI->getOperand(1).isReg() &&
19703         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19704         MI->getOperand(2).isReg() &&
19705         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19713     if (MI->getNumOperands() == 3 &&
19714         MI->getOperand(0).getReg() == AArch64::WZR &&
19715         MI->getOperand(1).isReg() &&
19716         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19717         MI->getOperand(2).isReg() &&
19718         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19726     if (MI->getNumOperands() == 3 &&
19727         MI->getOperand(0).getReg() == AArch64::WZR &&
19728         MI->getOperand(1).isReg() &&
19729         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19730         MI->getOperand(2).isReg() &&
19731         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19739     if (MI->getNumOperands() == 3 &&
19740         MI->getOperand(0).getReg() == AArch64::WZR &&
19741         MI->getOperand(1).isReg() &&
19742         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19743         MI->getOperand(2).isReg() &&
19744         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19752     if (MI->getNumOperands() == 3 &&
19753         MI->getOperand(0).getReg() == AArch64::WZR &&
19754         MI->getOperand(1).isReg() &&
19755         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19756         MI->getOperand(2).isReg() &&
19757         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19765     if (MI->getNumOperands() == 3 &&
19766         MI->getOperand(0).getReg() == AArch64::XZR &&
19767         MI->getOperand(1).isReg() &&
19768         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19769         MI->getOperand(2).isReg() &&
19770         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19778     if (MI->getNumOperands() == 3 &&
19779         MI->getOperand(0).getReg() == AArch64::WZR &&
19780         MI->getOperand(1).isReg() &&
19781         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
19782         MI->getOperand(2).isReg() &&
19783         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19791     if (MI->getNumOperands() == 3 &&
19792         MI->getOperand(0).getReg() == AArch64::XZR &&
19793         MI->getOperand(1).isReg() &&
19794         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
19795         MI->getOperand(2).isReg() &&
19796         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19804     if (MI->getNumOperands() == 4 &&
19805         MI->getOperand(0).isReg() &&
19806         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19807         MI->getOperand(1).isReg() &&
19808         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19809         MI->getOperand(2).isReg() &&
19810         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19811         MI->getOperand(3).getReg() == AArch64::XZR &&
19819     if (MI->getNumOperands() == 4 &&
19820         MI->getOperand(0).isReg() &&
19821         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19822         MI->getOperand(1).isReg() &&
19823         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19824         MI->getOperand(2).isReg() &&
19825         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19826         MI->getOperand(3).getReg() == AArch64::XZR &&
19834     if (MI->getNumOperands() == 4 &&
19835         MI->getOperand(0).isReg() &&
19836         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19837         MI->getOperand(1).isReg() &&
19838         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19839         MI->getOperand(2).isReg() &&
19840         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19841         MI->getOperand(3).getReg() == AArch64::XZR &&
19849     if (MI->getNumOperands() == 4 &&
19850         MI->getOperand(0).isReg() &&
19851         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19852         MI->getOperand(1).isReg() &&
19853         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19854         MI->getOperand(2).isReg() &&
19855         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19856         MI->getOperand(3).getReg() == AArch64::XZR &&
19864     if (MI->getNumOperands() == 4 &&
19865         MI->getOperand(0).isReg() &&
19866         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19867         MI->getOperand(1).isReg() &&
19868         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19869         MI->getOperand(2).isReg() &&
19870         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19871         MI->getOperand(3).getReg() == AArch64::XZR &&
19879     if (MI->getNumOperands() == 4 &&
19880         MI->getOperand(0).isReg() &&
19881         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19882         MI->getOperand(1).isReg() &&
19883         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19884         MI->getOperand(2).isReg() &&
19885         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19886         MI->getOperand(3).getReg() == AArch64::XZR &&
19894     if (MI->getNumOperands() == 4 &&
19895         MI->getOperand(0).isReg() &&
19896         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19897         MI->getOperand(1).isReg() &&
19898         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19899         MI->getOperand(2).isReg() &&
19900         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19901         MI->getOperand(3).getReg() == AArch64::XZR &&
19909     if (MI->getNumOperands() == 4 &&
19910         MI->getOperand(0).isReg() &&
19911         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19912         MI->getOperand(1).isReg() &&
19913         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19914         MI->getOperand(2).isReg() &&
19915         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19916         MI->getOperand(3).getReg() == AArch64::XZR &&
19924     if (MI->getNumOperands() == 4 &&
19925         MI->getOperand(0).isReg() &&
19926         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19927         MI->getOperand(1).isReg() &&
19928         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19929         MI->getOperand(2).isReg() &&
19930         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19931         MI->getOperand(3).getReg() == AArch64::XZR &&
19939     if (MI->getNumOperands() == 4 &&
19940         MI->getOperand(0).isReg() &&
19941         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19942         MI->getOperand(1).isReg() &&
19943         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19944         MI->getOperand(2).isReg() &&
19945         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19946         MI->getOperand(3).getReg() == AArch64::XZR &&
19954     if (MI->getNumOperands() == 4 &&
19955         MI->getOperand(0).isReg() &&
19956         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19957         MI->getOperand(1).isReg() &&
19958         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19959         MI->getOperand(2).isReg() &&
19960         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19961         MI->getOperand(3).getReg() == AArch64::XZR &&
19969     if (MI->getNumOperands() == 4 &&
19970         MI->getOperand(0).isReg() &&
19971         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19972         MI->getOperand(1).isReg() &&
19973         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19974         MI->getOperand(2).isReg() &&
19975         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19976         MI->getOperand(3).getReg() == AArch64::XZR &&
19984     if (MI->getNumOperands() == 4 &&
19985         MI->getOperand(0).isReg() &&
19986         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19987         MI->getOperand(1).isReg() &&
19988         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19989         MI->getOperand(2).isReg() &&
19990         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19991         MI->getOperand(3).getReg() == AArch64::XZR &&
19999     if (MI->getNumOperands() == 4 &&
20000         MI->getOperand(0).isReg() &&
20001         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20002         MI->getOperand(1).isReg() &&
20003         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20004         MI->getOperand(2).isReg() &&
20005         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20006         MI->getOperand(3).getReg() == AArch64::XZR &&
20014     if (MI->getNumOperands() == 4 &&
20015         MI->getOperand(0).isReg() &&
20016         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20017         MI->getOperand(1).isReg() &&
20018         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20019         MI->getOperand(2).isReg() &&
20020         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20021         MI->getOperand(3).getReg() == AArch64::XZR &&
20029     if (MI->getNumOperands() == 4 &&
20030         MI->getOperand(0).isReg() &&
20031         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20032         MI->getOperand(1).isReg() &&
20033         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20034         MI->getOperand(2).isReg() &&
20035         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20036         MI->getOperand(3).getReg() == AArch64::XZR &&
20044     if (MI->getNumOperands() == 4 &&
20045         MI->getOperand(0).isReg() &&
20046         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20047         MI->getOperand(2).isReg() &&
20048         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20049         MI->getOperand(3).isImm() &&
20050         MI->getOperand(3).getImm() == 0 &&
20058     if (MI->getNumOperands() == 4 &&
20059         MI->getOperand(0).isReg() &&
20060         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20061         MI->getOperand(1).isReg() &&
20062         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20063         MI->getOperand(2).isReg() &&
20064         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20065         MI->getOperand(3).isImm() &&
20066         MI->getOperand(3).getImm() == 0 &&
20074     if (MI->getNumOperands() == 4 &&
20075         MI->getOperand(0).isReg() &&
20076         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20077         MI->getOperand(1).isReg() &&
20078         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20079         MI->getOperand(2).isReg() &&
20080         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20081         MI->getOperand(3).isImm() &&
20082         MI->getOperand(3).getImm() == 0 &&
20090     if (MI->getNumOperands() == 4 &&
20091         MI->getOperand(0).isReg() &&
20092         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20093         MI->getOperand(1).isReg() &&
20094         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20095         MI->getOperand(2).isReg() &&
20096         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20097         MI->getOperand(3).isImm() &&
20098         MI->getOperand(3).getImm() == 0 &&
20106     if (MI->getNumOperands() == 4 &&
20107         MI->getOperand(0).isReg() &&
20108         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20109         MI->getOperand(1).isReg() &&
20110         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20111         MI->getOperand(2).isReg() &&
20112         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20113         MI->getOperand(3).isImm() &&
20114         MI->getOperand(3).getImm() == 0 &&
20122     if (MI->getNumOperands() == 4 &&
20123         MI->getOperand(0).isReg() &&
20124         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20125         MI->getOperand(1).isReg() &&
20126         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20127         MI->getOperand(2).isReg() &&
20128         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20129         MI->getOperand(3).isImm() &&
20130         MI->getOperand(3).getImm() == 0 &&
20138     if (MI->getNumOperands() == 4 &&
20139         MI->getOperand(0).isReg() &&
20140         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20141         MI->getOperand(1).isReg() &&
20142         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20143         MI->getOperand(2).isReg() &&
20144         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20145         MI->getOperand(3).isImm() &&
20146         MI->getOperand(3).getImm() == 0 &&
20154     if (MI->getNumOperands() == 4 &&
20155         MI->getOperand(0).isReg() &&
20156         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20157         MI->getOperand(1).isReg() &&
20158         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20159         MI->getOperand(2).isReg() &&
20160         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20161         MI->getOperand(3).isImm() &&
20162         MI->getOperand(3).getImm() == 0 &&
20170     if (MI->getNumOperands() == 4 &&
20171         MI->getOperand(0).isReg() &&
20172         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20173         MI->getOperand(1).isReg() &&
20174         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20175         MI->getOperand(2).isReg() &&
20176         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20177         MI->getOperand(3).isImm() &&
20178         MI->getOperand(3).getImm() == 0 &&
20186     if (MI->getNumOperands() == 4 &&
20187         MI->getOperand(0).isReg() &&
20188         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20189         MI->getOperand(1).isReg() &&
20190         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20191         MI->getOperand(2).isReg() &&
20192         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20193         MI->getOperand(3).isImm() &&
20194         MI->getOperand(3).getImm() == 0 &&
20202     if (MI->getNumOperands() == 4 &&
20203         MI->getOperand(0).isReg() &&
20204         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20205         MI->getOperand(1).isReg() &&
20206         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20207         MI->getOperand(2).isReg() &&
20208         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20209         MI->getOperand(3).isImm() &&
20210         MI->getOperand(3).getImm() == 0 &&
20218     if (MI->getNumOperands() == 4 &&
20219         MI->getOperand(0).isReg() &&
20220         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20221         MI->getOperand(1).isReg() &&
20222         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20223         MI->getOperand(2).isReg() &&
20224         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20225         MI->getOperand(3).isImm() &&
20226         MI->getOperand(3).getImm() == 0 &&
20234     if (MI->getNumOperands() == 4 &&
20235         MI->getOperand(0).isReg() &&
20236         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20237         MI->getOperand(1).isReg() &&
20238         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20239         MI->getOperand(2).isReg() &&
20240         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20241         MI->getOperand(3).isImm() &&
20242         MI->getOperand(3).getImm() == 0 &&
20250     if (MI->getNumOperands() == 4 &&
20251         MI->getOperand(0).isReg() &&
20252         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20253         MI->getOperand(1).isReg() &&
20254         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20255         MI->getOperand(2).isReg() &&
20256         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20257         MI->getOperand(3).isImm() &&
20258         MI->getOperand(3).getImm() == 0 &&
20266     if (MI->getNumOperands() == 4 &&
20267         MI->getOperand(0).isReg() &&
20268         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20269         MI->getOperand(1).isReg() &&
20270         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20271         MI->getOperand(2).isReg() &&
20272         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20273         MI->getOperand(3).isImm() &&
20274         MI->getOperand(3).getImm() == 0 &&
20282     if (MI->getNumOperands() == 4 &&
20283         MI->getOperand(0).isReg() &&
20284         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20285         MI->getOperand(1).isReg() &&
20286         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20287         MI->getOperand(2).isReg() &&
20288         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20289         MI->getOperand(3).isImm() &&
20290         MI->getOperand(3).getImm() == 0 &&
20298     if (MI->getNumOperands() == 4 &&
20299         MI->getOperand(0).isReg() &&
20300         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20301         MI->getOperand(1).isReg() &&
20302         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20303         MI->getOperand(2).isReg() &&
20304         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20305         MI->getOperand(3).isImm() &&
20306         MI->getOperand(3).getImm() == 0 &&
20314     if (MI->getNumOperands() == 4 &&
20315         MI->getOperand(0).isReg() &&
20316         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20317         MI->getOperand(1).isReg() &&
20318         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20319         MI->getOperand(2).isReg() &&
20320         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20321         MI->getOperand(3).isImm() &&
20322         MI->getOperand(3).getImm() == 0) {
20329     if (MI->getNumOperands() == 4 &&
20330         MI->getOperand(0).isReg() &&
20331         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
20332         MI->getOperand(1).isReg() &&
20333         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
20334         MI->getOperand(2).isReg() &&
20335         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20336         MI->getOperand(3).isImm() &&
20337         MI->getOperand(3).getImm() == 0) {
20344     if (MI->getNumOperands() == 4 &&
20345         MI->getOperand(0).isReg() &&
20346         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20347         MI->getOperand(1).isReg() &&
20348         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20349         MI->getOperand(2).isReg() &&
20350         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20351         MI->getOperand(3).isImm() &&
20352         MI->getOperand(3).getImm() == 0) {
20359     if (MI->getNumOperands() == 4 &&
20360         MI->getOperand(0).isReg() &&
20361         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20362         MI->getOperand(1).isReg() &&
20363         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20364         MI->getOperand(2).isReg() &&
20365         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20366         MI->getOperand(3).isImm() &&
20367         MI->getOperand(3).getImm() == 0) {
20374     if (MI->getNumOperands() == 4 &&
20375         MI->getOperand(0).isReg() &&
20376         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20377         MI->getOperand(1).isReg() &&
20378         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20379         MI->getOperand(2).isReg() &&
20380         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20381         MI->getOperand(3).isImm() &&
20382         MI->getOperand(3).getImm() == 0) {
20389     if (MI->getNumOperands() == 4 &&
20390         MI->getOperand(0).isReg() &&
20391         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20392         MI->getOperand(1).isReg() &&
20393         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20394         MI->getOperand(2).isReg() &&
20395         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20396         MI->getOperand(3).isImm() &&
20397         MI->getOperand(3).getImm() == 0 &&
20405     if (MI->getNumOperands() == 4 &&
20406         MI->getOperand(0).isReg() &&
20407         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20408         MI->getOperand(1).isReg() &&
20409         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20410         MI->getOperand(2).isReg() &&
20411         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20412         MI->getOperand(3).getReg() == AArch64::XZR &&
20420     if (MI->getNumOperands() == 4 &&
20421         MI->getOperand(0).isReg() &&
20422         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20423         MI->getOperand(1).isReg() &&
20424         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20425         MI->getOperand(2).isReg() &&
20426         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20427         MI->getOperand(3).getReg() == AArch64::XZR &&
20435     if (MI->getNumOperands() == 4 &&
20436         MI->getOperand(0).isReg() &&
20437         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20438         MI->getOperand(1).isReg() &&
20439         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20440         MI->getOperand(2).isReg() &&
20441         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20442         MI->getOperand(3).isImm() &&
20443         MI->getOperand(3).getImm() == 0 &&
20451     if (MI->getNumOperands() == 4 &&
20452         MI->getOperand(0).isReg() &&
20453         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20454         MI->getOperand(1).isReg() &&
20455         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20456         MI->getOperand(2).isReg() &&
20457         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20458         MI->getOperand(3).getReg() == AArch64::XZR &&
20466     if (MI->getNumOperands() == 4 &&
20467         MI->getOperand(0).isReg() &&
20468         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20469         MI->getOperand(1).isReg() &&
20470         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20471         MI->getOperand(2).isReg() &&
20472         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20473         MI->getOperand(3).isImm() &&
20474         MI->getOperand(3).getImm() == 0 &&
20482     if (MI->getNumOperands() == 4 &&
20483         MI->getOperand(0).isReg() &&
20484         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20485         MI->getOperand(1).isReg() &&
20486         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20487         MI->getOperand(2).isReg() &&
20488         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20489         MI->getOperand(3).getReg() == AArch64::XZR &&
20497     if (MI->getNumOperands() == 4 &&
20498         MI->getOperand(0).isReg() &&
20499         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20500         MI->getOperand(1).isReg() &&
20501         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20502         MI->getOperand(2).isReg() &&
20503         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20504         MI->getOperand(3).getReg() == AArch64::XZR &&
20512     if (MI->getNumOperands() == 4 &&
20513         MI->getOperand(0).isReg() &&
20514         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20515         MI->getOperand(1).isReg() &&
20516         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20517         MI->getOperand(2).isReg() &&
20518         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20519         MI->getOperand(3).getReg() == AArch64::XZR &&
20527     if (MI->getNumOperands() == 4 &&
20528         MI->getOperand(0).isReg() &&
20529         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20530         MI->getOperand(1).isReg() &&
20531         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20532         MI->getOperand(2).isReg() &&
20533         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20534         MI->getOperand(3).getReg() == AArch64::XZR &&
20542     if (MI->getNumOperands() == 4 &&
20543         MI->getOperand(0).isReg() &&
20544         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20545         MI->getOperand(1).isReg() &&
20546         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20547         MI->getOperand(2).isReg() &&
20548         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20549         MI->getOperand(3).getReg() == AArch64::XZR &&
20557     if (MI->getNumOperands() == 4 &&
20558         MI->getOperand(0).isReg() &&
20559         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20560         MI->getOperand(1).isReg() &&
20561         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20562         MI->getOperand(2).isReg() &&
20563         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20564         MI->getOperand(3).getReg() == AArch64::XZR &&
20572     if (MI->getNumOperands() == 4 &&
20573         MI->getOperand(0).isReg() &&
20574         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20575         MI->getOperand(1).isReg() &&
20576         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20577         MI->getOperand(2).isReg() &&
20578         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20579         MI->getOperand(3).getReg() == AArch64::XZR &&
20587     if (MI->getNumOperands() == 4 &&
20588         MI->getOperand(0).isReg() &&
20589         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20590         MI->getOperand(1).isReg() &&
20591         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20592         MI->getOperand(2).isReg() &&
20593         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20594         MI->getOperand(3).isImm() &&
20595         MI->getOperand(3).getImm() == 0 &&
20603     if (MI->getNumOperands() == 4 &&
20604         MI->getOperand(0).isReg() &&
20605         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20606         MI->getOperand(1).isReg() &&
20607         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20608         MI->getOperand(2).isReg() &&
20609         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20610         MI->getOperand(3).getReg() == AArch64::XZR &&
20618     if (MI->getNumOperands() == 4 &&
20619         MI->getOperand(0).isReg() &&
20620         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20621         MI->getOperand(1).isReg() &&
20622         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20623         MI->getOperand(2).isReg() &&
20624         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
20625         MI->getOperand(3).getReg() == AArch64::XZR &&
20633     if (MI->getNumOperands() == 4 &&
20634         MI->getOperand(0).isReg() &&
20635         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20636         MI->getOperand(1).isReg() &&
20637         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20638         MI->getOperand(2).isReg() &&
20639         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20640         MI->getOperand(3).isImm() &&
20641         MI->getOperand(3).getImm() == 0) {
20648     if (MI->getNumOperands() == 4 &&
20649         MI->getOperand(0).isReg() &&
20650         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
20651         MI->getOperand(1).isReg() &&
20652         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
20653         MI->getOperand(2).isReg() &&
20654         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20655         MI->getOperand(3).isImm() &&
20656         MI->getOperand(3).getImm() == 0) {
20663     if (MI->getNumOperands() == 4 &&
20664         MI->getOperand(0).isReg() &&
20665         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20666         MI->getOperand(1).isReg() &&
20667         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20668         MI->getOperand(2).isReg() &&
20669         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20670         MI->getOperand(3).isImm() &&
20671         MI->getOperand(3).getImm() == 0) {
20678     if (MI->getNumOperands() == 4 &&
20679         MI->getOperand(0).isReg() &&
20680         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20681         MI->getOperand(1).isReg() &&
20682         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20683         MI->getOperand(2).isReg() &&
20684         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20685         MI->getOperand(3).isImm() &&
20686         MI->getOperand(3).getImm() == 0) {
20693     if (MI->getNumOperands() == 4 &&
20694         MI->getOperand(0).isReg() &&
20695         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20696         MI->getOperand(1).isReg() &&
20697         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20698         MI->getOperand(2).isReg() &&
20699         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20700         MI->getOperand(3).isImm() &&
20701         MI->getOperand(3).getImm() == 0) {
20708     if (MI->getNumOperands() == 4 &&
20709         MI->getOperand(0).isReg() &&
20710         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20711         MI->getOperand(1).isReg() &&
20712         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20713         MI->getOperand(2).isReg() &&
20714         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20715         MI->getOperand(3).isImm() &&
20716         MI->getOperand(3).getImm() == 0) {
20723     if (MI->getNumOperands() == 3 &&
20724         MI->getOperand(0).isReg() &&
20725         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20726         MI->getOperand(1).isReg() &&
20727         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20728         MI->getOperand(2).isImm() &&
20729         MI->getOperand(2).getImm() == 0 &&
20737     if (MI->getNumOperands() == 3 &&
20738         MI->getOperand(0).isReg() &&
20739         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20740         MI->getOperand(1).isReg() &&
20741         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20742         MI->getOperand(2).isImm() &&
20743         MI->getOperand(2).getImm() == 0 &&
20751     if (MI->getNumOperands() == 5 &&
20752         MI->getOperand(0).isReg() &&
20753         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20754         MI->getOperand(1).isReg() &&
20755         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20756         MI->getOperand(2).isReg() &&
20757         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
20758         MI->getOperand(3).isImm() &&
20759         MI->getOperand(3).getImm() == 0 &&
20760         MI->getOperand(4).isImm() &&
20761         MI->getOperand(4).getImm() == 0) {
20768     if (MI->getNumOperands() == 3 &&
20769         MI->getOperand(0).isReg() &&
20770         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20771         MI->getOperand(1).isReg() &&
20772         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20773         MI->getOperand(2).isImm() &&
20774         MI->getOperand(2).getImm() == 0) {
20781     if (MI->getNumOperands() == 5 &&
20782         MI->getOperand(0).isReg() &&
20783         MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
20784         MI->getOperand(1).isReg() &&
20785         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20786         MI->getOperand(2).isReg() &&
20787         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
20788         MI->getOperand(3).isImm() &&
20789         MI->getOperand(3).getImm() == 0 &&
20790         MI->getOperand(4).isImm() &&
20791         MI->getOperand(4).getImm() == 0) {
20798     if (MI->getNumOperands() == 3 &&
20799         MI->getOperand(0).isReg() &&
20800         MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
20801         MI->getOperand(1).isReg() &&
20802         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20803         MI->getOperand(2).isImm() &&
20804         MI->getOperand(2).getImm() == 0) {
20811     if (MI->getNumOperands() == 5 &&
20812         MI->getOperand(0).isReg() &&
20813         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20814         MI->getOperand(1).isReg() &&
20815         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20816         MI->getOperand(2).isReg() &&
20817         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
20818         MI->getOperand(3).isImm() &&
20819         MI->getOperand(3).getImm() == 0 &&
20820         MI->getOperand(4).isImm() &&
20821         MI->getOperand(4).getImm() == 0) {
20828     if (MI->getNumOperands() == 3 &&
20829         MI->getOperand(0).isReg() &&
20830         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20831         MI->getOperand(1).isReg() &&
20832         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20833         MI->getOperand(2).isImm() &&
20834         MI->getOperand(2).getImm() == 0) {
20841     if (MI->getNumOperands() == 5 &&
20842         MI->getOperand(0).isReg() &&
20843         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20844         MI->getOperand(1).isReg() &&
20845         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20846         MI->getOperand(2).isReg() &&
20847         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
20848         MI->getOperand(3).isImm() &&
20849         MI->getOperand(3).getImm() == 0 &&
20850         MI->getOperand(4).isImm() &&
20851         MI->getOperand(4).getImm() == 0) {
20858     if (MI->getNumOperands() == 3 &&
20859         MI->getOperand(0).isReg() &&
20860         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20861         MI->getOperand(1).isReg() &&
20862         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20863         MI->getOperand(2).isImm() &&
20864         MI->getOperand(2).getImm() == 0) {
20871     if (MI->getNumOperands() == 5 &&
20872         MI->getOperand(0).isReg() &&
20873         MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
20874         MI->getOperand(1).isReg() &&
20875         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20876         MI->getOperand(2).isReg() &&
20877         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
20878         MI->getOperand(3).isImm() &&
20879         MI->getOperand(3).getImm() == 0 &&
20880         MI->getOperand(4).isImm() &&
20881         MI->getOperand(4).getImm() == 0) {
20888     if (MI->getNumOperands() == 3 &&
20889         MI->getOperand(0).isReg() &&
20890         MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
20891         MI->getOperand(1).isReg() &&
20892         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20893         MI->getOperand(2).isImm() &&
20894         MI->getOperand(2).getImm() == 0) {
20901     if (MI->getNumOperands() == 5 &&
20902         MI->getOperand(0).isReg() &&
20903         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
20904         MI->getOperand(1).isReg() &&
20905         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20906         MI->getOperand(2).isReg() &&
20907         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
20908         MI->getOperand(3).isImm() &&
20909         MI->getOperand(3).getImm() == 0 &&
20910         MI->getOperand(4).isImm() &&
20911         MI->getOperand(4).getImm() == 0) {
20918     if (MI->getNumOperands() == 3 &&
20919         MI->getOperand(0).isReg() &&
20920         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
20921         MI->getOperand(1).isReg() &&
20922         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20923         MI->getOperand(2).isImm() &&
20924         MI->getOperand(2).getImm() == 0) {
20931     if (MI->getNumOperands() == 5 &&
20932         MI->getOperand(0).isReg() &&
20933         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20934         MI->getOperand(1).isReg() &&
20935         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20936         MI->getOperand(2).isReg() &&
20937         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
20938         MI->getOperand(3).isImm() &&
20939         MI->getOperand(3).getImm() == 0 &&
20940         MI->getOperand(4).isImm() &&
20941         MI->getOperand(4).getImm() == 0) {
20948     if (MI->getNumOperands() == 3 &&
20949         MI->getOperand(0).isReg() &&
20950         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20951         MI->getOperand(1).isReg() &&
20952         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20953         MI->getOperand(2).isImm() &&
20954         MI->getOperand(2).getImm() == 0) {
20961     if (MI->getNumOperands() == 5 &&
20962         MI->getOperand(0).isReg() &&
20963         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20964         MI->getOperand(1).isReg() &&
20965         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20966         MI->getOperand(2).isReg() &&
20967         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
20968         MI->getOperand(3).isImm() &&
20969         MI->getOperand(3).getImm() == 0 &&
20970         MI->getOperand(4).isImm() &&
20971         MI->getOperand(4).getImm() == 0) {
20978     if (MI->getNumOperands() == 3 &&
20979         MI->getOperand(0).isReg() &&
20980         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20981         MI->getOperand(1).isReg() &&
20982         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20983         MI->getOperand(2).isImm() &&
20984         MI->getOperand(2).getImm() == 0) {
20991     if (MI->getNumOperands() == 5 &&
20992         MI->getOperand(0).isReg() &&
20993         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20994         MI->getOperand(1).isReg() &&
20995         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20996         MI->getOperand(2).isReg() &&
20997         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
20998         MI->getOperand(3).isImm() &&
20999         MI->getOperand(3).getImm() == 0 &&
21000         MI->getOperand(4).isImm() &&
21001         MI->getOperand(4).getImm() == 0) {
21008     if (MI->getNumOperands() == 3 &&
21009         MI->getOperand(0).isReg() &&
21010         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21011         MI->getOperand(1).isReg() &&
21012         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21013         MI->getOperand(2).isImm() &&
21014         MI->getOperand(2).getImm() == 0) {
21021     if (MI->getNumOperands() == 5 &&
21022         MI->getOperand(0).isReg() &&
21023         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21024         MI->getOperand(1).isReg() &&
21025         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21026         MI->getOperand(2).isReg() &&
21027         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21028         MI->getOperand(3).isImm() &&
21029         MI->getOperand(3).getImm() == 0 &&
21030         MI->getOperand(4).isImm() &&
21031         MI->getOperand(4).getImm() == 0) {
21038     if (MI->getNumOperands() == 3 &&
21039         MI->getOperand(0).isReg() &&
21040         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21041         MI->getOperand(1).isReg() &&
21042         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21043         MI->getOperand(2).isImm() &&
21044         MI->getOperand(2).getImm() == 0) {
21051     if (MI->getNumOperands() == 5 &&
21052         MI->getOperand(0).isReg() &&
21053         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21054         MI->getOperand(1).isReg() &&
21055         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21056         MI->getOperand(2).isReg() &&
21057         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21058         MI->getOperand(3).isImm() &&
21059         MI->getOperand(3).getImm() == 0 &&
21060         MI->getOperand(4).isImm() &&
21061         MI->getOperand(4).getImm() == 0) {
21068     if (MI->getNumOperands() == 3 &&
21069         MI->getOperand(0).isReg() &&
21070         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21071         MI->getOperand(1).isReg() &&
21072         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21073         MI->getOperand(2).isImm() &&
21074         MI->getOperand(2).getImm() == 0) {
21081     if (MI->getNumOperands() == 5 &&
21082         MI->getOperand(0).isReg() &&
21083         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21084         MI->getOperand(1).isReg() &&
21085         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21086         MI->getOperand(2).isReg() &&
21087         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21088         MI->getOperand(3).isImm() &&
21089         MI->getOperand(3).getImm() == 0 &&
21090         MI->getOperand(4).isImm() &&
21091         MI->getOperand(4).getImm() == 0) {
21098     if (MI->getNumOperands() == 3 &&
21099         MI->getOperand(0).isReg() &&
21100         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21101         MI->getOperand(1).isReg() &&
21102         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21103         MI->getOperand(2).isImm() &&
21104         MI->getOperand(2).getImm() == 0) {
21111     if (MI->getNumOperands() == 5 &&
21112         MI->getOperand(0).isReg() &&
21113         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21114         MI->getOperand(1).isReg() &&
21115         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21116         MI->getOperand(2).isReg() &&
21117         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21118         MI->getOperand(3).isImm() &&
21119         MI->getOperand(3).getImm() == 0 &&
21120         MI->getOperand(4).isImm() &&
21121         MI->getOperand(4).getImm() == 0) {
21128     if (MI->getNumOperands() == 3 &&
21129         MI->getOperand(0).isReg() &&
21130         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21131         MI->getOperand(1).isReg() &&
21132         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21133         MI->getOperand(2).isImm() &&
21134         MI->getOperand(2).getImm() == 0) {
21141     if (MI->getNumOperands() == 5 &&
21142         MI->getOperand(0).isReg() &&
21143         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21144         MI->getOperand(1).isReg() &&
21145         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21146         MI->getOperand(2).isReg() &&
21147         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21148         MI->getOperand(3).isImm() &&
21149         MI->getOperand(3).getImm() == 0 &&
21150         MI->getOperand(4).isImm() &&
21151         MI->getOperand(4).getImm() == 0) {
21158     if (MI->getNumOperands() == 3 &&
21159         MI->getOperand(0).isReg() &&
21160         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21161         MI->getOperand(1).isReg() &&
21162         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21163         MI->getOperand(2).isImm() &&
21164         MI->getOperand(2).getImm() == 0) {
21171     if (MI->getNumOperands() == 3 &&
21172         MI->getOperand(0).isReg() &&
21173         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21174         MI->getOperand(1).isReg() &&
21175         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21176         MI->getOperand(2).isImm() &&
21177         MI->getOperand(2).getImm() == 0 &&
21185     if (MI->getNumOperands() == 3 &&
21186         MI->getOperand(0).isReg() &&
21187         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21188         MI->getOperand(1).isReg() &&
21189         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21190         MI->getOperand(2).isImm() &&
21191         MI->getOperand(2).getImm() == 0 &&
21199     if (MI->getNumOperands() == 3 &&
21200         MI->getOperand(0).getReg() == AArch64::WZR &&
21201         MI->getOperand(1).isReg() &&
21202         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21203         MI->getOperand(2).isReg() &&
21204         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21212     if (MI->getNumOperands() == 3 &&
21213         MI->getOperand(0).getReg() == AArch64::WZR &&
21214         MI->getOperand(1).isReg() &&
21215         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21216         MI->getOperand(2).isReg() &&
21217         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21225     if (MI->getNumOperands() == 3 &&
21226         MI->getOperand(0).getReg() == AArch64::WZR &&
21227         MI->getOperand(1).isReg() &&
21228         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21229         MI->getOperand(2).isReg() &&
21230         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21238     if (MI->getNumOperands() == 3 &&
21239         MI->getOperand(0).getReg() == AArch64::WZR &&
21240         MI->getOperand(1).isReg() &&
21241         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21242         MI->getOperand(2).isReg() &&
21243         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21251     if (MI->getNumOperands() == 3 &&
21252         MI->getOperand(0).getReg() == AArch64::WZR &&
21253         MI->getOperand(1).isReg() &&
21254         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21255         MI->getOperand(2).isReg() &&
21256         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21264     if (MI->getNumOperands() == 3 &&
21265         MI->getOperand(0).getReg() == AArch64::XZR &&
21266         MI->getOperand(1).isReg() &&
21267         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21268         MI->getOperand(2).isReg() &&
21269         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21277     if (MI->getNumOperands() == 3 &&
21278         MI->getOperand(0).getReg() == AArch64::WZR &&
21279         MI->getOperand(1).isReg() &&
21280         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21281         MI->getOperand(2).isReg() &&
21282         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21290     if (MI->getNumOperands() == 3 &&
21291         MI->getOperand(0).getReg() == AArch64::XZR &&
21292         MI->getOperand(1).isReg() &&
21293         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21294         MI->getOperand(2).isReg() &&
21295         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21303     if (MI->getNumOperands() == 3 &&
21304         MI->getOperand(0).getReg() == AArch64::WZR &&
21305         MI->getOperand(1).isReg() &&
21306         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21307         MI->getOperand(2).isReg() &&
21308         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21316     if (MI->getNumOperands() == 3 &&
21317         MI->getOperand(0).getReg() == AArch64::WZR &&
21318         MI->getOperand(1).isReg() &&
21319         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21320         MI->getOperand(2).isReg() &&
21321         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21329     if (MI->getNumOperands() == 3 &&
21330         MI->getOperand(0).getReg() == AArch64::WZR &&
21331         MI->getOperand(1).isReg() &&
21332         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21333         MI->getOperand(2).isReg() &&
21334         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21342     if (MI->getNumOperands() == 3 &&
21343         MI->getOperand(0).getReg() == AArch64::WZR &&
21344         MI->getOperand(1).isReg() &&
21345         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21346         MI->getOperand(2).isReg() &&
21347         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21355     if (MI->getNumOperands() == 3 &&
21356         MI->getOperand(0).getReg() == AArch64::WZR &&
21357         MI->getOperand(1).isReg() &&
21358         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21359         MI->getOperand(2).isReg() &&
21360         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21368     if (MI->getNumOperands() == 3 &&
21369         MI->getOperand(0).getReg() == AArch64::XZR &&
21370         MI->getOperand(1).isReg() &&
21371         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21372         MI->getOperand(2).isReg() &&
21373         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21381     if (MI->getNumOperands() == 3 &&
21382         MI->getOperand(0).getReg() == AArch64::WZR &&
21383         MI->getOperand(1).isReg() &&
21384         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21385         MI->getOperand(2).isReg() &&
21386         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21394     if (MI->getNumOperands() == 3 &&
21395         MI->getOperand(0).getReg() == AArch64::XZR &&
21396         MI->getOperand(1).isReg() &&
21397         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21398         MI->getOperand(2).isReg() &&
21399         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21407     if (MI->getNumOperands() == 3 &&
21408         MI->getOperand(0).getReg() == AArch64::WZR &&
21409         MI->getOperand(1).isReg() &&
21410         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21411         MI->getOperand(2).isReg() &&
21412         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21420     if (MI->getNumOperands() == 3 &&
21421         MI->getOperand(0).getReg() == AArch64::WZR &&
21422         MI->getOperand(1).isReg() &&
21423         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21424         MI->getOperand(2).isReg() &&
21425         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21433     if (MI->getNumOperands() == 3 &&
21434         MI->getOperand(0).getReg() == AArch64::WZR &&
21435         MI->getOperand(1).isReg() &&
21436         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21437         MI->getOperand(2).isReg() &&
21438         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21446     if (MI->getNumOperands() == 3 &&
21447         MI->getOperand(0).getReg() == AArch64::WZR &&
21448         MI->getOperand(1).isReg() &&
21449         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21450         MI->getOperand(2).isReg() &&
21451         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21459     if (MI->getNumOperands() == 3 &&
21460         MI->getOperand(0).getReg() == AArch64::WZR &&
21461         MI->getOperand(1).isReg() &&
21462         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21463         MI->getOperand(2).isReg() &&
21464         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21472     if (MI->getNumOperands() == 3 &&
21473         MI->getOperand(0).getReg() == AArch64::XZR &&
21474         MI->getOperand(1).isReg() &&
21475         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21476         MI->getOperand(2).isReg() &&
21477         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21485     if (MI->getNumOperands() == 3 &&
21486         MI->getOperand(0).getReg() == AArch64::WZR &&
21487         MI->getOperand(1).isReg() &&
21488         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21489         MI->getOperand(2).isReg() &&
21490         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21498     if (MI->getNumOperands() == 3 &&
21499         MI->getOperand(0).getReg() == AArch64::XZR &&
21500         MI->getOperand(1).isReg() &&
21501         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21502         MI->getOperand(2).isReg() &&
21503         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21511     if (MI->getNumOperands() == 3 &&
21512         MI->getOperand(0).isReg() &&
21513         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21514         MI->getOperand(1).isReg() &&
21515         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21516         MI->getOperand(2).isImm() &&
21517         MI->getOperand(2).getImm() == 0) {
21524     if (MI->getNumOperands() == 3 &&
21525         MI->getOperand(0).isReg() &&
21526         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21527         MI->getOperand(1).isReg() &&
21528         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21529         MI->getOperand(2).isImm() &&
21530         MI->getOperand(2).getImm() == 0) {
21537     if (MI->getNumOperands() == 3 &&
21538         MI->getOperand(0).isReg() &&
21539         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21540         MI->getOperand(1).isReg() &&
21541         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21542         MI->getOperand(2).isImm() &&
21543         MI->getOperand(2).getImm() == 0) {
21550     if (MI->getNumOperands() == 3 &&
21551         MI->getOperand(0).isReg() &&
21552         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21553         MI->getOperand(1).isReg() &&
21554         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21555         MI->getOperand(2).isImm() &&
21556         MI->getOperand(2).getImm() == 0) {
21563     if (MI->getNumOperands() == 3 &&
21564         MI->getOperand(0).isReg() &&
21565         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21566         MI->getOperand(1).isReg() &&
21567         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21568         MI->getOperand(2).isImm() &&
21569         MI->getOperand(2).getImm() == 0) {
21576     if (MI->getNumOperands() == 3 &&
21577         MI->getOperand(0).isReg() &&
21578         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21579         MI->getOperand(1).isReg() &&
21580         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21581         MI->getOperand(2).isImm() &&
21582         MI->getOperand(2).getImm() == 0) {
21589     if (MI->getNumOperands() == 3 &&
21590         MI->getOperand(0).isReg() &&
21591         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21592         MI->getOperand(1).isReg() &&
21593         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21594         MI->getOperand(2).isImm() &&
21595         MI->getOperand(2).getImm() == 0) {
21602     if (MI->getNumOperands() == 3 &&
21603         MI->getOperand(0).isReg() &&
21604         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21605         MI->getOperand(1).isReg() &&
21606         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21607         MI->getOperand(2).isImm() &&
21608         MI->getOperand(2).getImm() == 0) {
21615     if (MI->getNumOperands() == 3 &&
21616         MI->getOperand(0).isReg() &&
21617         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21618         MI->getOperand(1).isReg() &&
21619         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21620         MI->getOperand(2).isImm() &&
21621         MI->getOperand(2).getImm() == 0) {
21628     if (MI->getNumOperands() == 3 &&
21629         MI->getOperand(0).getReg() == AArch64::WZR &&
21630         MI->getOperand(1).isReg() &&
21631         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21632         MI->getOperand(2).isReg() &&
21633         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21641     if (MI->getNumOperands() == 3 &&
21642         MI->getOperand(0).getReg() == AArch64::WZR &&
21643         MI->getOperand(1).isReg() &&
21644         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21645         MI->getOperand(2).isReg() &&
21646         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21654     if (MI->getNumOperands() == 3 &&
21655         MI->getOperand(0).getReg() == AArch64::WZR &&
21656         MI->getOperand(1).isReg() &&
21657         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21658         MI->getOperand(2).isReg() &&
21659         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21667     if (MI->getNumOperands() == 3 &&
21668         MI->getOperand(0).getReg() == AArch64::WZR &&
21669         MI->getOperand(1).isReg() &&
21670         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21671         MI->getOperand(2).isReg() &&
21672         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21680     if (MI->getNumOperands() == 3 &&
21681         MI->getOperand(0).getReg() == AArch64::WZR &&
21682         MI->getOperand(1).isReg() &&
21683         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21684         MI->getOperand(2).isReg() &&
21685         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21693     if (MI->getNumOperands() == 3 &&
21694         MI->getOperand(0).getReg() == AArch64::XZR &&
21695         MI->getOperand(1).isReg() &&
21696         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21697         MI->getOperand(2).isReg() &&
21698         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21706     if (MI->getNumOperands() == 3 &&
21707         MI->getOperand(0).getReg() == AArch64::WZR &&
21708         MI->getOperand(1).isReg() &&
21709         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21710         MI->getOperand(2).isReg() &&
21711         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21719     if (MI->getNumOperands() == 3 &&
21720         MI->getOperand(0).getReg() == AArch64::XZR &&
21721         MI->getOperand(1).isReg() &&
21722         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21723         MI->getOperand(2).isReg() &&
21724         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21732     if (MI->getNumOperands() == 3 &&
21733         MI->getOperand(0).getReg() == AArch64::WZR &&
21734         MI->getOperand(1).isReg() &&
21735         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21736         MI->getOperand(2).isReg() &&
21737         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21745     if (MI->getNumOperands() == 3 &&
21746         MI->getOperand(0).getReg() == AArch64::WZR &&
21747         MI->getOperand(1).isReg() &&
21748         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21749         MI->getOperand(2).isReg() &&
21750         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21758     if (MI->getNumOperands() == 3 &&
21759         MI->getOperand(0).getReg() == AArch64::WZR &&
21760         MI->getOperand(1).isReg() &&
21761         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21762         MI->getOperand(2).isReg() &&
21763         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21771     if (MI->getNumOperands() == 3 &&
21772         MI->getOperand(0).getReg() == AArch64::WZR &&
21773         MI->getOperand(1).isReg() &&
21774         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21775         MI->getOperand(2).isReg() &&
21776         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21784     if (MI->getNumOperands() == 3 &&
21785         MI->getOperand(0).getReg() == AArch64::WZR &&
21786         MI->getOperand(1).isReg() &&
21787         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21788         MI->getOperand(2).isReg() &&
21789         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21797     if (MI->getNumOperands() == 3 &&
21798         MI->getOperand(0).getReg() == AArch64::XZR &&
21799         MI->getOperand(1).isReg() &&
21800         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21801         MI->getOperand(2).isReg() &&
21802         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21810     if (MI->getNumOperands() == 3 &&
21811         MI->getOperand(0).getReg() == AArch64::WZR &&
21812         MI->getOperand(1).isReg() &&
21813         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21814         MI->getOperand(2).isReg() &&
21815         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21823     if (MI->getNumOperands() == 3 &&
21824         MI->getOperand(0).getReg() == AArch64::XZR &&
21825         MI->getOperand(1).isReg() &&
21826         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21827         MI->getOperand(2).isReg() &&
21828         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21836     if (MI->getNumOperands() == 3 &&
21837         MI->getOperand(0).isReg() &&
21838         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21839         MI->getOperand(1).isReg() &&
21840         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21841         MI->getOperand(2).isImm() &&
21842         MI->getOperand(2).getImm() == 0) {
21849     if (MI->getNumOperands() == 3 &&
21850         MI->getOperand(0).isReg() &&
21851         MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
21852         MI->getOperand(1).isReg() &&
21853         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21854         MI->getOperand(2).isImm() &&
21855         MI->getOperand(2).getImm() == 0) {
21862     if (MI->getNumOperands() == 3 &&
21863         MI->getOperand(0).isReg() &&
21864         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21865         MI->getOperand(1).isReg() &&
21866         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21867         MI->getOperand(2).isImm() &&
21868         MI->getOperand(2).getImm() == 0) {
21875     if (MI->getNumOperands() == 3 &&
21876         MI->getOperand(0).isReg() &&
21877         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21878         MI->getOperand(1).isReg() &&
21879         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21880         MI->getOperand(2).isImm() &&
21881         MI->getOperand(2).getImm() == 0) {
21888     if (MI->getNumOperands() == 3 &&
21889         MI->getOperand(0).isReg() &&
21890         MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
21891         MI->getOperand(1).isReg() &&
21892         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21893         MI->getOperand(2).isImm() &&
21894         MI->getOperand(2).getImm() == 0) {
21901     if (MI->getNumOperands() == 3 &&
21902         MI->getOperand(0).isReg() &&
21903         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
21904         MI->getOperand(1).isReg() &&
21905         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21906         MI->getOperand(2).isImm() &&
21907         MI->getOperand(2).getImm() == 0) {
21914     if (MI->getNumOperands() == 3 &&
21915         MI->getOperand(0).isReg() &&
21916         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21917         MI->getOperand(1).isReg() &&
21918         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21919         MI->getOperand(2).isImm() &&
21920         MI->getOperand(2).getImm() == 0) {
21927     if (MI->getNumOperands() == 3 &&
21928         MI->getOperand(0).isReg() &&
21929         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21930         MI->getOperand(1).isReg() &&
21931         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21932         MI->getOperand(2).isImm() &&
21933         MI->getOperand(2).getImm() == 0) {
21940     if (MI->getNumOperands() == 3 &&
21941         MI->getOperand(0).isReg() &&
21942         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21943         MI->getOperand(1).isReg() &&
21944         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21945         MI->getOperand(2).isImm() &&
21946         MI->getOperand(2).getImm() == 0) {
21953     if (MI->getNumOperands() == 3 &&
21954         MI->getOperand(0).isReg() &&
21955         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21956         MI->getOperand(1).isReg() &&
21957         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21958         MI->getOperand(2).isImm() &&
21959         MI->getOperand(2).getImm() == 0) {
21966     if (MI->getNumOperands() == 3 &&
21967         MI->getOperand(0).isReg() &&
21968         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21969         MI->getOperand(1).isReg() &&
21970         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21971         MI->getOperand(2).isImm() &&
21972         MI->getOperand(2).getImm() == 0) {
21979     if (MI->getNumOperands() == 3 &&
21980         MI->getOperand(0).isReg() &&
21981         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21982         MI->getOperand(1).isReg() &&
21983         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21984         MI->getOperand(2).isImm() &&
21985         MI->getOperand(2).getImm() == 0) {
21992     if (MI->getNumOperands() == 3 &&
21993         MI->getOperand(0).isReg() &&
21994         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21995         MI->getOperand(1).isReg() &&
21996         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21997         MI->getOperand(2).isImm() &&
21998         MI->getOperand(2).getImm() == 0) {
22005     if (MI->getNumOperands() == 3 &&
22006         MI->getOperand(0).isReg() &&
22007         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22008         MI->getOperand(1).isReg() &&
22009         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22010         MI->getOperand(2).isImm() &&
22011         MI->getOperand(2).getImm() == 0) {
22018     if (MI->getNumOperands() == 4 &&
22019         MI->getOperand(0).isReg() &&
22020         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22021         MI->getOperand(1).isReg() &&
22022         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22023         MI->getOperand(2).isReg() &&
22024         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
22025         MI->getOperand(3).getReg() == AArch64::WZR) {
22032     if (MI->getNumOperands() == 4 &&
22033         MI->getOperand(0).isReg() &&
22034         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22035         MI->getOperand(1).isReg() &&
22036         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22037         MI->getOperand(2).isReg() &&
22038         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22039         MI->getOperand(3).getReg() == AArch64::XZR) {
22046     if (MI->getNumOperands() == 4 &&
22047         MI->getOperand(0).isReg() &&
22048         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22049         MI->getOperand(1).isReg() &&
22050         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22051         MI->getOperand(2).isReg() &&
22052         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
22053         MI->getOperand(3).getReg() == AArch64::WZR) {
22060     if (MI->getNumOperands() == 4 &&
22061         MI->getOperand(0).isReg() &&
22062         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22063         MI->getOperand(1).isReg() &&
22064         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22065         MI->getOperand(2).isReg() &&
22066         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22067         MI->getOperand(3).getReg() == AArch64::XZR) {
22074     if (MI->getNumOperands() == 2 &&
22075         MI->getOperand(0).isReg() &&
22076         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
22077         MI->getOperand(1).isReg() &&
22078         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg())) {
22085     if (MI->getNumOperands() == 2 &&
22086         MI->getOperand(0).isReg() &&
22087         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22088         MI->getOperand(1).isReg() &&
22089         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg())) {
22096     if (MI->getNumOperands() == 4 &&
22097         MI->getOperand(0).isReg() &&
22098         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22099         MI->getOperand(1).getReg() == AArch64::WZR &&
22100         MI->getOperand(2).isReg() &&
22101         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
22102         MI->getOperand(3).isImm() &&
22103         MI->getOperand(3).getImm() == 0) {
22108     if (MI->getNumOperands() == 4 &&
22109         MI->getOperand(0).isReg() &&
22110         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22111         MI->getOperand(1).getReg() == AArch64::WZR &&
22112         MI->getOperand(2).isReg() &&
22113         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
22118     if (MI->getNumOperands() == 4 &&
22119         MI->getOperand(0).isReg() &&
22120         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22121         MI->getOperand(1).isReg() &&
22122         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22123         MI->getOperand(2).isReg() &&
22124         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
22125         MI->getOperand(3).isImm() &&
22126         MI->getOperand(3).getImm() == 0) {
22133     if (MI->getNumOperands() == 4 &&
22134         MI->getOperand(0).isReg() &&
22135         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22136         MI->getOperand(1).getReg() == AArch64::XZR &&
22137         MI->getOperand(2).isReg() &&
22138         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22139         MI->getOperand(3).isImm() &&
22140         MI->getOperand(3).getImm() == 0) {
22145     if (MI->getNumOperands() == 4 &&
22146         MI->getOperand(0).isReg() &&
22147         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22148         MI->getOperand(1).getReg() == AArch64::XZR &&
22149         MI->getOperand(2).isReg() &&
22150         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
22155     if (MI->getNumOperands() == 4 &&
22156         MI->getOperand(0).isReg() &&
22157         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22158         MI->getOperand(1).isReg() &&
22159         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22160         MI->getOperand(2).isReg() &&
22161         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22162         MI->getOperand(3).isImm() &&
22163         MI->getOperand(3).getImm() == 0) {
22170     if (MI->getNumOperands() == 4 &&
22171         MI->getOperand(0).isReg() &&
22172         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22173         MI->getOperand(1).isReg() &&
22174         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
22175         MI->getOperand(2).isReg() &&
22176         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
22176         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
22177         MI->getOperand(3).isReg() &&
22178         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
22178         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
22186     if (MI->getNumOperands() == 4 &&
22187         MI->getOperand(0).isReg() &&
22188         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22189         MI->getOperand(1).getReg() == AArch64::WZR &&
22190         MI->getOperand(2).isReg() &&
22191         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
22192         MI->getOperand(3).isImm() &&
22193         MI->getOperand(3).getImm() == 0) {
22198     if (MI->getNumOperands() == 4 &&
22199         MI->getOperand(0).isReg() &&
22200         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22201         MI->getOperand(1).isReg() &&
22202         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22203         MI->getOperand(2).isReg() &&
22204         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
22205         MI->getOperand(3).isImm() &&
22206         MI->getOperand(3).getImm() == 0) {
22213     if (MI->getNumOperands() == 4 &&
22214         MI->getOperand(0).isReg() &&
22215         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22216         MI->getOperand(1).getReg() == AArch64::XZR &&
22217         MI->getOperand(2).isReg() &&
22218         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22219         MI->getOperand(3).isImm() &&
22220         MI->getOperand(3).getImm() == 0) {
22225     if (MI->getNumOperands() == 4 &&
22226         MI->getOperand(0).isReg() &&
22227         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22228         MI->getOperand(1).isReg() &&
22229         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22230         MI->getOperand(2).isReg() &&
22231         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22232         MI->getOperand(3).isImm() &&
22233         MI->getOperand(3).getImm() == 0) {
22240     if (MI->getNumOperands() == 4 &&
22241         MI->getOperand(0).isReg() &&
22242         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22243         MI->getOperand(1).isReg() &&
22244         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
22245         MI->getOperand(2).isReg() &&
22246         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
22246         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
22247         MI->getOperand(3).isReg() &&
22248         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
22248         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
22256     if (MI->getNumOperands() == 3 &&
22257         MI->getOperand(0).isReg() &&
22258         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22259         AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 1) &&
22265     if (MI->getNumOperands() == 3 &&
22266         MI->getOperand(0).isReg() &&
22267         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22268         AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 2) &&
22274     if (MI->getNumOperands() == 3 &&
22275         MI->getOperand(0).isReg() &&
22276         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22277         AArch64InstPrinterValidateMCOperand(MI->getOperand(2), STI, 3) &&
22285     if (MI->getNumOperands() == 3 &&
22286         MI->getOperand(0).isReg() &&
22287         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22288         MI->getOperand(1).isReg() &&
22289         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
22290         MI->getOperand(2).isReg() &&
22291         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
22291         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
22299     if (MI->getNumOperands() == 3 &&
22300         MI->getOperand(0).isReg() &&
22301         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
22302         MI->getOperand(1).isReg() &&
22303         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
22304         MI->getOperand(2).isReg() &&
22305         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
22305         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
22312     if (MI->getNumOperands() == 3 &&
22313         MI->getOperand(0).isReg() &&
22314         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22315         MI->getOperand(1).isReg() &&
22316         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22317         MI->getOperand(2).isReg() &&
22318         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
22318         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
22325     if (MI->getNumOperands() == 4 &&
22326         MI->getOperand(1).isReg() &&
22327         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22328         MI->getOperand(2).isReg() &&
22329         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
22330         MI->getOperand(3).isImm() &&
22331         MI->getOperand(3).getImm() == 0 &&
22339     if (MI->getNumOperands() == 4 &&
22340         MI->getOperand(1).isReg() &&
22341         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22342         MI->getOperand(2).isReg() &&
22343         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22344         MI->getOperand(3).isImm() &&
22345         MI->getOperand(3).getImm() == 0 &&
22353     if (MI->getNumOperands() == 4 &&
22354         MI->getOperand(1).isReg() &&
22355         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22356         MI->getOperand(2).isReg() &&
22357         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
22358         MI->getOperand(3).isImm() &&
22359         MI->getOperand(3).getImm() == 0 &&
22367     if (MI->getNumOperands() == 4 &&
22368         MI->getOperand(1).isReg() &&
22369         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22370         MI->getOperand(2).isReg() &&
22371         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
22372         MI->getOperand(3).isImm() &&
22373         MI->getOperand(3).getImm() == 0 &&
22381     if (MI->getNumOperands() == 4 &&
22382         MI->getOperand(1).isReg() &&
22383         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22384         MI->getOperand(2).isReg() &&
22385         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22386         MI->getOperand(3).isImm() &&
22387         MI->getOperand(3).getImm() == 0 &&
22395     if (MI->getNumOperands() == 4 &&
22396         MI->getOperand(1).isReg() &&
22397         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22398         MI->getOperand(2).isReg() &&
22399         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
22400         MI->getOperand(3).isImm() &&
22401         MI->getOperand(3).getImm() == 0 &&
22409     if (MI->getNumOperands() == 4 &&
22410         MI->getOperand(1).isReg() &&
22411         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22412         MI->getOperand(2).isReg() &&
22413         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
22414         MI->getOperand(3).isImm() &&
22415         MI->getOperand(3).getImm() == 0 &&
22423     if (MI->getNumOperands() == 4 &&
22424         MI->getOperand(1).isReg() &&
22425         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22426         MI->getOperand(2).isReg() &&
22427         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22428         MI->getOperand(3).isImm() &&
22429         MI->getOperand(3).getImm() == 0 &&
22437     if (MI->getNumOperands() == 4 &&
22438         MI->getOperand(1).isReg() &&
22439         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22440         MI->getOperand(2).isReg() &&
22441         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
22442         MI->getOperand(3).isImm() &&
22443         MI->getOperand(3).getImm() == 0 &&
22451     if (MI->getNumOperands() == 5 &&
22452         MI->getOperand(1).isReg() &&
22453         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22454         MI->getOperand(2).isReg() &&
22455         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22456         MI->getOperand(3).isImm() &&
22457         MI->getOperand(3).getImm() == 0 &&
22458         MI->getOperand(4).isImm() &&
22459         MI->getOperand(4).getImm() == 0) {
22466     if (MI->getNumOperands() == 3 &&
22467         MI->getOperand(1).isReg() &&
22468         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22469         MI->getOperand(2).isImm() &&
22470         MI->getOperand(2).getImm() == 0) {
22477     if (MI->getNumOperands() == 3 &&
22478         MI->getOperand(1).isReg() &&
22479         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22480         MI->getOperand(2).isImm() &&
22481         MI->getOperand(2).getImm() == 0) {
22488     if (MI->getNumOperands() == 4 &&
22489         MI->getOperand(1).isReg() &&
22490         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22491         MI->getOperand(2).isReg() &&
22492         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
22493         MI->getOperand(3).isImm() &&
22494         MI->getOperand(3).getImm() == 0 &&
22502     if (MI->getNumOperands() == 4 &&
22503         MI->getOperand(1).isReg() &&
22504         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22505         MI->getOperand(2).isReg() &&
22506         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22507         MI->getOperand(3).isImm() &&
22508         MI->getOperand(3).getImm() == 0 &&
22516     if (MI->getNumOperands() == 4 &&
22517         MI->getOperand(1).isReg() &&
22518         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
22519         MI->getOperand(2).isReg() &&
22520         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
22521         MI->getOperand(3).isImm() &&
22522         MI->getOperand(3).getImm() == 0 &&
22530     if (MI->getNumOperands() == 2 &&
22531         MI->getOperand(0).isReg() &&
22532         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22533         MI->getOperand(1).isImm() &&
22534         MI->getOperand(1).getImm() == 31 &&
22542     if (MI->getNumOperands() == 2 &&
22543         MI->getOperand(0).isReg() &&
22544         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22545         MI->getOperand(1).isImm() &&
22546         MI->getOperand(1).getImm() == 31 &&
22554     if (MI->getNumOperands() == 2 &&
22555         MI->getOperand(0).isReg() &&
22556         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22557         MI->getOperand(1).isImm() &&
22558         MI->getOperand(1).getImm() == 31 &&
22566     if (MI->getNumOperands() == 2 &&
22567         MI->getOperand(0).isReg() &&
22568         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22569         MI->getOperand(1).isImm() &&
22570         MI->getOperand(1).getImm() == 31 &&
22578     if (MI->getNumOperands() == 2 &&
22579         MI->getOperand(0).isReg() &&
22580         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22581         MI->getOperand(1).isImm() &&
22582         MI->getOperand(1).getImm() == 31 &&
22590     if (MI->getNumOperands() == 2 &&
22591         MI->getOperand(0).isReg() &&
22592         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22593         MI->getOperand(1).isImm() &&
22594         MI->getOperand(1).getImm() == 31 &&
22602     if (MI->getNumOperands() == 2 &&
22603         MI->getOperand(0).isReg() &&
22604         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22605         MI->getOperand(1).isImm() &&
22606         MI->getOperand(1).getImm() == 31 &&
22614     if (MI->getNumOperands() == 2 &&
22615         MI->getOperand(0).isReg() &&
22616         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22617         MI->getOperand(1).isImm() &&
22618         MI->getOperand(1).getImm() == 31 &&
22626     if (MI->getNumOperands() == 1 &&
22627         MI->getOperand(0).getReg() == AArch64::LR) {
22634     if (MI->getNumOperands() == 3 &&
22635         MI->getOperand(0).isReg() &&
22636         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22637         MI->getOperand(1).getReg() == AArch64::WZR &&
22638         MI->getOperand(2).isReg() &&
22639         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
22646     if (MI->getNumOperands() == 3 &&
22647         MI->getOperand(0).isReg() &&
22648         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22649         MI->getOperand(1).getReg() == AArch64::XZR &&
22650         MI->getOperand(2).isReg() &&
22651         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
22658     if (MI->getNumOperands() == 3 &&
22659         MI->getOperand(0).isReg() &&
22660         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22661         MI->getOperand(1).getReg() == AArch64::WZR &&
22662         MI->getOperand(2).isReg() &&
22663         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
22670     if (MI->getNumOperands() == 3 &&
22671         MI->getOperand(0).isReg() &&
22672         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22673         MI->getOperand(1).getReg() == AArch64::XZR &&
22674         MI->getOperand(2).isReg() &&
22675         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
22682     if (MI->getNumOperands() == 4 &&
22683         MI->getOperand(0).isReg() &&
22684         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22685         MI->getOperand(1).isReg() &&
22686         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22687         MI->getOperand(3).isImm() &&
22688         MI->getOperand(3).getImm() == 31) {
22693     if (MI->getNumOperands() == 4 &&
22694         MI->getOperand(0).isReg() &&
22695         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22696         MI->getOperand(1).isReg() &&
22697         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22698         MI->getOperand(2).isImm() &&
22699         MI->getOperand(2).getImm() == 0 &&
22700         MI->getOperand(3).isImm() &&
22701         MI->getOperand(3).getImm() == 7) {
22706     if (MI->getNumOperands() == 4 &&
22707         MI->getOperand(0).isReg() &&
22708         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22709         MI->getOperand(1).isReg() &&
22710         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22711         MI->getOperand(2).isImm() &&
22712         MI->getOperand(2).getImm() == 0 &&
22713         MI->getOperand(3).isImm() &&
22714         MI->getOperand(3).getImm() == 15) {
22721     if (MI->getNumOperands() == 4 &&
22722         MI->getOperand(0).isReg() &&
22723         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22724         MI->getOperand(1).isReg() &&
22725         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22726         MI->getOperand(3).isImm() &&
22727         MI->getOperand(3).getImm() == 63) {
22732     if (MI->getNumOperands() == 4 &&
22733         MI->getOperand(0).isReg() &&
22734         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22735         MI->getOperand(1).isReg() &&
22736         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22737         MI->getOperand(2).isImm() &&
22738         MI->getOperand(2).getImm() == 0 &&
22739         MI->getOperand(3).isImm() &&
22740         MI->getOperand(3).getImm() == 7) {
22745     if (MI->getNumOperands() == 4 &&
22746         MI->getOperand(0).isReg() &&
22747         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22748         MI->getOperand(1).isReg() &&
22749         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22750         MI->getOperand(2).isImm() &&
22751         MI->getOperand(2).getImm() == 0 &&
22752         MI->getOperand(3).isImm() &&
22753         MI->getOperand(3).getImm() == 15) {
22758     if (MI->getNumOperands() == 4 &&
22759         MI->getOperand(0).isReg() &&
22760         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22761         MI->getOperand(1).isReg() &&
22762         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22763         MI->getOperand(2).isImm() &&
22764         MI->getOperand(2).getImm() == 0 &&
22765         MI->getOperand(3).isImm() &&
22766         MI->getOperand(3).getImm() == 31) {
22773     if (MI->getNumOperands() == 4 &&
22774         MI->getOperand(0).isReg() &&
22775         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22776         MI->getOperand(1).isReg() &&
22777         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
22778         MI->getOperand(2).isReg() &&
22779         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
22780         MI->getOperand(3).isReg() &&
22781         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
22781         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
22789     if (MI->getNumOperands() == 4 &&
22790         MI->getOperand(0).isReg() &&
22791         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22792         MI->getOperand(1).isReg() &&
22793         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
22794         MI->getOperand(2).isReg() &&
22795         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
22796         MI->getOperand(3).isReg() &&
22797         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
22797         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
22805     if (MI->getNumOperands() == 4 &&
22806         MI->getOperand(0).isReg() &&
22807         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22808         MI->getOperand(1).isReg() &&
22809         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
22810         MI->getOperand(2).isReg() &&
22811         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
22812         MI->getOperand(3).isReg() &&
22813         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
22813         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
22821     if (MI->getNumOperands() == 4 &&
22822         MI->getOperand(0).isReg() &&
22823         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22824         MI->getOperand(1).isReg() &&
22825         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
22826         MI->getOperand(2).isReg() &&
22827         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
22828         MI->getOperand(3).isReg() &&
22829         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
22829         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
22837     if (MI->getNumOperands() == 4 &&
22838         MI->getOperand(0).isReg() &&
22839         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22840         MI->getOperand(1).isReg() &&
22841         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
22842         MI->getOperand(2).isReg() &&
22843         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
22844         MI->getOperand(3).isReg() &&
22845         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
22845         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
22853     if (MI->getNumOperands() == 4 &&
22854         MI->getOperand(0).isReg() &&
22855         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22856         MI->getOperand(1).isReg() &&
22857         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22858         MI->getOperand(2).isReg() &&
22859         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
22860         MI->getOperand(3).getReg() == AArch64::XZR) {
22867     if (MI->getNumOperands() == 4 &&
22868         MI->getOperand(0).isReg() &&
22869         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22870         MI->getOperand(1).isReg() &&
22871         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22872         MI->getOperand(2).isReg() &&
22873         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
22874         MI->getOperand(3).getReg() == AArch64::XZR) {
22881     if (MI->getNumOperands() == 4 &&
22882         MI->getOperand(0).isReg() &&
22883         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22884         MI->getOperand(2).isImm() &&
22885         MI->getOperand(2).getImm() == 31 &&
22886         MI->getOperand(3).isImm() &&
22887         MI->getOperand(3).getImm() == 1 &&
22893     if (MI->getNumOperands() == 4 &&
22894         MI->getOperand(0).isReg() &&
22895         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22896         MI->getOperand(3).isImm() &&
22897         MI->getOperand(3).getImm() == 1 &&
22905     if (MI->getNumOperands() == 4 &&
22906         MI->getOperand(0).isReg() &&
22907         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22908         MI->getOperand(1).isReg() &&
22909         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22910         MI->getOperand(2).isImm() &&
22911         MI->getOperand(2).getImm() == 31 &&
22912         MI->getOperand(3).isImm() &&
22913         MI->getOperand(3).getImm() == 1 &&
22919     if (MI->getNumOperands() == 4 &&
22920         MI->getOperand(0).isReg() &&
22921         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22922         MI->getOperand(1).isReg() &&
22923         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22924         MI->getOperand(3).isImm() &&
22925         MI->getOperand(3).getImm() == 1 &&
22933     if (MI->getNumOperands() == 4 &&
22934         MI->getOperand(0).isReg() &&
22935         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22936         MI->getOperand(2).isImm() &&
22937         MI->getOperand(2).getImm() == 31 &&
22938         MI->getOperand(3).isImm() &&
22939         MI->getOperand(3).getImm() == 1 &&
22945     if (MI->getNumOperands() == 4 &&
22946         MI->getOperand(0).isReg() &&
22947         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22948         MI->getOperand(3).isImm() &&
22949         MI->getOperand(3).getImm() == 1 &&
22957     if (MI->getNumOperands() == 4 &&
22958         MI->getOperand(0).isReg() &&
22959         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22960         MI->getOperand(1).isReg() &&
22961         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22962         MI->getOperand(2).isImm() &&
22963         MI->getOperand(2).getImm() == 31 &&
22964         MI->getOperand(3).isImm() &&
22965         MI->getOperand(3).getImm() == 1 &&
22971     if (MI->getNumOperands() == 4 &&
22972         MI->getOperand(0).isReg() &&
22973         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22974         MI->getOperand(1).isReg() &&
22975         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22976         MI->getOperand(3).isImm() &&
22977         MI->getOperand(3).getImm() == 1 &&
22985     if (MI->getNumOperands() == 4 &&
22986         MI->getOperand(0).isReg() &&
22987         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22988         MI->getOperand(2).isImm() &&
22989         MI->getOperand(2).getImm() == 31 &&
22990         MI->getOperand(3).isImm() &&
22991         MI->getOperand(3).getImm() == 1 &&
22997     if (MI->getNumOperands() == 4 &&
22998         MI->getOperand(0).isReg() &&
22999         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23000         MI->getOperand(3).isImm() &&
23001         MI->getOperand(3).getImm() == 1 &&
23009     if (MI->getNumOperands() == 4 &&
23010         MI->getOperand(0).isReg() &&
23011         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23012         MI->getOperand(2).isImm() &&
23013         MI->getOperand(2).getImm() == 31 &&
23014         MI->getOperand(3).isImm() &&
23015         MI->getOperand(3).getImm() == 1 &&
23021     if (MI->getNumOperands() == 4 &&
23022         MI->getOperand(0).isReg() &&
23023         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23024         MI->getOperand(3).isImm() &&
23025         MI->getOperand(3).getImm() == 1 &&
23033     if (MI->getNumOperands() == 4 &&
23034         MI->getOperand(0).isReg() &&
23035         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23036         MI->getOperand(1).isReg() &&
23037         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23038         MI->getOperand(2).isImm() &&
23039         MI->getOperand(2).getImm() == 31 &&
23040         MI->getOperand(3).isImm() &&
23041         MI->getOperand(3).getImm() == 1 &&
23047     if (MI->getNumOperands() == 4 &&
23048         MI->getOperand(0).isReg() &&
23049         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23050         MI->getOperand(1).isReg() &&
23051         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23052         MI->getOperand(3).isImm() &&
23053         MI->getOperand(3).getImm() == 1 &&
23061     if (MI->getNumOperands() == 4 &&
23062         MI->getOperand(0).isReg() &&
23063         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23064         MI->getOperand(2).isImm() &&
23065         MI->getOperand(2).getImm() == 31 &&
23066         MI->getOperand(3).isImm() &&
23067         MI->getOperand(3).getImm() == 1 &&
23073     if (MI->getNumOperands() == 4 &&
23074         MI->getOperand(0).isReg() &&
23075         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23076         MI->getOperand(3).isImm() &&
23077         MI->getOperand(3).getImm() == 1 &&
23085     if (MI->getNumOperands() == 4 &&
23086         MI->getOperand(0).isReg() &&
23087         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23088         MI->getOperand(2).isImm() &&
23089         MI->getOperand(2).getImm() == 31 &&
23090         MI->getOperand(3).isImm() &&
23091         MI->getOperand(3).getImm() == 1 &&
23097     if (MI->getNumOperands() == 4 &&
23098         MI->getOperand(0).isReg() &&
23099         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23100         MI->getOperand(3).isImm() &&
23101         MI->getOperand(3).getImm() == 1 &&
23109     if (MI->getNumOperands() == 4 &&
23110         MI->getOperand(0).isReg() &&
23111         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23112         MI->getOperand(1).isReg() &&
23113         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23114         MI->getOperand(2).isImm() &&
23115         MI->getOperand(2).getImm() == 31 &&
23116         MI->getOperand(3).isImm() &&
23117         MI->getOperand(3).getImm() == 1 &&
23123     if (MI->getNumOperands() == 4 &&
23124         MI->getOperand(0).isReg() &&
23125         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23126         MI->getOperand(1).isReg() &&
23127         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23128         MI->getOperand(3).isImm() &&
23129         MI->getOperand(3).getImm() == 1 &&
23137     if (MI->getNumOperands() == 4 &&
23138         MI->getOperand(0).isReg() &&
23139         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23140         MI->getOperand(2).isImm() &&
23141         MI->getOperand(2).getImm() == 31 &&
23142         MI->getOperand(3).isImm() &&
23143         MI->getOperand(3).getImm() == 1 &&
23149     if (MI->getNumOperands() == 4 &&
23150         MI->getOperand(0).isReg() &&
23151         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23152         MI->getOperand(3).isImm() &&
23153         MI->getOperand(3).getImm() == 1 &&
23161     if (MI->getNumOperands() == 4 &&
23162         MI->getOperand(0).isReg() &&
23163         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23164         MI->getOperand(2).isImm() &&
23165         MI->getOperand(2).getImm() == 31 &&
23166         MI->getOperand(3).isImm() &&
23167         MI->getOperand(3).getImm() == 1 &&
23173     if (MI->getNumOperands() == 4 &&
23174         MI->getOperand(0).isReg() &&
23175         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23176         MI->getOperand(3).isImm() &&
23177         MI->getOperand(3).getImm() == 1 &&
23185     if (MI->getNumOperands() == 4 &&
23186         MI->getOperand(0).isReg() &&
23187         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23188         MI->getOperand(1).isReg() &&
23189         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23190         MI->getOperand(2).isImm() &&
23191         MI->getOperand(2).getImm() == 31 &&
23192         MI->getOperand(3).isImm() &&
23193         MI->getOperand(3).getImm() == 1 &&
23199     if (MI->getNumOperands() == 4 &&
23200         MI->getOperand(0).isReg() &&
23201         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23202         MI->getOperand(1).isReg() &&
23203         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23204         MI->getOperand(3).isImm() &&
23205         MI->getOperand(3).getImm() == 1 &&
23213     if (MI->getNumOperands() == 4 &&
23214         MI->getOperand(0).isReg() &&
23215         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23216         MI->getOperand(2).isImm() &&
23217         MI->getOperand(2).getImm() == 31 &&
23218         MI->getOperand(3).isImm() &&
23219         MI->getOperand(3).getImm() == 1 &&
23225     if (MI->getNumOperands() == 4 &&
23226         MI->getOperand(0).isReg() &&
23227         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23228         MI->getOperand(3).isImm() &&
23229         MI->getOperand(3).getImm() == 1 &&
23237     if (MI->getNumOperands() == 4 &&
23238         MI->getOperand(0).isReg() &&
23239         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23240         MI->getOperand(1).isReg() &&
23241         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23242         MI->getOperand(2).isImm() &&
23243         MI->getOperand(2).getImm() == 31 &&
23244         MI->getOperand(3).isImm() &&
23245         MI->getOperand(3).getImm() == 1 &&
23251     if (MI->getNumOperands() == 4 &&
23252         MI->getOperand(0).isReg() &&
23253         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23254         MI->getOperand(1).isReg() &&
23255         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23256         MI->getOperand(3).isImm() &&
23257         MI->getOperand(3).getImm() == 1 &&
23265     if (MI->getNumOperands() == 4 &&
23266         MI->getOperand(0).isReg() &&
23267         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23268         MI->getOperand(2).isImm() &&
23269         MI->getOperand(2).getImm() == 31 &&
23270         MI->getOperand(3).isImm() &&
23271         MI->getOperand(3).getImm() == 1 &&
23277     if (MI->getNumOperands() == 4 &&
23278         MI->getOperand(0).isReg() &&
23279         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23280         MI->getOperand(3).isImm() &&
23281         MI->getOperand(3).getImm() == 1 &&
23289     if (MI->getNumOperands() == 4 &&
23290         MI->getOperand(0).isReg() &&
23291         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23292         MI->getOperand(2).isImm() &&
23293         MI->getOperand(2).getImm() == 31 &&
23294         MI->getOperand(3).isImm() &&
23295         MI->getOperand(3).getImm() == 1 &&
23301     if (MI->getNumOperands() == 4 &&
23302         MI->getOperand(0).isReg() &&
23303         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23304         MI->getOperand(3).isImm() &&
23305         MI->getOperand(3).getImm() == 1 &&
23313     if (MI->getNumOperands() == 4 &&
23314         MI->getOperand(0).isReg() &&
23315         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23316         MI->getOperand(1).isReg() &&
23317         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23318         MI->getOperand(2).isImm() &&
23319         MI->getOperand(2).getImm() == 31 &&
23320         MI->getOperand(3).isImm() &&
23321         MI->getOperand(3).getImm() == 1 &&
23327     if (MI->getNumOperands() == 4 &&
23328         MI->getOperand(0).isReg() &&
23329         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23330         MI->getOperand(1).isReg() &&
23331         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23332         MI->getOperand(3).isImm() &&
23333         MI->getOperand(3).getImm() == 1 &&
23341     if (MI->getNumOperands() == 4 &&
23342         MI->getOperand(0).isReg() &&
23343         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23344         MI->getOperand(2).isImm() &&
23345         MI->getOperand(2).getImm() == 31 &&
23346         MI->getOperand(3).isImm() &&
23347         MI->getOperand(3).getImm() == 1 &&
23353     if (MI->getNumOperands() == 4 &&
23354         MI->getOperand(0).isReg() &&
23355         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23356         MI->getOperand(3).isImm() &&
23357         MI->getOperand(3).getImm() == 1 &&
23365     if (MI->getNumOperands() == 4 &&
23366         MI->getOperand(0).isReg() &&
23367         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23368         MI->getOperand(2).isImm() &&
23369         MI->getOperand(2).getImm() == 31 &&
23370         MI->getOperand(3).isImm() &&
23371         MI->getOperand(3).getImm() == 1 &&
23377     if (MI->getNumOperands() == 4 &&
23378         MI->getOperand(0).isReg() &&
23379         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23380         MI->getOperand(3).isImm() &&
23381         MI->getOperand(3).getImm() == 1 &&
23389     if (MI->getNumOperands() == 4 &&
23390         MI->getOperand(0).isReg() &&
23391         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23392         MI->getOperand(1).isReg() &&
23393         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23394         MI->getOperand(2).isImm() &&
23395         MI->getOperand(2).getImm() == 31 &&
23396         MI->getOperand(3).isImm() &&
23397         MI->getOperand(3).getImm() == 1 &&
23403     if (MI->getNumOperands() == 4 &&
23404         MI->getOperand(0).isReg() &&
23405         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23406         MI->getOperand(1).isReg() &&
23407         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23408         MI->getOperand(3).isImm() &&
23409         MI->getOperand(3).getImm() == 1 &&
23417     if (MI->getNumOperands() == 4 &&
23418         MI->getOperand(0).isReg() &&
23419         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23420         MI->getOperand(2).isImm() &&
23421         MI->getOperand(2).getImm() == 31 &&
23422         MI->getOperand(3).isImm() &&
23423         MI->getOperand(3).getImm() == 1 &&
23429     if (MI->getNumOperands() == 4 &&
23430         MI->getOperand(0).isReg() &&
23431         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23432         MI->getOperand(3).isImm() &&
23433         MI->getOperand(3).getImm() == 1 &&
23441     if (MI->getNumOperands() == 4 &&
23442         MI->getOperand(0).isReg() &&
23443         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23444         MI->getOperand(1).isReg() &&
23445         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23446         MI->getOperand(2).isReg() &&
23447         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23448         MI->getOperand(3).isImm() &&
23449         MI->getOperand(3).getImm() == 0 &&
23457     if (MI->getNumOperands() == 4 &&
23458         MI->getOperand(0).isReg() &&
23459         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23460         MI->getOperand(1).isReg() &&
23461         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23462         MI->getOperand(2).isReg() &&
23463         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23464         MI->getOperand(3).isImm() &&
23465         MI->getOperand(3).getImm() == 0 &&
23473     if (MI->getNumOperands() == 4 &&
23474         MI->getOperand(0).isReg() &&
23475         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23476         MI->getOperand(1).isReg() &&
23477         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23478         MI->getOperand(2).isReg() &&
23479         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23480         MI->getOperand(3).isImm() &&
23481         MI->getOperand(3).getImm() == 0 &&
23489     if (MI->getNumOperands() == 4 &&
23490         MI->getOperand(0).isReg() &&
23491         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23492         MI->getOperand(1).isReg() &&
23493         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23494         MI->getOperand(2).isReg() &&
23495         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23496         MI->getOperand(3).isImm() &&
23497         MI->getOperand(3).getImm() == 0 &&
23505     if (MI->getNumOperands() == 4 &&
23506         MI->getOperand(0).isReg() &&
23507         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23508         MI->getOperand(1).isReg() &&
23509         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23510         MI->getOperand(2).isReg() &&
23511         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23512         MI->getOperand(3).isImm() &&
23513         MI->getOperand(3).getImm() == 0 &&
23521     if (MI->getNumOperands() == 4 &&
23522         MI->getOperand(0).isReg() &&
23523         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23524         MI->getOperand(1).isReg() &&
23525         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23526         MI->getOperand(2).isReg() &&
23527         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23528         MI->getOperand(3).isImm() &&
23529         MI->getOperand(3).getImm() == 0 &&
23537     if (MI->getNumOperands() == 4 &&
23538         MI->getOperand(0).isReg() &&
23539         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23540         MI->getOperand(1).isReg() &&
23541         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23542         MI->getOperand(2).isReg() &&
23543         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23544         MI->getOperand(3).isImm() &&
23545         MI->getOperand(3).getImm() == 0 &&
23553     if (MI->getNumOperands() == 4 &&
23554         MI->getOperand(0).isReg() &&
23555         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23556         MI->getOperand(1).isReg() &&
23557         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23558         MI->getOperand(2).isReg() &&
23559         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
23560         MI->getOperand(3).isImm() &&
23561         MI->getOperand(3).getImm() == 0 &&
23569     if (MI->getNumOperands() == 4 &&
23570         MI->getOperand(0).isReg() &&
23571         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23572         MI->getOperand(1).isReg() &&
23573         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23574         MI->getOperand(2).isReg() &&
23575         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
23576         MI->getOperand(3).isImm() &&
23577         MI->getOperand(3).getImm() == 0 &&
23585     if (MI->getNumOperands() == 4 &&
23586         MI->getOperand(0).isReg() &&
23587         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23588         MI->getOperand(1).isReg() &&
23589         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23590         MI->getOperand(2).isReg() &&
23591         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
23592         MI->getOperand(3).isImm() &&
23593         MI->getOperand(3).getImm() == 0 &&
23601     if (MI->getNumOperands() == 4 &&
23602         MI->getOperand(0).isReg() &&
23603         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23604         MI->getOperand(1).isReg() &&
23605         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23606         MI->getOperand(2).isReg() &&
23607         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
23608         MI->getOperand(3).isImm() &&
23609         MI->getOperand(3).getImm() == 0 &&
23617     if (MI->getNumOperands() == 4 &&
23618         MI->getOperand(0).isReg() &&
23619         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23620         MI->getOperand(1).isReg() &&
23621         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23622         MI->getOperand(2).isReg() &&
23623         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
23624         MI->getOperand(3).isImm() &&
23625         MI->getOperand(3).getImm() == 0 &&
23633     if (MI->getNumOperands() == 4 &&
23634         MI->getOperand(0).isReg() &&
23635         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23636         MI->getOperand(1).isReg() &&
23637         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
23638         MI->getOperand(3).getReg() == AArch64::XZR &&
23646     if (MI->getNumOperands() == 4 &&
23647         MI->getOperand(0).isReg() &&
23648         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23649         MI->getOperand(1).isReg() &&
23650         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
23651         MI->getOperand(3).getReg() == AArch64::XZR &&
23659     if (MI->getNumOperands() == 4 &&
23660         MI->getOperand(0).isReg() &&
23661         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23662         MI->getOperand(1).isReg() &&
23663         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
23664         MI->getOperand(3).getReg() == AArch64::XZR &&
23672     if (MI->getNumOperands() == 4 &&
23673         MI->getOperand(0).isReg() &&
23674         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23675         MI->getOperand(1).isReg() &&
23676         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
23677         MI->getOperand(3).getReg() == AArch64::XZR &&
23685     if (MI->getNumOperands() == 4 &&
23686         MI->getOperand(0).isReg() &&
23687         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23688         MI->getOperand(1).isReg() &&
23689         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
23690         MI->getOperand(3).getReg() == AArch64::XZR &&
23698     if (MI->getNumOperands() == 4 &&
23699         MI->getOperand(0).isReg() &&
23700         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23701         MI->getOperand(1).isReg() &&
23702         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
23703         MI->getOperand(3).getReg() == AArch64::XZR &&
23711     if (MI->getNumOperands() == 4 &&
23712         MI->getOperand(0).isReg() &&
23713         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23714         MI->getOperand(1).isReg() &&
23715         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
23716         MI->getOperand(3).getReg() == AArch64::XZR &&
23724     if (MI->getNumOperands() == 4 &&
23725         MI->getOperand(0).isReg() &&
23726         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23727         MI->getOperand(1).isReg() &&
23728         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
23729         MI->getOperand(3).getReg() == AArch64::XZR &&
23737     if (MI->getNumOperands() == 4 &&
23738         MI->getOperand(0).isReg() &&
23739         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23740         MI->getOperand(1).isReg() &&
23741         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23742         MI->getOperand(2).isReg() &&
23743         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
23744         MI->getOperand(3).isImm() &&
23745         MI->getOperand(3).getImm() == 0 &&
23753     if (MI->getNumOperands() == 4 &&
23754         MI->getOperand(0).isReg() &&
23755         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23756         MI->getOperand(1).isReg() &&
23757         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23758         MI->getOperand(2).isReg() &&
23759         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
23760         MI->getOperand(3).isImm() &&
23761         MI->getOperand(3).getImm() == 0 &&
23769     if (MI->getNumOperands() == 4 &&
23770         MI->getOperand(0).isReg() &&
23771         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23772         MI->getOperand(1).isReg() &&
23773         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23774         MI->getOperand(2).isReg() &&
23775         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
23776         MI->getOperand(3).isImm() &&
23777         MI->getOperand(3).getImm() == 0 &&
23785     if (MI->getNumOperands() == 4 &&
23786         MI->getOperand(0).isReg() &&
23787         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23788         MI->getOperand(1).isReg() &&
23789         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
23790         MI->getOperand(3).getReg() == AArch64::XZR &&
23798     if (MI->getNumOperands() == 4 &&
23799         MI->getOperand(0).isReg() &&
23800         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23801         MI->getOperand(1).isReg() &&
23802         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23803         MI->getOperand(3).getReg() == AArch64::XZR &&
23811     if (MI->getNumOperands() == 4 &&
23812         MI->getOperand(0).isReg() &&
23813         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23814         MI->getOperand(1).isReg() &&
23815         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
23816         MI->getOperand(3).getReg() == AArch64::XZR &&
23824     if (MI->getNumOperands() == 4 &&
23825         MI->getOperand(0).isReg() &&
23826         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23827         MI->getOperand(1).isReg() &&
23828         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23829         MI->getOperand(3).getReg() == AArch64::XZR &&
23837     if (MI->getNumOperands() == 4 &&
23838         MI->getOperand(0).isReg() &&
23839         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23840         MI->getOperand(1).isReg() &&
23841         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23842         MI->getOperand(3).getReg() == AArch64::XZR &&
23850     if (MI->getNumOperands() == 4 &&
23851         MI->getOperand(0).isReg() &&
23852         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23853         MI->getOperand(1).isReg() &&
23854         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
23855         MI->getOperand(3).getReg() == AArch64::XZR &&
23863     if (MI->getNumOperands() == 4 &&
23864         MI->getOperand(0).isReg() &&
23865         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23866         MI->getOperand(1).isReg() &&
23867         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23868         MI->getOperand(3).getReg() == AArch64::XZR &&
23876     if (MI->getNumOperands() == 4 &&
23877         MI->getOperand(0).isReg() &&
23878         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23879         MI->getOperand(1).isReg() &&
23880         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
23881         MI->getOperand(3).getReg() == AArch64::XZR &&
23889     if (MI->getNumOperands() == 4 &&
23890         MI->getOperand(0).isReg() &&
23891         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23892         MI->getOperand(1).isReg() &&
23893         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
23894         MI->getOperand(3).getReg() == AArch64::XZR &&
23902     if (MI->getNumOperands() == 4 &&
23903         MI->getOperand(0).isReg() &&
23904         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23905         MI->getOperand(1).isReg() &&
23906         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
23907         MI->getOperand(3).getReg() == AArch64::XZR &&
23915     if (MI->getNumOperands() == 4 &&
23916         MI->getOperand(0).isReg() &&
23917         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23918         MI->getOperand(1).isReg() &&
23919         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
23920         MI->getOperand(3).getReg() == AArch64::XZR &&
23928     if (MI->getNumOperands() == 4 &&
23929         MI->getOperand(0).isReg() &&
23930         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23931         MI->getOperand(1).isReg() &&
23932         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
23933         MI->getOperand(3).getReg() == AArch64::XZR &&
23941     if (MI->getNumOperands() == 4 &&
23942         MI->getOperand(0).isReg() &&
23943         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23944         MI->getOperand(1).isReg() &&
23945         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
23946         MI->getOperand(3).getReg() == AArch64::XZR &&
23954     if (MI->getNumOperands() == 4 &&
23955         MI->getOperand(0).isReg() &&
23956         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23957         MI->getOperand(1).isReg() &&
23958         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
23959         MI->getOperand(3).getReg() == AArch64::XZR &&
23967     if (MI->getNumOperands() == 4 &&
23968         MI->getOperand(0).isReg() &&
23969         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23970         MI->getOperand(1).isReg() &&
23971         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
23972         MI->getOperand(3).getReg() == AArch64::XZR &&
23980     if (MI->getNumOperands() == 4 &&
23981         MI->getOperand(0).isReg() &&
23982         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23983         MI->getOperand(1).isReg() &&
23984         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
23985         MI->getOperand(3).getReg() == AArch64::XZR &&
23993     if (MI->getNumOperands() == 4 &&
23994         MI->getOperand(0).isReg() &&
23995         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
23996         MI->getOperand(1).isReg() &&
23997         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
23998         MI->getOperand(3).getReg() == AArch64::XZR &&
24006     if (MI->getNumOperands() == 4 &&
24007         MI->getOperand(0).isReg() &&
24008         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24009         MI->getOperand(1).isReg() &&
24010         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
24011         MI->getOperand(3).getReg() == AArch64::XZR &&
24019     if (MI->getNumOperands() == 4 &&
24020         MI->getOperand(0).isReg() &&
24021         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24022         MI->getOperand(1).isReg() &&
24023         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24024         MI->getOperand(3).getReg() == AArch64::XZR &&
24032     if (MI->getNumOperands() == 4 &&
24033         MI->getOperand(0).isReg() &&
24034         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24035         MI->getOperand(1).isReg() &&
24036         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
24037         MI->getOperand(3).getReg() == AArch64::XZR &&
24045     if (MI->getNumOperands() == 4 &&
24046         MI->getOperand(0).isReg() &&
24047         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24048         MI->getOperand(1).isReg() &&
24049         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
24050         MI->getOperand(3).getReg() == AArch64::XZR &&
24058     if (MI->getNumOperands() == 4 &&
24059         MI->getOperand(0).isReg() &&
24060         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24061         MI->getOperand(1).isReg() &&
24062         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24063         MI->getOperand(3).getReg() == AArch64::XZR &&
24071     if (MI->getNumOperands() == 4 &&
24072         MI->getOperand(0).isReg() &&
24073         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24074         MI->getOperand(1).isReg() &&
24075         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
24076         MI->getOperand(3).getReg() == AArch64::XZR &&
24084     if (MI->getNumOperands() == 4 &&
24085         MI->getOperand(0).isReg() &&
24086         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24087         MI->getOperand(1).isReg() &&
24088         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24089         MI->getOperand(3).getReg() == AArch64::XZR &&
24097     if (MI->getNumOperands() == 4 &&
24098         MI->getOperand(0).isReg() &&
24099         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24100         MI->getOperand(1).isReg() &&
24101         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24102         MI->getOperand(2).isReg() &&
24103         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24104         MI->getOperand(3).isImm() &&
24105         MI->getOperand(3).getImm() == 0 &&
24113     if (MI->getNumOperands() == 4 &&
24114         MI->getOperand(0).isReg() &&
24115         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24116         MI->getOperand(1).isReg() &&
24117         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24118         MI->getOperand(2).isReg() &&
24119         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24120         MI->getOperand(3).isImm() &&
24121         MI->getOperand(3).getImm() == 0 &&
24129     if (MI->getNumOperands() == 5 &&
24130         MI->getOperand(0).isReg() &&
24131         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24132         MI->getOperand(1).isReg() &&
24133         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
24134         MI->getOperand(4).getReg() == AArch64::XZR &&
24142     if (MI->getNumOperands() == 5 &&
24143         MI->getOperand(0).isReg() &&
24144         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24145         MI->getOperand(1).isReg() &&
24146         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
24147         MI->getOperand(4).getReg() == AArch64::XZR &&
24155     if (MI->getNumOperands() == 5 &&
24156         MI->getOperand(0).isReg() &&
24157         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24158         MI->getOperand(1).isReg() &&
24159         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
24160         MI->getOperand(4).getReg() == AArch64::XZR &&
24168     if (MI->getNumOperands() == 5 &&
24169         MI->getOperand(0).isReg() &&
24170         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24171         MI->getOperand(1).isReg() &&
24172         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
24173         MI->getOperand(4).getReg() == AArch64::XZR &&
24181     if (MI->getNumOperands() == 4 &&
24182         MI->getOperand(0).isReg() &&
24183         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
24184         MI->getOperand(1).isReg() &&
24185         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24186         MI->getOperand(2).isReg() &&
24187         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24188         MI->getOperand(3).isImm() &&
24189         MI->getOperand(3).getImm() == 0 &&
24197     if (MI->getNumOperands() == 4 &&
24198         MI->getOperand(0).isReg() &&
24199         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
24200         MI->getOperand(1).isReg() &&
24201         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24202         MI->getOperand(2).isReg() &&
24203         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24204         MI->getOperand(3).isImm() &&
24205         MI->getOperand(3).getImm() == 0 &&
24213     if (MI->getNumOperands() == 3 &&
24214         MI->getOperand(0).isReg() &&
24215         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24216         MI->getOperand(1).isReg() &&
24217         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
24218         MI->getOperand(2).isImm() &&
24219         MI->getOperand(2).getImm() == 0 &&
24227     if (MI->getNumOperands() == 4 &&
24228         MI->getOperand(0).isReg() &&
24229         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
24230         MI->getOperand(1).isReg() &&
24231         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24232         MI->getOperand(2).isReg() &&
24233         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24234         MI->getOperand(3).isImm() &&
24235         MI->getOperand(3).getImm() == 0 &&
24243     if (MI->getNumOperands() == 4 &&
24244         MI->getOperand(0).isReg() &&
24245         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24246         MI->getOperand(1).isReg() &&
24247         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24248         MI->getOperand(3).getReg() == AArch64::XZR &&
24256     if (MI->getNumOperands() == 4 &&
24257         MI->getOperand(0).isReg() &&
24258         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24259         MI->getOperand(1).isReg() &&
24260         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24261         MI->getOperand(3).getReg() == AArch64::XZR &&
24269     if (MI->getNumOperands() == 4 &&
24270         MI->getOperand(0).isReg() &&
24271         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24272         MI->getOperand(1).isReg() &&
24273         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
24274         MI->getOperand(3).getReg() == AArch64::XZR &&
24282     if (MI->getNumOperands() == 4 &&
24283         MI->getOperand(0).isReg() &&
24284         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24285         MI->getOperand(1).isReg() &&
24286         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
24287         MI->getOperand(3).getReg() == AArch64::XZR &&
24295     if (MI->getNumOperands() == 4 &&
24296         MI->getOperand(0).isReg() &&
24297         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24298         MI->getOperand(1).isReg() &&
24299         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24300         MI->getOperand(3).getReg() == AArch64::XZR &&
24308     if (MI->getNumOperands() == 4 &&
24309         MI->getOperand(0).isReg() &&
24310         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24311         MI->getOperand(1).isReg() &&
24312         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
24313         MI->getOperand(3).getReg() == AArch64::XZR &&
24321     if (MI->getNumOperands() == 4 &&
24322         MI->getOperand(0).isReg() &&
24323         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24324         MI->getOperand(1).isReg() &&
24325         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24326         MI->getOperand(3).getReg() == AArch64::XZR &&
24334     if (MI->getNumOperands() == 4 &&
24335         MI->getOperand(0).isReg() &&
24336         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
24337         MI->getOperand(1).isReg() &&
24338         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24339         MI->getOperand(2).isReg() &&
24340         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24341         MI->getOperand(3).isImm() &&
24342         MI->getOperand(3).getImm() == 0 &&
24350     if (MI->getNumOperands() == 5 &&
24351         MI->getOperand(0).isReg() &&
24352         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24353         MI->getOperand(1).isReg() &&
24354         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24355         MI->getOperand(4).getReg() == AArch64::XZR &&
24363     if (MI->getNumOperands() == 5 &&
24364         MI->getOperand(0).isReg() &&
24365         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24366         MI->getOperand(1).isReg() &&
24367         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24368         MI->getOperand(4).getReg() == AArch64::XZR &&
24376     if (MI->getNumOperands() == 5 &&
24377         MI->getOperand(0).isReg() &&
24378         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24379         MI->getOperand(1).isReg() &&
24380         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24381         MI->getOperand(4).getReg() == AArch64::XZR &&
24389     if (MI->getNumOperands() == 5 &&
24390         MI->getOperand(0).isReg() &&
24391         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24392         MI->getOperand(1).isReg() &&
24393         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24394         MI->getOperand(4).getReg() == AArch64::XZR &&
24402     if (MI->getNumOperands() == 4 &&
24403         MI->getOperand(0).isReg() &&
24404         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
24405         MI->getOperand(1).isReg() &&
24406         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24407         MI->getOperand(2).isReg() &&
24408         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24409         MI->getOperand(3).isImm() &&
24410         MI->getOperand(3).getImm() == 0 &&
24418     if (MI->getNumOperands() == 4 &&
24419         MI->getOperand(0).isReg() &&
24420         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
24421         MI->getOperand(1).isReg() &&
24422         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24423         MI->getOperand(2).isReg() &&
24424         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24425         MI->getOperand(3).isImm() &&
24426         MI->getOperand(3).getImm() == 0 &&
24434     if (MI->getNumOperands() == 4 &&
24435         MI->getOperand(0).isReg() &&
24436         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
24437         MI->getOperand(1).isReg() &&
24438         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24439         MI->getOperand(2).isReg() &&
24440         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24441         MI->getOperand(3).isImm() &&
24442         MI->getOperand(3).getImm() == 0 &&
24450     if (MI->getNumOperands() == 4 &&
24451         MI->getOperand(0).isReg() &&
24452         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24453         MI->getOperand(1).isReg() &&
24454         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24455         MI->getOperand(3).getReg() == AArch64::XZR &&
24463     if (MI->getNumOperands() == 4 &&
24464         MI->getOperand(0).isReg() &&
24465         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24466         MI->getOperand(1).isReg() &&
24467         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24468         MI->getOperand(3).getReg() == AArch64::XZR &&
24476     if (MI->getNumOperands() == 4 &&
24477         MI->getOperand(0).isReg() &&
24478         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24479         MI->getOperand(1).isReg() &&
24480         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
24481         MI->getOperand(3).getReg() == AArch64::XZR &&
24489     if (MI->getNumOperands() == 4 &&
24490         MI->getOperand(0).isReg() &&
24491         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24492         MI->getOperand(1).isReg() &&
24493         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
24494         MI->getOperand(3).getReg() == AArch64::XZR &&
24502     if (MI->getNumOperands() == 4 &&
24503         MI->getOperand(0).isReg() &&
24504         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24505         MI->getOperand(1).isReg() &&
24506         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24507         MI->getOperand(3).getReg() == AArch64::XZR &&
24515     if (MI->getNumOperands() == 4 &&
24516         MI->getOperand(0).isReg() &&
24517         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24518         MI->getOperand(1).isReg() &&
24519         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
24520         MI->getOperand(3).getReg() == AArch64::XZR &&
24528     if (MI->getNumOperands() == 4 &&
24529         MI->getOperand(0).isReg() &&
24530         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24531         MI->getOperand(1).isReg() &&
24532         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24533         MI->getOperand(3).getReg() == AArch64::XZR &&
24541     if (MI->getNumOperands() == 4 &&
24542         MI->getOperand(0).isReg() &&
24543         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
24544         MI->getOperand(1).isReg() &&
24545         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24546         MI->getOperand(2).isReg() &&
24547         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24548         MI->getOperand(3).isImm() &&
24549         MI->getOperand(3).getImm() == 0 &&
24557     if (MI->getNumOperands() == 5 &&
24558         MI->getOperand(0).isReg() &&
24559         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24560         MI->getOperand(1).isReg() &&
24561         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24562         MI->getOperand(4).getReg() == AArch64::XZR &&
24570     if (MI->getNumOperands() == 5 &&
24571         MI->getOperand(0).isReg() &&
24572         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24573         MI->getOperand(1).isReg() &&
24574         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24575         MI->getOperand(4).getReg() == AArch64::XZR &&
24583     if (MI->getNumOperands() == 5 &&
24584         MI->getOperand(0).isReg() &&
24585         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24586         MI->getOperand(1).isReg() &&
24587         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24588         MI->getOperand(4).getReg() == AArch64::XZR &&
24596     if (MI->getNumOperands() == 5 &&
24597         MI->getOperand(0).isReg() &&
24598         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24599         MI->getOperand(1).isReg() &&
24600         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24601         MI->getOperand(4).getReg() == AArch64::XZR &&
24609     if (MI->getNumOperands() == 4 &&
24610         MI->getOperand(0).isReg() &&
24611         MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
24612         MI->getOperand(1).isReg() &&
24613         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24614         MI->getOperand(2).isReg() &&
24615         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24616         MI->getOperand(3).isImm() &&
24617         MI->getOperand(3).getImm() == 0 &&
24625     if (MI->getNumOperands() == 4 &&
24626         MI->getOperand(0).isReg() &&
24627         MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
24628         MI->getOperand(1).isReg() &&
24629         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24630         MI->getOperand(2).isReg() &&
24631         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24632         MI->getOperand(3).isImm() &&
24633         MI->getOperand(3).getImm() == 0 &&
24641     if (MI->getNumOperands() == 4 &&
24642         MI->getOperand(0).isReg() &&
24643         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24644         MI->getOperand(1).isReg() &&
24645         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24646         MI->getOperand(3).getReg() == AArch64::XZR &&
24654     if (MI->getNumOperands() == 4 &&
24655         MI->getOperand(0).isReg() &&
24656         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24657         MI->getOperand(1).isReg() &&
24658         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24659         MI->getOperand(3).getReg() == AArch64::XZR &&
24667     if (MI->getNumOperands() == 4 &&
24668         MI->getOperand(0).isReg() &&
24669         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24670         MI->getOperand(1).isReg() &&
24671         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
24672         MI->getOperand(3).getReg() == AArch64::XZR &&
24680     if (MI->getNumOperands() == 4 &&
24681         MI->getOperand(0).isReg() &&
24682         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24683         MI->getOperand(1).isReg() &&
24684         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
24685         MI->getOperand(3).getReg() == AArch64::XZR &&
24693     if (MI->getNumOperands() == 4 &&
24694         MI->getOperand(0).isReg() &&
24695         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24696         MI->getOperand(1).isReg() &&
24697         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24698         MI->getOperand(3).getReg() == AArch64::XZR &&
24706     if (MI->getNumOperands() == 4 &&
24707         MI->getOperand(0).isReg() &&
24708         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24709         MI->getOperand(1).isReg() &&
24710         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
24711         MI->getOperand(3).getReg() == AArch64::XZR &&
24719     if (MI->getNumOperands() == 4 &&
24720         MI->getOperand(0).isReg() &&
24721         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24722         MI->getOperand(1).isReg() &&
24723         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24724         MI->getOperand(3).getReg() == AArch64::XZR &&
24732     if (MI->getNumOperands() == 4 &&
24733         MI->getOperand(0).isReg() &&
24734         MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
24735         MI->getOperand(1).isReg() &&
24736         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24737         MI->getOperand(2).isReg() &&
24738         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24739         MI->getOperand(3).isImm() &&
24740         MI->getOperand(3).getImm() == 0 &&
24748     if (MI->getNumOperands() == 4 &&
24749         MI->getOperand(0).isReg() &&
24750         MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
24751         MI->getOperand(1).isReg() &&
24752         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24753         MI->getOperand(2).isReg() &&
24754         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24755         MI->getOperand(3).isImm() &&
24756         MI->getOperand(3).getImm() == 0 &&
24764     if (MI->getNumOperands() == 5 &&
24765         MI->getOperand(0).isReg() &&
24766         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24767         MI->getOperand(1).isReg() &&
24768         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24769         MI->getOperand(4).getReg() == AArch64::XZR &&
24777     if (MI->getNumOperands() == 5 &&
24778         MI->getOperand(0).isReg() &&
24779         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24780         MI->getOperand(1).isReg() &&
24781         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24782         MI->getOperand(4).getReg() == AArch64::XZR &&
24790     if (MI->getNumOperands() == 5 &&
24791         MI->getOperand(0).isReg() &&
24792         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24793         MI->getOperand(1).isReg() &&
24794         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24795         MI->getOperand(4).getReg() == AArch64::XZR &&
24803     if (MI->getNumOperands() == 5 &&
24804         MI->getOperand(0).isReg() &&
24805         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24806         MI->getOperand(1).isReg() &&
24807         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24808         MI->getOperand(4).getReg() == AArch64::XZR &&
24816     if (MI->getNumOperands() == 3 &&
24817         MI->getOperand(0).isReg() &&
24818         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24819         MI->getOperand(1).isReg() &&
24820         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
24821         MI->getOperand(2).isImm() &&
24822         MI->getOperand(2).getImm() == 0 &&
24830     if (MI->getNumOperands() == 4 &&
24831         MI->getOperand(0).isReg() &&
24832         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24833         MI->getOperand(1).isReg() &&
24834         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
24835         MI->getOperand(2).isReg() &&
24836         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24837         MI->getOperand(3).isImm() &&
24838         MI->getOperand(3).getImm() == 0 &&
24846     if (MI->getNumOperands() == 3 &&
24847         MI->getOperand(0).isReg() &&
24848         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24849         MI->getOperand(1).isReg() &&
24850         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
24851         MI->getOperand(2).isImm() &&
24852         MI->getOperand(2).getImm() == 0 &&
24860     if (MI->getNumOperands() == 3 &&
24861         MI->getOperand(0).isReg() &&
24862         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24863         MI->getOperand(1).isReg() &&
24864         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
24865         MI->getOperand(2).isImm() &&
24866         MI->getOperand(2).getImm() == 0 &&
24874     if (MI->getNumOperands() == 3 &&
24875         MI->getOperand(0).isReg() &&
24876         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24877         MI->getOperand(1).isReg() &&
24878         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
24879         MI->getOperand(2).isImm() &&
24880         MI->getOperand(2).getImm() == 0 &&
24888     if (MI->getNumOperands() == 3 &&
24889         MI->getOperand(0).isReg() &&
24890         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24891         MI->getOperand(1).isReg() &&
24892         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
24893         MI->getOperand(2).isImm() &&
24894         MI->getOperand(2).getImm() == 0 &&
24902     if (MI->getNumOperands() == 4 &&
24903         MI->getOperand(0).isReg() &&
24904         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24905         MI->getOperand(1).isReg() &&
24906         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
24907         MI->getOperand(2).isReg() &&
24908         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24909         MI->getOperand(3).isImm() &&
24910         MI->getOperand(3).getImm() == 0) {
24917     if (MI->getNumOperands() == 4 &&
24918         MI->getOperand(0).isReg() &&
24919         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
24920         MI->getOperand(1).isReg() &&
24921         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
24922         MI->getOperand(2).isReg() &&
24923         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24924         MI->getOperand(3).isImm() &&
24925         MI->getOperand(3).getImm() == 0) {
24932     if (MI->getNumOperands() == 4 &&
24933         MI->getOperand(0).isReg() &&
24934         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24935         MI->getOperand(1).isReg() &&
24936         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
24937         MI->getOperand(2).isReg() &&
24938         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24939         MI->getOperand(3).isImm() &&
24940         MI->getOperand(3).getImm() == 0) {
24947     if (MI->getNumOperands() == 4 &&
24948         MI->getOperand(0).isReg() &&
24949         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
24950         MI->getOperand(1).isReg() &&
24951         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
24952         MI->getOperand(2).isReg() &&
24953         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24954         MI->getOperand(3).isImm() &&
24955         MI->getOperand(3).getImm() == 0) {
24962     if (MI->getNumOperands() == 4 &&
24963         MI->getOperand(0).isReg() &&
24964         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24965         MI->getOperand(1).isReg() &&
24966         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
24967         MI->getOperand(2).isReg() &&
24968         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24969         MI->getOperand(3).isImm() &&
24970         MI->getOperand(3).getImm() == 0) {
24977     if (MI->getNumOperands() == 4 &&
24978         MI->getOperand(0).isReg() &&
24979         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24980         MI->getOperand(1).isReg() &&
24981         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24982         MI->getOperand(2).isReg() &&
24983         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24984         MI->getOperand(3).isImm() &&
24985         MI->getOperand(3).getImm() == 0 &&
24993     if (MI->getNumOperands() == 4 &&
24994         MI->getOperand(0).isReg() &&
24995         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24996         MI->getOperand(1).isReg() &&
24997         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24998         MI->getOperand(2).isReg() &&
24999         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
25000         MI->getOperand(3).getReg() == AArch64::XZR &&
25008     if (MI->getNumOperands() == 4 &&
25009         MI->getOperand(0).isReg() &&
25010         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25011         MI->getOperand(1).isReg() &&
25012         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25013         MI->getOperand(2).isReg() &&
25014         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
25015         MI->getOperand(3).getReg() == AArch64::XZR &&
25023     if (MI->getNumOperands() == 4 &&
25024         MI->getOperand(0).isReg() &&
25025         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25026         MI->getOperand(1).isReg() &&
25027         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25028         MI->getOperand(2).isReg() &&
25029         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25030         MI->getOperand(3).isImm() &&
25031         MI->getOperand(3).getImm() == 0 &&
25039     if (MI->getNumOperands() == 4 &&
25040         MI->getOperand(0).isReg() &&
25041         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25042         MI->getOperand(1).isReg() &&
25043         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25044         MI->getOperand(2).isReg() &&
25045         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
25046         MI->getOperand(3).getReg() == AArch64::XZR &&
25054     if (MI->getNumOperands() == 4 &&
25055         MI->getOperand(0).isReg() &&
25056         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25057         MI->getOperand(1).isReg() &&
25058         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25059         MI->getOperand(2).isReg() &&
25060         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25061         MI->getOperand(3).isImm() &&
25062         MI->getOperand(3).getImm() == 0 &&
25070     if (MI->getNumOperands() == 4 &&
25071         MI->getOperand(0).isReg() &&
25072         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25073         MI->getOperand(1).isReg() &&
25074         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25075         MI->getOperand(2).isReg() &&
25076         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
25077         MI->getOperand(3).getReg() == AArch64::XZR &&
25085     if (MI->getNumOperands() == 4 &&
25086         MI->getOperand(0).isReg() &&
25087         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25088         MI->getOperand(1).isReg() &&
25089         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25090         MI->getOperand(2).isReg() &&
25091         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
25092         MI->getOperand(3).getReg() == AArch64::XZR &&
25100     if (MI->getNumOperands() == 4 &&
25101         MI->getOperand(0).isReg() &&
25102         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25103         MI->getOperand(1).isReg() &&
25104         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25105         MI->getOperand(2).isReg() &&
25106         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25107         MI->getOperand(3).isImm() &&
25108         MI->getOperand(3).getImm() == 0 &&
25116     if (MI->getNumOperands() == 4 &&
25117         MI->getOperand(0).isReg() &&
25118         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25119         MI->getOperand(1).isReg() &&
25120         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25121         MI->getOperand(2).isReg() &&
25122         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
25123         MI->getOperand(3).getReg() == AArch64::XZR &&
25131     if (MI->getNumOperands() == 4 &&
25132         MI->getOperand(0).isReg() &&
25133         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25134         MI->getOperand(1).isReg() &&
25135         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25136         MI->getOperand(2).isReg() &&
25137         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
25138         MI->getOperand(3).getReg() == AArch64::XZR &&
25146     if (MI->getNumOperands() == 4 &&
25147         MI->getOperand(0).isReg() &&
25148         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25149         MI->getOperand(1).isReg() &&
25150         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
25151         MI->getOperand(2).isReg() &&
25152         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25153         MI->getOperand(3).isImm() &&
25154         MI->getOperand(3).getImm() == 0) {
25161     if (MI->getNumOperands() == 4 &&
25162         MI->getOperand(0).isReg() &&
25163         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
25164         MI->getOperand(1).isReg() &&
25165         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
25166         MI->getOperand(2).isReg() &&
25167         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25168         MI->getOperand(3).isImm() &&
25169         MI->getOperand(3).getImm() == 0) {
25176     if (MI->getNumOperands() == 4 &&
25177         MI->getOperand(0).isReg() &&
25178         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25179         MI->getOperand(1).isReg() &&
25180         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
25181         MI->getOperand(2).isReg() &&
25182         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25183         MI->getOperand(3).isImm() &&
25184         MI->getOperand(3).getImm() == 0) {
25191     if (MI->getNumOperands() == 4 &&
25192         MI->getOperand(0).isReg() &&
25193         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25194         MI->getOperand(1).isReg() &&
25195         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
25196         MI->getOperand(2).isReg() &&
25197         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25198         MI->getOperand(3).isImm() &&
25199         MI->getOperand(3).getImm() == 0) {
25206     if (MI->getNumOperands() == 4 &&
25207         MI->getOperand(0).isReg() &&
25208         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25209         MI->getOperand(1).isReg() &&
25210         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
25211         MI->getOperand(2).isReg() &&
25212         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25213         MI->getOperand(3).isImm() &&
25214         MI->getOperand(3).getImm() == 0) {
25221     if (MI->getNumOperands() == 5 &&
25222         MI->getOperand(0).isReg() &&
25223         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25224         MI->getOperand(1).isReg() &&
25225         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25226         MI->getOperand(2).isReg() &&
25227         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25228         MI->getOperand(3).isImm() &&
25229         MI->getOperand(3).getImm() == 0 &&
25230         MI->getOperand(4).isImm() &&
25231         MI->getOperand(4).getImm() == 0) {
25238     if (MI->getNumOperands() == 3 &&
25239         MI->getOperand(0).isReg() &&
25240         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25241         MI->getOperand(1).isReg() &&
25242         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25243         MI->getOperand(2).isImm() &&
25244         MI->getOperand(2).getImm() == 0) {
25251     if (MI->getNumOperands() == 5 &&
25252         MI->getOperand(0).isReg() &&
25253         MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
25254         MI->getOperand(1).isReg() &&
25255         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25256         MI->getOperand(2).isReg() &&
25257         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25258         MI->getOperand(3).isImm() &&
25259         MI->getOperand(3).getImm() == 0 &&
25260         MI->getOperand(4).isImm() &&
25261         MI->getOperand(4).getImm() == 0) {
25268     if (MI->getNumOperands() == 3 &&
25269         MI->getOperand(0).isReg() &&
25270         MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
25271         MI->getOperand(1).isReg() &&
25272         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25273         MI->getOperand(2).isImm() &&
25274         MI->getOperand(2).getImm() == 0) {
25281     if (MI->getNumOperands() == 5 &&
25282         MI->getOperand(0).isReg() &&
25283         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25284         MI->getOperand(1).isReg() &&
25285         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25286         MI->getOperand(2).isReg() &&
25287         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25288         MI->getOperand(3).isImm() &&
25289         MI->getOperand(3).getImm() == 0 &&
25290         MI->getOperand(4).isImm() &&
25291         MI->getOperand(4).getImm() == 0) {
25298     if (MI->getNumOperands() == 3 &&
25299         MI->getOperand(0).isReg() &&
25300         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25301         MI->getOperand(1).isReg() &&
25302         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25303         MI->getOperand(2).isImm() &&
25304         MI->getOperand(2).getImm() == 0) {
25311     if (MI->getNumOperands() == 5 &&
25312         MI->getOperand(0).isReg() &&
25313         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25314         MI->getOperand(1).isReg() &&
25315         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25316         MI->getOperand(2).isReg() &&
25317         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25318         MI->getOperand(3).isImm() &&
25319         MI->getOperand(3).getImm() == 0 &&
25320         MI->getOperand(4).isImm() &&
25321         MI->getOperand(4).getImm() == 0) {
25328     if (MI->getNumOperands() == 3 &&
25329         MI->getOperand(0).isReg() &&
25330         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25331         MI->getOperand(1).isReg() &&
25332         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25333         MI->getOperand(2).isImm() &&
25334         MI->getOperand(2).getImm() == 0) {
25341     if (MI->getNumOperands() == 5 &&
25342         MI->getOperand(0).isReg() &&
25343         MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
25344         MI->getOperand(1).isReg() &&
25345         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25346         MI->getOperand(2).isReg() &&
25347         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25348         MI->getOperand(3).isImm() &&
25349         MI->getOperand(3).getImm() == 0 &&
25350         MI->getOperand(4).isImm() &&
25351         MI->getOperand(4).getImm() == 0) {
25358     if (MI->getNumOperands() == 3 &&
25359         MI->getOperand(0).isReg() &&
25360         MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
25361         MI->getOperand(1).isReg() &&
25362         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25363         MI->getOperand(2).isImm() &&
25364         MI->getOperand(2).getImm() == 0) {
25371     if (MI->getNumOperands() == 5 &&
25372         MI->getOperand(0).isReg() &&
25373         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
25374         MI->getOperand(1).isReg() &&
25375         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25376         MI->getOperand(2).isReg() &&
25377         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25378         MI->getOperand(3).isImm() &&
25379         MI->getOperand(3).getImm() == 0 &&
25380         MI->getOperand(4).isImm() &&
25381         MI->getOperand(4).getImm() == 0) {
25388     if (MI->getNumOperands() == 3 &&
25389         MI->getOperand(0).isReg() &&
25390         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
25391         MI->getOperand(1).isReg() &&
25392         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25393         MI->getOperand(2).isImm() &&
25394         MI->getOperand(2).getImm() == 0) {
25401     if (MI->getNumOperands() == 5 &&
25402         MI->getOperand(0).isReg() &&
25403         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25404         MI->getOperand(1).isReg() &&
25405         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25406         MI->getOperand(2).isReg() &&
25407         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25408         MI->getOperand(3).isImm() &&
25409         MI->getOperand(3).getImm() == 0 &&
25410         MI->getOperand(4).isImm() &&
25411         MI->getOperand(4).getImm() == 0) {
25418     if (MI->getNumOperands() == 3 &&
25419         MI->getOperand(0).isReg() &&
25420         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25421         MI->getOperand(1).isReg() &&
25422         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25423         MI->getOperand(2).isImm() &&
25424         MI->getOperand(2).getImm() == 0) {
25431     if (MI->getNumOperands() == 5 &&
25432         MI->getOperand(0).isReg() &&
25433         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25434         MI->getOperand(1).isReg() &&
25435         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25436         MI->getOperand(2).isReg() &&
25437         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25438         MI->getOperand(3).isImm() &&
25439         MI->getOperand(3).getImm() == 0 &&
25440         MI->getOperand(4).isImm() &&
25441         MI->getOperand(4).getImm() == 0) {
25448     if (MI->getNumOperands() == 3 &&
25449         MI->getOperand(0).isReg() &&
25450         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25451         MI->getOperand(1).isReg() &&
25452         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25453         MI->getOperand(2).isImm() &&
25454         MI->getOperand(2).getImm() == 0) {
25461     if (MI->getNumOperands() == 5 &&
25462         MI->getOperand(0).isReg() &&
25463         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25464         MI->getOperand(1).isReg() &&
25465         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25466         MI->getOperand(2).isReg() &&
25467         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25468         MI->getOperand(3).isImm() &&
25469         MI->getOperand(3).getImm() == 0 &&
25470         MI->getOperand(4).isImm() &&
25471         MI->getOperand(4).getImm() == 0) {
25478     if (MI->getNumOperands() == 3 &&
25479         MI->getOperand(0).isReg() &&
25480         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25481         MI->getOperand(1).isReg() &&
25482         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25483         MI->getOperand(2).isImm() &&
25484         MI->getOperand(2).getImm() == 0) {
25491     if (MI->getNumOperands() == 3 &&
25492         MI->getOperand(0).isReg() &&
25493         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25494         MI->getOperand(1).isReg() &&
25495         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25496         MI->getOperand(2).isImm() &&
25497         MI->getOperand(2).getImm() == 0 &&
25505     if (MI->getNumOperands() == 3 &&
25506         MI->getOperand(0).isReg() &&
25507         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25508         MI->getOperand(1).isReg() &&
25509         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25510         MI->getOperand(2).isImm() &&
25511         MI->getOperand(2).getImm() == 0 &&
25519     if (MI->getNumOperands() == 3 &&
25520         MI->getOperand(0).isReg() &&
25521         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25522         MI->getOperand(1).isReg() &&
25523         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25524         MI->getOperand(2).isImm() &&
25525         MI->getOperand(2).getImm() == 0) {
25532     if (MI->getNumOperands() == 3 &&
25533         MI->getOperand(0).isReg() &&
25534         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25535         MI->getOperand(1).isReg() &&
25536         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25537         MI->getOperand(2).isImm() &&
25538         MI->getOperand(2).getImm() == 0) {
25545     if (MI->getNumOperands() == 3 &&
25546         MI->getOperand(0).isReg() &&
25547         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25548         MI->getOperand(1).isReg() &&
25549         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25550         MI->getOperand(2).isImm() &&
25551         MI->getOperand(2).getImm() == 0) {
25558     if (MI->getNumOperands() == 3 &&
25559         MI->getOperand(0).isReg() &&
25560         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25561         MI->getOperand(1).isReg() &&
25562         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25563         MI->getOperand(2).isImm() &&
25564         MI->getOperand(2).getImm() == 0) {
25571     if (MI->getNumOperands() == 3 &&
25572         MI->getOperand(0).isReg() &&
25573         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25574         MI->getOperand(1).isReg() &&
25575         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25576         MI->getOperand(2).isImm() &&
25577         MI->getOperand(2).getImm() == 0) {
25584     if (MI->getNumOperands() == 3 &&
25585         MI->getOperand(0).isReg() &&
25586         MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
25587         MI->getOperand(1).isReg() &&
25588         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25589         MI->getOperand(2).isImm() &&
25590         MI->getOperand(2).getImm() == 0) {
25597     if (MI->getNumOperands() == 3 &&
25598         MI->getOperand(0).isReg() &&
25599         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25600         MI->getOperand(1).isReg() &&
25601         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25602         MI->getOperand(2).isImm() &&
25603         MI->getOperand(2).getImm() == 0) {
25610     if (MI->getNumOperands() == 3 &&
25611         MI->getOperand(0).isReg() &&
25612         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25613         MI->getOperand(1).isReg() &&
25614         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25615         MI->getOperand(2).isImm() &&
25616         MI->getOperand(2).getImm() == 0) {
25623     if (MI->getNumOperands() == 3 &&
25624         MI->getOperand(0).isReg() &&
25625         MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
25626         MI->getOperand(1).isReg() &&
25627         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25628         MI->getOperand(2).isImm() &&
25629         MI->getOperand(2).getImm() == 0) {
25636     if (MI->getNumOperands() == 3 &&
25637         MI->getOperand(0).isReg() &&
25638         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
25639         MI->getOperand(1).isReg() &&
25640         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25641         MI->getOperand(2).isImm() &&
25642         MI->getOperand(2).getImm() == 0) {
25649     if (MI->getNumOperands() == 3 &&
25650         MI->getOperand(0).isReg() &&
25651         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25652         MI->getOperand(1).isReg() &&
25653         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25654         MI->getOperand(2).isImm() &&
25655         MI->getOperand(2).getImm() == 0) {
25662     if (MI->getNumOperands() == 3 &&
25663         MI->getOperand(0).isReg() &&
25664         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25665         MI->getOperand(1).isReg() &&
25666         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25667         MI->getOperand(2).isImm() &&
25668         MI->getOperand(2).getImm() == 0) {
25675     if (MI->getNumOperands() == 3 &&
25676         MI->getOperand(0).isReg() &&
25677         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25678         MI->getOperand(1).isReg() &&
25679         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25680         MI->getOperand(2).isImm() &&
25681         MI->getOperand(2).getImm() == 0) {
25688     if (MI->getNumOperands() == 3 &&
25689         MI->getOperand(0).isReg() &&
25690         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25691         MI->getOperand(1).isReg() &&
25692         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25693         MI->getOperand(2).isImm() &&
25694         MI->getOperand(2).getImm() == 0 &&
25702     if (MI->getNumOperands() == 3 &&
25703         MI->getOperand(0).isReg() &&
25704         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25705         MI->getOperand(1).isReg() &&
25706         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25707         MI->getOperand(2).isImm() &&
25708         MI->getOperand(2).getImm() == 0 &&
25716     if (MI->getNumOperands() == 4 &&
25717         MI->getOperand(0).getReg() == AArch64::WZR &&
25718         MI->getOperand(1).isReg() &&
25719         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg())) {
25726     if (MI->getNumOperands() == 4 &&
25727         MI->getOperand(0).getReg() == AArch64::WZR &&
25728         MI->getOperand(1).isReg() &&
25729         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
25730         MI->getOperand(2).isReg() &&
25731         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
25732         MI->getOperand(3).isImm() &&
25733         MI->getOperand(3).getImm() == 0) {
25738     if (MI->getNumOperands() == 4 &&
25739         MI->getOperand(0).getReg() == AArch64::WZR &&
25740         MI->getOperand(1).isReg() &&
25741         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
25742         MI->getOperand(2).isReg() &&
25743         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
25748     if (MI->getNumOperands() == 4 &&
25749         MI->getOperand(0).isReg() &&
25750         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25751         MI->getOperand(1).getReg() == AArch64::WZR &&
25752         MI->getOperand(2).isReg() &&
25753         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
25754         MI->getOperand(3).isImm() &&
25755         MI->getOperand(3).getImm() == 0) {
25760     if (MI->getNumOperands() == 4 &&
25761         MI->getOperand(0).isReg() &&
25762         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25763         MI->getOperand(1).getReg() == AArch64::WZR &&
25764         MI->getOperand(2).isReg() &&
25765         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
25770     if (MI->getNumOperands() == 4 &&
25771         MI->getOperand(0).isReg() &&
25772         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25773         MI->getOperand(1).isReg() &&
25774         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
25775         MI->getOperand(2).isReg() &&
25776         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
25777         MI->getOperand(3).isImm() &&
25778         MI->getOperand(3).getImm() == 0) {
25785     if (MI->getNumOperands() == 4 &&
25786         MI->getOperand(0).getReg() == AArch64::WZR &&
25787         MI->getOperand(1).isReg() &&
25788         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
25789         MI->getOperand(2).isReg() &&
25790         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
25791         MI->getOperand(3).isImm() &&
25792         MI->getOperand(3).getImm() == 16) {
25797     if (MI->getNumOperands() == 4 &&
25798         MI->getOperand(0).getReg() == AArch64::WZR &&
25799         MI->getOperand(1).isReg() &&
25800         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
25801         MI->getOperand(2).isReg() &&
25802         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
25807     if (MI->getNumOperands() == 4 &&
25808         MI->getOperand(0).isReg() &&
25809         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25810         MI->getOperand(1).isReg() &&
25811         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
25812         MI->getOperand(2).isReg() &&
25813         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
25814         MI->getOperand(3).isImm() &&
25815         MI->getOperand(3).getImm() == 16) {
25822     if (MI->getNumOperands() == 4 &&
25823         MI->getOperand(0).getReg() == AArch64::XZR &&
25824         MI->getOperand(1).isReg() &&
25825         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg())) {
25832     if (MI->getNumOperands() == 4 &&
25833         MI->getOperand(0).getReg() == AArch64::XZR &&
25834         MI->getOperand(1).isReg() &&
25835         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
25836         MI->getOperand(2).isReg() &&
25837         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25838         MI->getOperand(3).isImm() &&
25839         MI->getOperand(3).getImm() == 0) {
25844     if (MI->getNumOperands() == 4 &&
25845         MI->getOperand(0).getReg() == AArch64::XZR &&
25846         MI->getOperand(1).isReg() &&
25847         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
25848         MI->getOperand(2).isReg() &&
25849         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
25854     if (MI->getNumOperands() == 4 &&
25855         MI->getOperand(0).isReg() &&
25856         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25857         MI->getOperand(1).getReg() == AArch64::XZR &&
25858         MI->getOperand(2).isReg() &&
25859         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25860         MI->getOperand(3).isImm() &&
25861         MI->getOperand(3).getImm() == 0) {
25866     if (MI->getNumOperands() == 4 &&
25867         MI->getOperand(0).isReg() &&
25868         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25869         MI->getOperand(1).getReg() == AArch64::XZR &&
25870         MI->getOperand(2).isReg() &&
25871         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
25876     if (MI->getNumOperands() == 4 &&
25877         MI->getOperand(0).isReg() &&
25878         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25879         MI->getOperand(1).isReg() &&
25880         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
25881         MI->getOperand(2).isReg() &&
25882         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25883         MI->getOperand(3).isImm() &&
25884         MI->getOperand(3).getImm() == 0) {
25891     if (MI->getNumOperands() == 4 &&
25892         MI->getOperand(0).getReg() == AArch64::XZR &&
25893         MI->getOperand(1).isReg() &&
25894         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25895         MI->getOperand(2).isReg() &&
25896         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
25903     if (MI->getNumOperands() == 4 &&
25904         MI->getOperand(0).getReg() == AArch64::XZR &&
25905         MI->getOperand(1).isReg() &&
25906         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
25907         MI->getOperand(2).isReg() &&
25908         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25909         MI->getOperand(3).isImm() &&
25910         MI->getOperand(3).getImm() == 24) {
25915     if (MI->getNumOperands() == 4 &&
25916         MI->getOperand(0).getReg() == AArch64::XZR &&
25917         MI->getOperand(1).isReg() &&
25918         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25919         MI->getOperand(2).isReg() &&
25920         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
25925     if (MI->getNumOperands() == 4 &&
25926         MI->getOperand(0).isReg() &&
25927         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25928         MI->getOperand(1).isReg() &&
25929         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
25930         MI->getOperand(2).isReg() &&
25931         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25932         MI->getOperand(3).isImm() &&
25933         MI->getOperand(3).getImm() == 24) {
25940     if (MI->getNumOperands() == 4 &&
25941         MI->getOperand(0).isReg() &&
25942         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25943         MI->getOperand(1).getReg() == AArch64::WZR &&
25944         MI->getOperand(2).isReg() &&
25945         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
25946         MI->getOperand(3).isImm() &&
25947         MI->getOperand(3).getImm() == 0) {
25952     if (MI->getNumOperands() == 4 &&
25953         MI->getOperand(0).isReg() &&
25954         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25955         MI->getOperand(1).getReg() == AArch64::WZR &&
25956         MI->getOperand(2).isReg() &&
25957         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
25962     if (MI->getNumOperands() == 4 &&
25963         MI->getOperand(0).isReg() &&
25964         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25965         MI->getOperand(1).isReg() &&
25966         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
25967         MI->getOperand(2).isReg() &&
25968         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
25969         MI->getOperand(3).isImm() &&
25970         MI->getOperand(3).getImm() == 0) {
25977     if (MI->getNumOperands() == 4 &&
25978         MI->getOperand(0).isReg() &&
25979         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
25980         MI->getOperand(1).isReg() &&
25981         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
25982         MI->getOperand(2).isReg() &&
25983         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
25984         MI->getOperand(3).isImm() &&
25985         MI->getOperand(3).getImm() == 16) {
25990     if (MI->getNumOperands() == 4 &&
25991         MI->getOperand(0).isReg() &&
25992         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(0).getReg()) &&
25993         MI->getOperand(1).isReg() &&
25994         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
25995         MI->getOperand(2).isReg() &&
25996         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
25997         MI->getOperand(3).isImm() &&
25998         MI->getOperand(3).getImm() == 16) {
26005     if (MI->getNumOperands() == 4 &&
26006         MI->getOperand(0).isReg() &&
26007         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26008         MI->getOperand(1).getReg() == AArch64::XZR &&
26009         MI->getOperand(2).isReg() &&
26010         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26011         MI->getOperand(3).isImm() &&
26012         MI->getOperand(3).getImm() == 0) {
26017     if (MI->getNumOperands() == 4 &&
26018         MI->getOperand(0).isReg() &&
26019         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26020         MI->getOperand(1).getReg() == AArch64::XZR &&
26021         MI->getOperand(2).isReg() &&
26022         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
26027     if (MI->getNumOperands() == 4 &&
26028         MI->getOperand(0).isReg() &&
26029         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26030         MI->getOperand(1).isReg() &&
26031         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
26032         MI->getOperand(2).isReg() &&
26033         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26034         MI->getOperand(3).isImm() &&
26035         MI->getOperand(3).getImm() == 0) {
26042     if (MI->getNumOperands() == 4 &&
26043         MI->getOperand(0).isReg() &&
26044         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
26045         MI->getOperand(1).isReg() &&
26046         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26047         MI->getOperand(2).isReg() &&
26048         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26049         MI->getOperand(3).isImm() &&
26050         MI->getOperand(3).getImm() == 24) {
26055     if (MI->getNumOperands() == 4 &&
26056         MI->getOperand(0).isReg() &&
26057         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
26058         MI->getOperand(1).isReg() &&
26059         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
26060         MI->getOperand(2).isReg() &&
26061         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26062         MI->getOperand(3).isImm() &&
26063         MI->getOperand(3).getImm() == 24) {
26070     if (MI->getNumOperands() == 5 &&
26071         MI->getOperand(4).getReg() == AArch64::XZR) {
26078     if (MI->getNumOperands() == 4 &&
26079         MI->getOperand(0).isReg() &&
26080         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26081         MI->getOperand(1).isReg() &&
26082         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
26083         MI->getOperand(3).isImm() &&
26084         MI->getOperand(3).getImm() == 31) {
26089     if (MI->getNumOperands() == 4 &&
26090         MI->getOperand(0).isReg() &&
26091         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26092         MI->getOperand(1).isReg() &&
26093         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
26094         MI->getOperand(2).isImm() &&
26095         MI->getOperand(2).getImm() == 0 &&
26096         MI->getOperand(3).isImm() &&
26097         MI->getOperand(3).getImm() == 7) {
26102     if (MI->getNumOperands() == 4 &&
26103         MI->getOperand(0).isReg() &&
26104         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26105         MI->getOperand(1).isReg() &&
26106         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
26107         MI->getOperand(2).isImm() &&
26108         MI->getOperand(2).getImm() == 0 &&
26109         MI->getOperand(3).isImm() &&
26110         MI->getOperand(3).getImm() == 15) {
26117     if (MI->getNumOperands() == 4 &&
26118         MI->getOperand(0).isReg() &&
26119         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26120         MI->getOperand(1).isReg() &&
26121         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
26122         MI->getOperand(3).isImm() &&
26123         MI->getOperand(3).getImm() == 63) {
26128     if (MI->getNumOperands() == 4 &&
26129         MI->getOperand(0).isReg() &&
26130         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26131         MI->getOperand(1).isReg() &&
26132         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
26133         MI->getOperand(2).isImm() &&
26134         MI->getOperand(2).getImm() == 0 &&
26135         MI->getOperand(3).isImm() &&
26136         MI->getOperand(3).getImm() == 7) {
26141     if (MI->getNumOperands() == 4 &&
26142         MI->getOperand(0).isReg() &&
26143         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26144         MI->getOperand(1).isReg() &&
26145         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
26146         MI->getOperand(2).isImm() &&
26147         MI->getOperand(2).getImm() == 0 &&
26148         MI->getOperand(3).isImm() &&
26149         MI->getOperand(3).getImm() == 15) {
26154     if (MI->getNumOperands() == 4 &&
26155         MI->getOperand(0).isReg() &&
26156         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26157         MI->getOperand(1).isReg() &&
26158         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
26159         MI->getOperand(2).isImm() &&
26160         MI->getOperand(2).getImm() == 0 &&
26161         MI->getOperand(3).isImm() &&
26162         MI->getOperand(3).getImm() == 31) {
26169     if (MI->getNumOperands() == 4 &&
26170         MI->getOperand(0).isReg() &&
26171         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26172         MI->getOperand(1).isReg() &&
26173         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
26174         MI->getOperand(2).isReg() &&
26175         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
26176         MI->getOperand(3).getReg() == AArch64::XZR) {
26183     if (MI->getNumOperands() == 3 &&
26184         MI->getOperand(0).isReg() &&
26185         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26186         MI->getOperand(1).isReg() &&
26187         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
26195     if (MI->getNumOperands() == 3 &&
26196         MI->getOperand(0).isReg() &&
26197         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26198         MI->getOperand(1).isReg() &&
26199         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
26207     if (MI->getNumOperands() == 4 &&
26208         MI->getOperand(0).isReg() &&
26209         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26210         MI->getOperand(1).isReg() &&
26211         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
26212         MI->getOperand(2).isReg() &&
26213         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
26214         MI->getOperand(3).getReg() == AArch64::XZR) {
26221     if (MI->getNumOperands() == 4 &&
26222         MI->getOperand(0).isReg() &&
26223         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26224         MI->getOperand(2).isImm() &&
26225         MI->getOperand(2).getImm() == 31 &&
26226         MI->getOperand(3).isImm() &&
26227         MI->getOperand(3).getImm() == 1 &&
26233     if (MI->getNumOperands() == 4 &&
26234         MI->getOperand(0).isReg() &&
26235         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26236         MI->getOperand(3).isImm() &&
26237         MI->getOperand(3).getImm() == 1 &&
26245     if (MI->getNumOperands() == 4 &&
26246         MI->getOperand(0).isReg() &&
26247         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26248         MI->getOperand(2).isImm() &&
26249         MI->getOperand(2).getImm() == 31 &&
26250         MI->getOperand(3).isImm() &&
26251         MI->getOperand(3).getImm() == 1 &&
26257     if (MI->getNumOperands() == 4 &&
26258         MI->getOperand(0).isReg() &&
26259         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26260         MI->getOperand(3).isImm() &&
26261         MI->getOperand(3).getImm() == 1 &&
26269     if (MI->getNumOperands() == 4 &&
26270         MI->getOperand(0).isReg() &&
26271         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26272         MI->getOperand(2).isImm() &&
26273         MI->getOperand(2).getImm() == 31 &&
26274         MI->getOperand(3).isImm() &&
26275         MI->getOperand(3).getImm() == 1 &&
26281     if (MI->getNumOperands() == 4 &&
26282         MI->getOperand(0).isReg() &&
26283         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26284         MI->getOperand(3).isImm() &&
26285         MI->getOperand(3).getImm() == 1 &&
26293     if (MI->getNumOperands() == 4 &&
26294         MI->getOperand(0).isReg() &&
26295         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26296         MI->getOperand(2).isImm() &&
26297         MI->getOperand(2).getImm() == 31 &&
26298         MI->getOperand(3).isImm() &&
26299         MI->getOperand(3).getImm() == 1 &&
26305     if (MI->getNumOperands() == 4 &&
26306         MI->getOperand(0).isReg() &&
26307         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26308         MI->getOperand(3).isImm() &&
26309         MI->getOperand(3).getImm() == 1 &&
26317     if (MI->getNumOperands() == 4 &&
26318         MI->getOperand(0).isReg() &&
26319         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
26320         MI->getOperand(2).isImm() &&
26321         MI->getOperand(2).getImm() == 31 &&
26322         MI->getOperand(3).isImm() &&
26323         MI->getOperand(3).getImm() == 1 &&
26329     if (MI->getNumOperands() == 4 &&
26330         MI->getOperand(0).isReg() &&
26331         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
26332         MI->getOperand(3).isImm() &&
26333         MI->getOperand(3).getImm() == 1 &&
26341     if (MI->getNumOperands() == 4 &&
26342         MI->getOperand(0).isReg() &&
26343         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26344         MI->getOperand(2).isImm() &&
26345         MI->getOperand(2).getImm() == 31 &&
26346         MI->getOperand(3).isImm() &&
26347         MI->getOperand(3).getImm() == 1 &&
26353     if (MI->getNumOperands() == 4 &&
26354         MI->getOperand(0).isReg() &&
26355         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26356         MI->getOperand(3).isImm() &&
26357         MI->getOperand(3).getImm() == 1 &&
26365     if (MI->getNumOperands() == 4 &&
26366         MI->getOperand(0).isReg() &&
26367         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26368         MI->getOperand(2).isImm() &&
26369         MI->getOperand(2).getImm() == 31 &&
26370         MI->getOperand(3).isImm() &&
26371         MI->getOperand(3).getImm() == 1 &&
26377     if (MI->getNumOperands() == 4 &&
26378         MI->getOperand(0).isReg() &&
26379         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26380         MI->getOperand(3).isImm() &&
26381         MI->getOperand(3).getImm() == 1 &&
26389     if (MI->getNumOperands() == 4 &&
26390         MI->getOperand(0).isReg() &&
26391         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
26392         MI->getOperand(2).isImm() &&
26393         MI->getOperand(2).getImm() == 31 &&
26394         MI->getOperand(3).isImm() &&
26395         MI->getOperand(3).getImm() == 1 &&
26401     if (MI->getNumOperands() == 4 &&
26402         MI->getOperand(0).isReg() &&
26403         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
26404         MI->getOperand(3).isImm() &&
26405         MI->getOperand(3).getImm() == 1 &&
26413     if (MI->getNumOperands() == 4 &&
26414         MI->getOperand(0).isReg() &&
26415         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26416         MI->getOperand(2).isImm() &&
26417         MI->getOperand(2).getImm() == 31 &&
26418         MI->getOperand(3).isImm() &&
26419         MI->getOperand(3).getImm() == 1 &&
26425     if (MI->getNumOperands() == 4 &&
26426         MI->getOperand(0).isReg() &&
26427         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26428         MI->getOperand(3).isImm() &&
26429         MI->getOperand(3).getImm() == 1 &&
26437     if (MI->getNumOperands() == 4 &&
26438         MI->getOperand(0).isReg() &&
26439         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26440         MI->getOperand(2).isImm() &&
26441         MI->getOperand(2).getImm() == 31 &&
26442         MI->getOperand(3).isImm() &&
26443         MI->getOperand(3).getImm() == 1 &&
26449     if (MI->getNumOperands() == 4 &&
26450         MI->getOperand(0).isReg() &&
26451         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26452         MI->getOperand(3).isImm() &&
26453         MI->getOperand(3).getImm() == 1 &&
26461     if (MI->getNumOperands() == 4 &&
26462         MI->getOperand(0).isReg() &&
26463         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
26464         MI->getOperand(2).isImm() &&
26465         MI->getOperand(2).getImm() == 31 &&
26466         MI->getOperand(3).isImm() &&
26467         MI->getOperand(3).getImm() == 1 &&
26473     if (MI->getNumOperands() == 4 &&
26474         MI->getOperand(0).isReg() &&
26475         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
26476         MI->getOperand(3).isImm() &&
26477         MI->getOperand(3).getImm() == 1 &&
26485     if (MI->getNumOperands() == 4 &&
26486         MI->getOperand(0).isReg() &&
26487         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26488         MI->getOperand(2).isImm() &&
26489         MI->getOperand(2).getImm() == 31 &&
26490         MI->getOperand(3).isImm() &&
26491         MI->getOperand(3).getImm() == 1 &&
26497     if (MI->getNumOperands() == 4 &&
26498         MI->getOperand(0).isReg() &&
26499         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26500         MI->getOperand(3).isImm() &&
26501         MI->getOperand(3).getImm() == 1 &&
26509     if (MI->getNumOperands() == 4 &&
26510         MI->getOperand(0).isReg() &&
26511         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26512         MI->getOperand(2).isImm() &&
26513         MI->getOperand(2).getImm() == 31 &&
26514         MI->getOperand(3).isImm() &&
26515         MI->getOperand(3).getImm() == 1 &&
26521     if (MI->getNumOperands() == 4 &&
26522         MI->getOperand(0).isReg() &&
26523         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26524         MI->getOperand(3).isImm() &&
26525         MI->getOperand(3).getImm() == 1 &&
26533     if (MI->getNumOperands() == 4 &&
26534         MI->getOperand(0).isReg() &&
26535         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26536         MI->getOperand(2).isImm() &&
26537         MI->getOperand(2).getImm() == 31 &&
26538         MI->getOperand(3).isImm() &&
26539         MI->getOperand(3).getImm() == 1 &&
26545     if (MI->getNumOperands() == 4 &&
26546         MI->getOperand(0).isReg() &&
26547         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26548         MI->getOperand(3).isImm() &&
26549         MI->getOperand(3).getImm() == 1 &&
26557     if (MI->getNumOperands() == 4 &&
26558         MI->getOperand(0).isReg() &&
26559         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26560         MI->getOperand(2).isImm() &&
26561         MI->getOperand(2).getImm() == 31 &&
26562         MI->getOperand(3).isImm() &&
26563         MI->getOperand(3).getImm() == 1 &&
26569     if (MI->getNumOperands() == 4 &&
26570         MI->getOperand(0).isReg() &&
26571         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26572         MI->getOperand(3).isImm() &&
26573         MI->getOperand(3).getImm() == 1 &&
26581     if (MI->getNumOperands() == 4 &&
26582         MI->getOperand(0).isReg() &&
26583         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
26584         MI->getOperand(2).isImm() &&
26585         MI->getOperand(2).getImm() == 31 &&
26586         MI->getOperand(3).isImm() &&
26587         MI->getOperand(3).getImm() == 1 &&
26593     if (MI->getNumOperands() == 4 &&
26594         MI->getOperand(0).isReg() &&
26595         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
26596         MI->getOperand(3).isImm() &&
26597         MI->getOperand(3).getImm() == 1 &&
26605     if (MI->getNumOperands() == 4 &&
26606         MI->getOperand(0).isReg() &&
26607         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26608         MI->getOperand(2).isImm() &&
26609         MI->getOperand(2).getImm() == 31 &&
26610         MI->getOperand(3).isImm() &&
26611         MI->getOperand(3).getImm() == 1 &&
26617     if (MI->getNumOperands() == 4 &&
26618         MI->getOperand(0).isReg() &&
26619         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26620         MI->getOperand(3).isImm() &&
26621         MI->getOperand(3).getImm() == 1 &&
26629     if (MI->getNumOperands() == 4 &&
26630         MI->getOperand(0).isReg() &&
26631         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26632         MI->getOperand(2).isImm() &&
26633         MI->getOperand(2).getImm() == 31 &&
26634         MI->getOperand(3).isImm() &&
26635         MI->getOperand(3).getImm() == 1 &&
26641     if (MI->getNumOperands() == 4 &&
26642         MI->getOperand(0).isReg() &&
26643         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26644         MI->getOperand(3).isImm() &&
26645         MI->getOperand(3).getImm() == 1 &&
26653     if (MI->getNumOperands() == 4 &&
26654         MI->getOperand(0).isReg() &&
26655         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
26656         MI->getOperand(2).isImm() &&
26657         MI->getOperand(2).getImm() == 31 &&
26658         MI->getOperand(3).isImm() &&
26659         MI->getOperand(3).getImm() == 1 &&
26665     if (MI->getNumOperands() == 4 &&
26666         MI->getOperand(0).isReg() &&
26667         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
26668         MI->getOperand(3).isImm() &&
26669         MI->getOperand(3).getImm() == 1 &&
26677     if (MI->getNumOperands() == 4 &&
26678         MI->getOperand(0).isReg() &&
26679         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26680         MI->getOperand(2).isImm() &&
26681         MI->getOperand(2).getImm() == 31 &&
26682         MI->getOperand(3).isImm() &&
26683         MI->getOperand(3).getImm() == 1 &&
26689     if (MI->getNumOperands() == 4 &&
26690         MI->getOperand(0).isReg() &&
26691         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26692         MI->getOperand(3).isImm() &&
26693         MI->getOperand(3).getImm() == 1 &&
26701     if (MI->getNumOperands() == 4 &&
26702         MI->getOperand(0).isReg() &&
26703         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26704         MI->getOperand(2).isImm() &&
26705         MI->getOperand(2).getImm() == 31 &&
26706         MI->getOperand(3).isImm() &&
26707         MI->getOperand(3).getImm() == 1 &&
26713     if (MI->getNumOperands() == 4 &&
26714         MI->getOperand(0).isReg() &&
26715         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26716         MI->getOperand(3).isImm() &&
26717         MI->getOperand(3).getImm() == 1 &&
26725     if (MI->getNumOperands() == 4 &&
26726         MI->getOperand(0).isReg() &&
26727         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
26728         MI->getOperand(2).isImm() &&
26729         MI->getOperand(2).getImm() == 31 &&
26730         MI->getOperand(3).isImm() &&
26731         MI->getOperand(3).getImm() == 1 &&
26737     if (MI->getNumOperands() == 4 &&
26738         MI->getOperand(0).isReg() &&
26739         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
26740         MI->getOperand(3).isImm() &&
26741         MI->getOperand(3).getImm() == 1 &&
26767           printCustomAliasOperand(MI, OpIdx, PrintMethodIdx, STI, OS);
26769           printOperand(MI, unsigned(AsmString[I++]) - 1, STI, OS);