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

References

gen/lib/Target/AArch64/AArch64GenAsmWriter1.inc
15519   switch (MI->getOpcode()) {
15522     if (MI->getNumOperands() == 4 &&
15523         MI->getOperand(0).getReg() == AArch64::WZR &&
15524         MI->getOperand(1).isReg() &&
15525         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg())) {
15532     if (MI->getNumOperands() == 4 &&
15533         MI->getOperand(0).getReg() == AArch64::WZR &&
15534         MI->getOperand(1).isReg() &&
15535         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15536         MI->getOperand(2).isReg() &&
15537         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15538         MI->getOperand(3).isImm() &&
15539         MI->getOperand(3).getImm() == 0) {
15544     if (MI->getNumOperands() == 4 &&
15545         MI->getOperand(0).getReg() == AArch64::WZR &&
15546         MI->getOperand(1).isReg() &&
15547         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15548         MI->getOperand(2).isReg() &&
15549         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
15554     if (MI->getNumOperands() == 4 &&
15555         MI->getOperand(0).isReg() &&
15556         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
15557         MI->getOperand(1).isReg() &&
15558         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15559         MI->getOperand(2).isReg() &&
15560         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15561         MI->getOperand(3).isImm() &&
15562         MI->getOperand(3).getImm() == 0) {
15569     if (MI->getNumOperands() == 4 &&
15570         MI->getOperand(0).getReg() == AArch64::WZR &&
15571         MI->getOperand(1).isReg() &&
15572         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
15573         MI->getOperand(2).isReg() &&
15574         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15575         MI->getOperand(3).isImm() &&
15576         MI->getOperand(3).getImm() == 16) {
15581     if (MI->getNumOperands() == 4 &&
15582         MI->getOperand(0).getReg() == AArch64::WZR &&
15583         MI->getOperand(1).isReg() &&
15584         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
15585         MI->getOperand(2).isReg() &&
15586         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
15591     if (MI->getNumOperands() == 4 &&
15592         MI->getOperand(0).isReg() &&
15593         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
15594         MI->getOperand(1).isReg() &&
15595         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
15596         MI->getOperand(2).isReg() &&
15597         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15598         MI->getOperand(3).isImm() &&
15599         MI->getOperand(3).getImm() == 16) {
15606     if (MI->getNumOperands() == 4 &&
15607         MI->getOperand(0).getReg() == AArch64::XZR &&
15608         MI->getOperand(1).isReg() &&
15609         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg())) {
15616     if (MI->getNumOperands() == 4 &&
15617         MI->getOperand(0).getReg() == AArch64::XZR &&
15618         MI->getOperand(1).isReg() &&
15619         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15620         MI->getOperand(2).isReg() &&
15621         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15622         MI->getOperand(3).isImm() &&
15623         MI->getOperand(3).getImm() == 0) {
15628     if (MI->getNumOperands() == 4 &&
15629         MI->getOperand(0).getReg() == AArch64::XZR &&
15630         MI->getOperand(1).isReg() &&
15631         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15632         MI->getOperand(2).isReg() &&
15633         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
15638     if (MI->getNumOperands() == 4 &&
15639         MI->getOperand(0).isReg() &&
15640         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15641         MI->getOperand(1).isReg() &&
15642         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15643         MI->getOperand(2).isReg() &&
15644         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15645         MI->getOperand(3).isImm() &&
15646         MI->getOperand(3).getImm() == 0) {
15653     if (MI->getNumOperands() == 4 &&
15654         MI->getOperand(0).getReg() == AArch64::XZR &&
15655         MI->getOperand(1).isReg() &&
15656         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
15657         MI->getOperand(2).isReg() &&
15658         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
15665     if (MI->getNumOperands() == 4 &&
15666         MI->getOperand(0).getReg() == AArch64::XZR &&
15667         MI->getOperand(1).isReg() &&
15668         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
15669         MI->getOperand(2).isReg() &&
15670         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15671         MI->getOperand(3).isImm() &&
15672         MI->getOperand(3).getImm() == 24) {
15677     if (MI->getNumOperands() == 4 &&
15678         MI->getOperand(0).getReg() == AArch64::XZR &&
15679         MI->getOperand(1).isReg() &&
15680         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
15681         MI->getOperand(2).isReg() &&
15682         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
15687     if (MI->getNumOperands() == 4 &&
15688         MI->getOperand(0).isReg() &&
15689         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15690         MI->getOperand(1).isReg() &&
15691         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
15692         MI->getOperand(2).isReg() &&
15693         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15694         MI->getOperand(3).isImm() &&
15695         MI->getOperand(3).getImm() == 24) {
15702     if (MI->getNumOperands() == 4 &&
15703         MI->getOperand(0).isReg() &&
15704         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
15705         MI->getOperand(1).isReg() &&
15706         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
15707         MI->getOperand(2).isImm() &&
15708         MI->getOperand(2).getImm() == 0 &&
15709         MI->getOperand(3).isImm() &&
15710         MI->getOperand(3).getImm() == 0) {
15715     if (MI->getNumOperands() == 4 &&
15716         MI->getOperand(0).isReg() &&
15717         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(0).getReg()) &&
15718         MI->getOperand(1).isReg() &&
15719         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
15720         MI->getOperand(2).isImm() &&
15721         MI->getOperand(2).getImm() == 0 &&
15722         MI->getOperand(3).isImm() &&
15723         MI->getOperand(3).getImm() == 0) {
15730     if (MI->getNumOperands() == 4 &&
15731         MI->getOperand(0).isReg() &&
15732         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
15733         MI->getOperand(1).isReg() &&
15734         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15735         MI->getOperand(2).isReg() &&
15736         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15737         MI->getOperand(3).isImm() &&
15738         MI->getOperand(3).getImm() == 0) {
15745     if (MI->getNumOperands() == 4 &&
15746         MI->getOperand(0).isReg() &&
15747         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
15748         MI->getOperand(1).isReg() &&
15749         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
15750         MI->getOperand(2).isReg() &&
15751         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15752         MI->getOperand(3).isImm() &&
15753         MI->getOperand(3).getImm() == 16) {
15758     if (MI->getNumOperands() == 4 &&
15759         MI->getOperand(0).isReg() &&
15760         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(0).getReg()) &&
15761         MI->getOperand(1).isReg() &&
15762         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
15763         MI->getOperand(2).isReg() &&
15764         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15765         MI->getOperand(3).isImm() &&
15766         MI->getOperand(3).getImm() == 16) {
15773     if (MI->getNumOperands() == 4 &&
15774         MI->getOperand(0).isReg() &&
15775         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
15776         MI->getOperand(1).isReg() &&
15777         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
15778         MI->getOperand(2).isImm() &&
15779         MI->getOperand(2).getImm() == 0 &&
15780         MI->getOperand(3).isImm() &&
15781         MI->getOperand(3).getImm() == 0) {
15786     if (MI->getNumOperands() == 4 &&
15787         MI->getOperand(0).isReg() &&
15788         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15789         MI->getOperand(1).isReg() &&
15790         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
15791         MI->getOperand(2).isImm() &&
15792         MI->getOperand(2).getImm() == 0 &&
15793         MI->getOperand(3).isImm() &&
15794         MI->getOperand(3).getImm() == 0) {
15801     if (MI->getNumOperands() == 4 &&
15802         MI->getOperand(0).isReg() &&
15803         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15804         MI->getOperand(1).isReg() &&
15805         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15806         MI->getOperand(2).isReg() &&
15807         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15808         MI->getOperand(3).isImm() &&
15809         MI->getOperand(3).getImm() == 0) {
15816     if (MI->getNumOperands() == 4 &&
15817         MI->getOperand(0).isReg() &&
15818         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
15819         MI->getOperand(1).isReg() &&
15820         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
15821         MI->getOperand(2).isReg() &&
15822         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15823         MI->getOperand(3).isImm() &&
15824         MI->getOperand(3).getImm() == 24) {
15829     if (MI->getNumOperands() == 4 &&
15830         MI->getOperand(0).isReg() &&
15831         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
15832         MI->getOperand(1).isReg() &&
15833         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
15834         MI->getOperand(2).isReg() &&
15835         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15836         MI->getOperand(3).isImm() &&
15837         MI->getOperand(3).getImm() == 24) {
15844     if (MI->getNumOperands() == 3 &&
15845         MI->getOperand(0).getReg() == AArch64::WZR &&
15846         MI->getOperand(1).isReg() &&
15847         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg())) {
15854     if (MI->getNumOperands() == 4 &&
15855         MI->getOperand(0).getReg() == AArch64::WZR &&
15856         MI->getOperand(1).isReg() &&
15857         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15858         MI->getOperand(2).isReg() &&
15859         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15860         MI->getOperand(3).isImm() &&
15861         MI->getOperand(3).getImm() == 0) {
15866     if (MI->getNumOperands() == 4 &&
15867         MI->getOperand(0).getReg() == AArch64::WZR &&
15868         MI->getOperand(1).isReg() &&
15869         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15870         MI->getOperand(2).isReg() &&
15871         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
15876     if (MI->getNumOperands() == 4 &&
15877         MI->getOperand(0).isReg() &&
15878         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
15879         MI->getOperand(1).isReg() &&
15880         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15881         MI->getOperand(2).isReg() &&
15882         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15883         MI->getOperand(3).isImm() &&
15884         MI->getOperand(3).getImm() == 0) {
15891     if (MI->getNumOperands() == 3 &&
15892         MI->getOperand(0).getReg() == AArch64::XZR &&
15893         MI->getOperand(1).isReg() &&
15894         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg())) {
15901     if (MI->getNumOperands() == 4 &&
15902         MI->getOperand(0).getReg() == AArch64::XZR &&
15903         MI->getOperand(1).isReg() &&
15904         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15905         MI->getOperand(2).isReg() &&
15906         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15907         MI->getOperand(3).isImm() &&
15908         MI->getOperand(3).getImm() == 0) {
15913     if (MI->getNumOperands() == 4 &&
15914         MI->getOperand(0).getReg() == AArch64::XZR &&
15915         MI->getOperand(1).isReg() &&
15916         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15917         MI->getOperand(2).isReg() &&
15918         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
15923     if (MI->getNumOperands() == 4 &&
15924         MI->getOperand(0).isReg() &&
15925         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15926         MI->getOperand(1).isReg() &&
15927         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15928         MI->getOperand(2).isReg() &&
15929         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15930         MI->getOperand(3).isImm() &&
15931         MI->getOperand(3).getImm() == 0) {
15938     if (MI->getNumOperands() == 4 &&
15939         MI->getOperand(0).isReg() &&
15940         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15941         MI->getOperand(1).isReg() &&
15942         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
15943         MI->getOperand(2).isReg() &&
15944         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
15945         MI->getOperand(3).isReg() &&
15946         MI->getOperand(3).getReg() == MI->getOperand(2).getReg() &&
15946         MI->getOperand(3).getReg() == MI->getOperand(2).getReg() &&
15954     if (MI->getNumOperands() == 4 &&
15955         MI->getOperand(0).isReg() &&
15956         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
15957         MI->getOperand(1).isReg() &&
15958         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
15959         MI->getOperand(2).isReg() &&
15960         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
15961         MI->getOperand(3).isImm() &&
15962         MI->getOperand(3).getImm() == 0) {
15969     if (MI->getNumOperands() == 4 &&
15970         MI->getOperand(0).isReg() &&
15971         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
15972         MI->getOperand(1).isReg() &&
15973         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
15974         MI->getOperand(2).isReg() &&
15975         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
15976         MI->getOperand(3).isImm() &&
15977         MI->getOperand(3).getImm() == 0) {
15984     if (MI->getNumOperands() == 4 &&
15985         MI->getOperand(0).isReg() &&
15986         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
15987         MI->getOperand(1).isReg() &&
15988         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
15989         MI->getOperand(2).isReg() &&
15990         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
15991         MI->getOperand(3).isReg() &&
15992         MI->getOperand(3).getReg() == MI->getOperand(2).getReg() &&
15992         MI->getOperand(3).getReg() == MI->getOperand(2).getReg() &&
16000     if (MI->getNumOperands() == 3 &&
16001         MI->getOperand(0).isReg() &&
16002         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16003         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(2), STI, 1) &&
16009     if (MI->getNumOperands() == 3 &&
16010         MI->getOperand(0).isReg() &&
16011         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16012         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(2), STI, 2) &&
16018     if (MI->getNumOperands() == 3 &&
16019         MI->getOperand(0).isReg() &&
16020         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16021         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(2), STI, 3) &&
16029     if (MI->getNumOperands() == 4 &&
16030         MI->getOperand(0).isReg() &&
16031         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
16032         MI->getOperand(1).isReg() &&
16033         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
16034         MI->getOperand(2).isReg() &&
16035         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
16036         MI->getOperand(3).isImm() &&
16037         MI->getOperand(3).getImm() == 0) {
16044     if (MI->getNumOperands() == 4 &&
16045         MI->getOperand(0).isReg() &&
16046         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16047         MI->getOperand(1).isReg() &&
16048         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
16049         MI->getOperand(2).isReg() &&
16050         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
16051         MI->getOperand(3).isImm() &&
16052         MI->getOperand(3).getImm() == 0) {
16059     if (MI->getNumOperands() == 4 &&
16060         MI->getOperand(0).isReg() &&
16061         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
16062         MI->getOperand(1).isReg() &&
16063         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
16064         MI->getOperand(2).isReg() &&
16065         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
16066         MI->getOperand(3).isImm() &&
16067         MI->getOperand(3).getImm() == 0) {
16074     if (MI->getNumOperands() == 4 &&
16075         MI->getOperand(0).isReg() &&
16076         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16077         MI->getOperand(1).isReg() &&
16078         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
16079         MI->getOperand(2).isReg() &&
16080         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
16081         MI->getOperand(3).isImm() &&
16082         MI->getOperand(3).getImm() == 0) {
16089     if (MI->getNumOperands() == 1 &&
16090         MI->getOperand(0).isImm() &&
16091         MI->getOperand(0).getImm() == 15) {
16098     if (MI->getNumOperands() == 3 &&
16099         MI->getOperand(0).isReg() &&
16100         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16101         MI->getOperand(1).isImm() &&
16102         MI->getOperand(1).getImm() == 31 &&
16103         MI->getOperand(2).isImm() &&
16104         MI->getOperand(2).getImm() == 1 &&
16110     if (MI->getNumOperands() == 3 &&
16111         MI->getOperand(0).isReg() &&
16112         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16113         MI->getOperand(2).isImm() &&
16114         MI->getOperand(2).getImm() == 1 &&
16122     if (MI->getNumOperands() == 3 &&
16123         MI->getOperand(0).isReg() &&
16124         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16125         MI->getOperand(1).isImm() &&
16126         MI->getOperand(1).getImm() == 31 &&
16127         MI->getOperand(2).isImm() &&
16128         MI->getOperand(2).getImm() == 1 &&
16134     if (MI->getNumOperands() == 3 &&
16135         MI->getOperand(0).isReg() &&
16136         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16137         MI->getOperand(2).isImm() &&
16138         MI->getOperand(2).getImm() == 1 &&
16146     if (MI->getNumOperands() == 3 &&
16147         MI->getOperand(0).isReg() &&
16148         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16149         MI->getOperand(1).isImm() &&
16150         MI->getOperand(1).getImm() == 31 &&
16151         MI->getOperand(2).isImm() &&
16152         MI->getOperand(2).getImm() == 1 &&
16158     if (MI->getNumOperands() == 3 &&
16159         MI->getOperand(0).isReg() &&
16160         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16161         MI->getOperand(2).isImm() &&
16162         MI->getOperand(2).getImm() == 1 &&
16170     if (MI->getNumOperands() == 3 &&
16171         MI->getOperand(0).isReg() &&
16172         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16173         MI->getOperand(1).isImm() &&
16174         MI->getOperand(1).getImm() == 31 &&
16175         MI->getOperand(2).isImm() &&
16176         MI->getOperand(2).getImm() == 1 &&
16182     if (MI->getNumOperands() == 3 &&
16183         MI->getOperand(0).isReg() &&
16184         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16185         MI->getOperand(2).isImm() &&
16186         MI->getOperand(2).getImm() == 1 &&
16194     if (MI->getNumOperands() == 5 &&
16195         MI->getOperand(0).isReg() &&
16196         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16197         MI->getOperand(2).isReg() &&
16198         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16206     if (MI->getNumOperands() == 5 &&
16207         MI->getOperand(0).isReg() &&
16208         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16209         MI->getOperand(2).isReg() &&
16210         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16218     if (MI->getNumOperands() == 5 &&
16219         MI->getOperand(0).isReg() &&
16220         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16221         MI->getOperand(2).isReg() &&
16222         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16230     if (MI->getNumOperands() == 5 &&
16231         MI->getOperand(0).isReg() &&
16232         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16233         MI->getOperand(2).isReg() &&
16234         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
16242     if (MI->getNumOperands() == 4 &&
16243         MI->getOperand(0).isReg() &&
16244         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16245         MI->getOperand(2).isReg() &&
16246         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
16247         MI->getOperand(3).isReg() &&
16248         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(3).getReg()) &&
16256     if (MI->getNumOperands() == 4 &&
16257         MI->getOperand(0).isReg() &&
16258         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16259         MI->getOperand(2).isReg() &&
16260         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
16261         MI->getOperand(3).isReg() &&
16262         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(3).getReg()) &&
16270     if (MI->getNumOperands() == 4 &&
16271         MI->getOperand(0).isReg() &&
16272         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16273         MI->getOperand(2).isReg() &&
16274         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
16275         MI->getOperand(3).isReg() &&
16276         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(3).getReg()) &&
16284     if (MI->getNumOperands() == 4 &&
16285         MI->getOperand(0).isReg() &&
16286         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16287         MI->getOperand(2).isReg() &&
16288         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
16289         MI->getOperand(3).isReg() &&
16290         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(3).getReg()) &&
16298     if (MI->getNumOperands() == 4 &&
16299         MI->getOperand(0).isReg() &&
16300         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16301         MI->getOperand(2).isReg() &&
16302         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
16303         MI->getOperand(3).isReg() &&
16304         MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(3).getReg()) &&
16312     if (MI->getNumOperands() == 4 &&
16313         MI->getOperand(0).isReg() &&
16314         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16315         MI->getOperand(2).isReg() &&
16316         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
16317         MI->getOperand(3).isReg() &&
16318         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(3).getReg()) &&
16326     if (MI->getNumOperands() == 4 &&
16327         MI->getOperand(0).isReg() &&
16328         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16329         MI->getOperand(2).isReg() &&
16330         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
16331         MI->getOperand(3).isReg() &&
16332         MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(3).getReg()) &&
16340     if (MI->getNumOperands() == 4 &&
16341         MI->getOperand(0).isReg() &&
16342         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16343         MI->getOperand(2).isReg() &&
16344         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(2).getReg()) &&
16345         MI->getOperand(3).isReg() &&
16346         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(3).getReg()) &&
16354     if (MI->getNumOperands() == 4 &&
16355         MI->getOperand(0).isReg() &&
16356         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16357         MI->getOperand(1).isReg() &&
16358         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16366     if (MI->getNumOperands() == 4 &&
16367         MI->getOperand(0).isReg() &&
16368         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16369         MI->getOperand(1).isReg() &&
16370         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16378     if (MI->getNumOperands() == 4 &&
16379         MI->getOperand(0).isReg() &&
16380         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16381         MI->getOperand(1).isReg() &&
16382         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16390     if (MI->getNumOperands() == 4 &&
16391         MI->getOperand(0).isReg() &&
16392         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16393         MI->getOperand(1).isReg() &&
16394         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16402     if (MI->getNumOperands() == 4 &&
16403         MI->getOperand(0).isReg() &&
16404         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
16405         MI->getOperand(1).getReg() == AArch64::WZR &&
16406         MI->getOperand(2).getReg() == AArch64::WZR &&
16407         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
16412     if (MI->getNumOperands() == 4 &&
16413         MI->getOperand(0).isReg() &&
16414         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
16415         MI->getOperand(1).isReg() &&
16416         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
16417         MI->getOperand(2).isReg() &&
16418         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
16418         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
16419         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
16426     if (MI->getNumOperands() == 4 &&
16427         MI->getOperand(0).isReg() &&
16428         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16429         MI->getOperand(1).getReg() == AArch64::XZR &&
16430         MI->getOperand(2).getReg() == AArch64::XZR &&
16431         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
16436     if (MI->getNumOperands() == 4 &&
16437         MI->getOperand(0).isReg() &&
16438         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16439         MI->getOperand(1).isReg() &&
16440         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
16441         MI->getOperand(2).isReg() &&
16442         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
16442         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
16443         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
16450     if (MI->getNumOperands() == 4 &&
16451         MI->getOperand(0).isReg() &&
16452         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
16453         MI->getOperand(1).getReg() == AArch64::WZR &&
16454         MI->getOperand(2).getReg() == AArch64::WZR &&
16455         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
16460     if (MI->getNumOperands() == 4 &&
16461         MI->getOperand(0).isReg() &&
16462         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
16463         MI->getOperand(1).isReg() &&
16464         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
16465         MI->getOperand(2).isReg() &&
16466         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
16466         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
16467         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
16474     if (MI->getNumOperands() == 4 &&
16475         MI->getOperand(0).isReg() &&
16476         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16477         MI->getOperand(1).getReg() == AArch64::XZR &&
16478         MI->getOperand(2).getReg() == AArch64::XZR &&
16479         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
16484     if (MI->getNumOperands() == 4 &&
16485         MI->getOperand(0).isReg() &&
16486         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16487         MI->getOperand(1).isReg() &&
16488         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
16489         MI->getOperand(2).isReg() &&
16490         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
16490         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
16491         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
16498     if (MI->getNumOperands() == 4 &&
16499         MI->getOperand(0).isReg() &&
16500         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
16501         MI->getOperand(1).isReg() &&
16502         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
16503         MI->getOperand(2).isReg() &&
16504         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
16504         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
16505         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
16512     if (MI->getNumOperands() == 4 &&
16513         MI->getOperand(0).isReg() &&
16514         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16515         MI->getOperand(1).isReg() &&
16516         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
16517         MI->getOperand(2).isReg() &&
16518         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
16518         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
16519         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(3), STI, 4)) {
16526     if (MI->getNumOperands() == 1 &&
16527         MI->getOperand(0).isImm() &&
16528         MI->getOperand(0).getImm() == 0) {
16535     if (MI->getNumOperands() == 1 &&
16536         MI->getOperand(0).isImm() &&
16537         MI->getOperand(0).getImm() == 0) {
16544     if (MI->getNumOperands() == 1 &&
16545         MI->getOperand(0).isImm() &&
16546         MI->getOperand(0).getImm() == 0) {
16553     if (MI->getNumOperands() == 4 &&
16554         MI->getOperand(0).isReg() &&
16555         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16556         MI->getOperand(2).isImm() &&
16557         MI->getOperand(2).getImm() == 31 &&
16558         MI->getOperand(3).isImm() &&
16559         MI->getOperand(3).getImm() == 1 &&
16565     if (MI->getNumOperands() == 4 &&
16566         MI->getOperand(0).isReg() &&
16567         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16568         MI->getOperand(3).isImm() &&
16569         MI->getOperand(3).getImm() == 1 &&
16577     if (MI->getNumOperands() == 4 &&
16578         MI->getOperand(0).isReg() &&
16579         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16580         MI->getOperand(2).isImm() &&
16581         MI->getOperand(2).getImm() == 31 &&
16582         MI->getOperand(3).isImm() &&
16583         MI->getOperand(3).getImm() == 1 &&
16589     if (MI->getNumOperands() == 4 &&
16590         MI->getOperand(0).isReg() &&
16591         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16592         MI->getOperand(3).isImm() &&
16593         MI->getOperand(3).getImm() == 1 &&
16601     if (MI->getNumOperands() == 4 &&
16602         MI->getOperand(0).isReg() &&
16603         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16604         MI->getOperand(2).isImm() &&
16605         MI->getOperand(2).getImm() == 31 &&
16606         MI->getOperand(3).isImm() &&
16607         MI->getOperand(3).getImm() == 1 &&
16613     if (MI->getNumOperands() == 4 &&
16614         MI->getOperand(0).isReg() &&
16615         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16616         MI->getOperand(3).isImm() &&
16617         MI->getOperand(3).getImm() == 1 &&
16625     if (MI->getNumOperands() == 4 &&
16626         MI->getOperand(0).isReg() &&
16627         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16628         MI->getOperand(2).isImm() &&
16629         MI->getOperand(2).getImm() == 31 &&
16630         MI->getOperand(3).isImm() &&
16631         MI->getOperand(3).getImm() == 1 &&
16637     if (MI->getNumOperands() == 4 &&
16638         MI->getOperand(0).isReg() &&
16639         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16640         MI->getOperand(3).isImm() &&
16641         MI->getOperand(3).getImm() == 1 &&
16649     if (MI->getNumOperands() == 4 &&
16650         MI->getOperand(0).isReg() &&
16651         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16652         MI->getOperand(2).isImm() &&
16653         MI->getOperand(2).getImm() == 31 &&
16654         MI->getOperand(3).isImm() &&
16655         MI->getOperand(3).getImm() == 1 &&
16661     if (MI->getNumOperands() == 4 &&
16662         MI->getOperand(0).isReg() &&
16663         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16664         MI->getOperand(3).isImm() &&
16665         MI->getOperand(3).getImm() == 1 &&
16673     if (MI->getNumOperands() == 4 &&
16674         MI->getOperand(0).isReg() &&
16675         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16676         MI->getOperand(2).isImm() &&
16677         MI->getOperand(2).getImm() == 31 &&
16678         MI->getOperand(3).isImm() &&
16679         MI->getOperand(3).getImm() == 1 &&
16685     if (MI->getNumOperands() == 4 &&
16686         MI->getOperand(0).isReg() &&
16687         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
16688         MI->getOperand(3).isImm() &&
16689         MI->getOperand(3).getImm() == 1 &&
16697     if (MI->getNumOperands() == 4 &&
16698         MI->getOperand(0).isReg() &&
16699         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16700         MI->getOperand(2).isImm() &&
16701         MI->getOperand(2).getImm() == 31 &&
16702         MI->getOperand(3).isImm() &&
16703         MI->getOperand(3).getImm() == 1 &&
16709     if (MI->getNumOperands() == 4 &&
16710         MI->getOperand(0).isReg() &&
16711         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16712         MI->getOperand(3).isImm() &&
16713         MI->getOperand(3).getImm() == 1 &&
16721     if (MI->getNumOperands() == 1 &&
16722         MI->getOperand(0).isImm() &&
16723         MI->getOperand(0).getImm() == 0) {
16728     if (MI->getNumOperands() == 1 &&
16729         MI->getOperand(0).isImm() &&
16730         MI->getOperand(0).getImm() == 4) {
16737     if (MI->getNumOperands() == 2 &&
16738         MI->getOperand(0).isReg() &&
16739         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16740         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(1), STI, 5) &&
16746     if (MI->getNumOperands() == 2 &&
16747         MI->getOperand(0).isReg() &&
16748         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16749         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(1), STI, 6) &&
16755     if (MI->getNumOperands() == 2 &&
16756         MI->getOperand(0).isReg() &&
16757         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16758         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(1), STI, 7) &&
16764     if (MI->getNumOperands() == 2 &&
16765         MI->getOperand(0).isReg() &&
16766         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16767         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(1), STI, 1) &&
16773     if (MI->getNumOperands() == 2 &&
16774         MI->getOperand(0).isReg() &&
16775         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16776         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(1), STI, 2) &&
16782     if (MI->getNumOperands() == 2 &&
16783         MI->getOperand(0).isReg() &&
16784         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16785         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(1), STI, 3) &&
16793     if (MI->getNumOperands() == 3 &&
16794         MI->getOperand(0).isReg() &&
16795         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16803     if (MI->getNumOperands() == 3 &&
16804         MI->getOperand(0).isReg() &&
16805         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16811     if (MI->getNumOperands() == 3 &&
16812         MI->getOperand(0).isReg() &&
16813         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16814         MI->getOperand(1).isImm() &&
16815         MI->getOperand(1).getImm() == 0 &&
16816         MI->getOperand(2).isImm() &&
16817         MI->getOperand(2).getImm() == 0 &&
16825     if (MI->getNumOperands() == 3 &&
16826         MI->getOperand(0).isReg() &&
16827         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16833     if (MI->getNumOperands() == 3 &&
16834         MI->getOperand(0).isReg() &&
16835         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16836         MI->getOperand(1).isImm() &&
16837         MI->getOperand(1).getImm() == 0 &&
16838         MI->getOperand(2).isImm() &&
16839         MI->getOperand(2).getImm() == 0 &&
16847     if (MI->getNumOperands() == 3 &&
16848         MI->getOperand(0).isReg() &&
16849         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16855     if (MI->getNumOperands() == 3 &&
16856         MI->getOperand(0).isReg() &&
16857         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16858         MI->getOperand(1).isImm() &&
16859         MI->getOperand(1).getImm() == 0 &&
16860         MI->getOperand(2).isImm() &&
16861         MI->getOperand(2).getImm() == 0 &&
16869     if (MI->getNumOperands() == 2 &&
16870         MI->getOperand(0).isReg() &&
16871         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16872         MI->getOperand(1).isReg() &&
16873         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
16881     if (MI->getNumOperands() == 2 &&
16882         MI->getOperand(0).isReg() &&
16883         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16884         MI->getOperand(1).isReg() &&
16885         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
16893     if (MI->getNumOperands() == 2 &&
16894         MI->getOperand(0).isReg() &&
16895         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16896         MI->getOperand(1).isReg() &&
16897         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
16905     if (MI->getNumOperands() == 2 &&
16906         MI->getOperand(0).isReg() &&
16907         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16908         MI->getOperand(1).isReg() &&
16909         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
16917     if (MI->getNumOperands() == 3 &&
16918         MI->getOperand(0).isReg() &&
16919         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16920         MI->getOperand(1).isReg() &&
16921         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16922         MI->getOperand(2).isImm() &&
16923         MI->getOperand(2).getImm() == 0 &&
16929     if (MI->getNumOperands() == 3 &&
16930         MI->getOperand(0).isReg() &&
16931         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16932         MI->getOperand(1).isReg() &&
16933         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16941     if (MI->getNumOperands() == 3 &&
16942         MI->getOperand(0).isReg() &&
16943         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16944         MI->getOperand(1).isReg() &&
16945         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16946         MI->getOperand(2).isImm() &&
16947         MI->getOperand(2).getImm() == 0 &&
16953     if (MI->getNumOperands() == 3 &&
16954         MI->getOperand(0).isReg() &&
16955         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16956         MI->getOperand(1).isReg() &&
16957         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16965     if (MI->getNumOperands() == 3 &&
16966         MI->getOperand(0).isReg() &&
16967         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16968         MI->getOperand(1).isReg() &&
16969         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16970         MI->getOperand(2).isImm() &&
16971         MI->getOperand(2).getImm() == 0 &&
16977     if (MI->getNumOperands() == 3 &&
16978         MI->getOperand(0).isReg() &&
16979         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16980         MI->getOperand(1).isReg() &&
16981         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16989     if (MI->getNumOperands() == 3 &&
16990         MI->getOperand(0).isReg() &&
16991         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
16992         MI->getOperand(1).isReg() &&
16993         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
16994         MI->getOperand(2).isImm() &&
16995         MI->getOperand(2).getImm() == 0 &&
17001     if (MI->getNumOperands() == 3 &&
17002         MI->getOperand(0).isReg() &&
17003         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17004         MI->getOperand(1).isReg() &&
17005         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
17013     if (MI->getNumOperands() == 3 &&
17014         MI->getOperand(0).isReg() &&
17015         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17016         MI->getOperand(1).isReg() &&
17017         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
17018         MI->getOperand(2).isImm() &&
17019         MI->getOperand(2).getImm() == 0 &&
17025     if (MI->getNumOperands() == 3 &&
17026         MI->getOperand(0).isReg() &&
17027         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17028         MI->getOperand(1).isReg() &&
17029         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
17037     if (MI->getNumOperands() == 4 &&
17038         MI->getOperand(0).isReg() &&
17039         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
17040         MI->getOperand(1).isReg() &&
17041         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17042         MI->getOperand(2).isReg() &&
17043         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
17044         MI->getOperand(3).isImm() &&
17045         MI->getOperand(3).getImm() == 0) {
17052     if (MI->getNumOperands() == 4 &&
17053         MI->getOperand(0).isReg() &&
17054         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17055         MI->getOperand(1).isReg() &&
17056         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17057         MI->getOperand(2).isReg() &&
17058         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
17059         MI->getOperand(3).isImm() &&
17060         MI->getOperand(3).getImm() == 0) {
17067     if (MI->getNumOperands() == 4 &&
17068         MI->getOperand(0).isReg() &&
17069         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17070         MI->getOperand(1).isReg() &&
17071         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
17072         MI->getOperand(2).isReg() &&
17073         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17074         MI->getOperand(3).isReg() &&
17075         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
17075         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
17083     if (MI->getNumOperands() == 4 &&
17084         MI->getOperand(0).isReg() &&
17085         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
17086         MI->getOperand(1).isReg() &&
17087         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17088         MI->getOperand(2).isReg() &&
17089         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
17090         MI->getOperand(3).isImm() &&
17091         MI->getOperand(3).getImm() == 0) {
17098     if (MI->getNumOperands() == 4 &&
17099         MI->getOperand(0).isReg() &&
17100         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17101         MI->getOperand(1).isReg() &&
17102         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17103         MI->getOperand(2).isReg() &&
17104         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
17105         MI->getOperand(3).isImm() &&
17106         MI->getOperand(3).getImm() == 0) {
17113     if (MI->getNumOperands() == 4 &&
17114         MI->getOperand(0).isReg() &&
17115         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17116         MI->getOperand(1).isReg() &&
17117         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
17118         MI->getOperand(2).isReg() &&
17119         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17120         MI->getOperand(3).isReg() &&
17121         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
17121         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
17129     if (MI->getNumOperands() == 3 &&
17130         MI->getOperand(0).isReg() &&
17131         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17132         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(2), STI, 1) &&
17138     if (MI->getNumOperands() == 3 &&
17139         MI->getOperand(0).isReg() &&
17140         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17141         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(2), STI, 2) &&
17147     if (MI->getNumOperands() == 3 &&
17148         MI->getOperand(0).isReg() &&
17149         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17150         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(2), STI, 3) &&
17158     if (MI->getNumOperands() == 4 &&
17159         MI->getOperand(0).isReg() &&
17160         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
17161         MI->getOperand(1).isReg() &&
17162         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
17163         MI->getOperand(2).isReg() &&
17164         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
17164         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
17171     if (MI->getNumOperands() == 4 &&
17172         MI->getOperand(0).isReg() &&
17173         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17174         MI->getOperand(1).isReg() &&
17175         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
17176         MI->getOperand(2).isReg() &&
17177         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
17177         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
17184     if (MI->getNumOperands() == 4 &&
17185         MI->getOperand(0).isReg() &&
17186         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17187         MI->getOperand(2).isReg() &&
17188         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17196     if (MI->getNumOperands() == 4 &&
17197         MI->getOperand(0).isReg() &&
17198         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17199         MI->getOperand(2).isReg() &&
17200         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17208     if (MI->getNumOperands() == 4 &&
17209         MI->getOperand(0).isReg() &&
17210         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17211         MI->getOperand(2).isReg() &&
17212         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17220     if (MI->getNumOperands() == 2 &&
17221         MI->getOperand(0).isReg() &&
17222         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17230     if (MI->getNumOperands() == 2 &&
17231         MI->getOperand(0).isReg() &&
17232         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17240     if (MI->getNumOperands() == 2 &&
17241         MI->getOperand(0).isReg() &&
17242         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17250     if (MI->getNumOperands() == 4 &&
17251         MI->getOperand(0).isReg() &&
17252         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17253         MI->getOperand(1).isReg() &&
17254         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17255         MI->getOperand(2).isReg() &&
17256         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17257         MI->getOperand(3).isImm() &&
17258         MI->getOperand(3).getImm() == 0 &&
17266     if (MI->getNumOperands() == 4 &&
17267         MI->getOperand(0).isReg() &&
17268         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17269         MI->getOperand(1).isReg() &&
17270         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17271         MI->getOperand(2).isReg() &&
17272         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17273         MI->getOperand(3).isImm() &&
17274         MI->getOperand(3).getImm() == 0 &&
17282     if (MI->getNumOperands() == 4 &&
17283         MI->getOperand(0).isReg() &&
17284         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17285         MI->getOperand(1).isReg() &&
17286         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17287         MI->getOperand(2).isReg() &&
17288         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17289         MI->getOperand(3).isImm() &&
17290         MI->getOperand(3).getImm() == 0 &&
17298     if (MI->getNumOperands() == 4 &&
17299         MI->getOperand(0).isReg() &&
17300         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17301         MI->getOperand(1).isReg() &&
17302         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17303         MI->getOperand(2).isReg() &&
17304         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17305         MI->getOperand(3).isImm() &&
17306         MI->getOperand(3).getImm() == 0 &&
17314     if (MI->getNumOperands() == 4 &&
17315         MI->getOperand(0).isReg() &&
17316         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17317         MI->getOperand(1).isReg() &&
17318         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17319         MI->getOperand(2).isReg() &&
17320         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17321         MI->getOperand(3).isImm() &&
17322         MI->getOperand(3).getImm() == 0 &&
17330     if (MI->getNumOperands() == 4 &&
17331         MI->getOperand(0).isReg() &&
17332         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17333         MI->getOperand(1).isReg() &&
17334         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17335         MI->getOperand(2).isReg() &&
17336         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17337         MI->getOperand(3).isImm() &&
17338         MI->getOperand(3).getImm() == 0 &&
17346     if (MI->getNumOperands() == 4 &&
17347         MI->getOperand(0).isReg() &&
17348         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17349         MI->getOperand(1).isReg() &&
17350         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17351         MI->getOperand(2).isReg() &&
17352         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17353         MI->getOperand(3).isImm() &&
17354         MI->getOperand(3).getImm() == 0 &&
17362     if (MI->getNumOperands() == 4 &&
17363         MI->getOperand(0).isReg() &&
17364         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17365         MI->getOperand(1).isReg() &&
17366         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17367         MI->getOperand(2).isReg() &&
17368         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17369         MI->getOperand(3).isImm() &&
17370         MI->getOperand(3).getImm() == 0 &&
17378     if (MI->getNumOperands() == 4 &&
17379         MI->getOperand(0).isReg() &&
17380         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17381         MI->getOperand(1).isReg() &&
17382         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17383         MI->getOperand(2).isReg() &&
17384         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17385         MI->getOperand(3).isImm() &&
17386         MI->getOperand(3).getImm() == 0 &&
17394     if (MI->getNumOperands() == 4 &&
17395         MI->getOperand(0).isReg() &&
17396         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17397         MI->getOperand(1).isReg() &&
17398         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17399         MI->getOperand(2).isReg() &&
17400         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17401         MI->getOperand(3).isImm() &&
17402         MI->getOperand(3).getImm() == 0 &&
17410     if (MI->getNumOperands() == 4 &&
17411         MI->getOperand(0).isReg() &&
17412         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17413         MI->getOperand(1).isReg() &&
17414         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17415         MI->getOperand(2).isReg() &&
17416         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17417         MI->getOperand(3).isImm() &&
17418         MI->getOperand(3).getImm() == 0 &&
17426     if (MI->getNumOperands() == 4 &&
17427         MI->getOperand(0).isReg() &&
17428         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17429         MI->getOperand(1).isReg() &&
17430         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17431         MI->getOperand(2).isReg() &&
17432         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17433         MI->getOperand(3).isImm() &&
17434         MI->getOperand(3).getImm() == 0 &&
17442     if (MI->getNumOperands() == 4 &&
17443         MI->getOperand(0).isReg() &&
17444         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17445         MI->getOperand(1).isReg() &&
17446         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17447         MI->getOperand(2).isReg() &&
17448         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17449         MI->getOperand(3).isImm() &&
17450         MI->getOperand(3).getImm() == 0 &&
17458     if (MI->getNumOperands() == 4 &&
17459         MI->getOperand(0).isReg() &&
17460         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17461         MI->getOperand(1).isReg() &&
17462         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17463         MI->getOperand(2).isReg() &&
17464         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17465         MI->getOperand(3).isImm() &&
17466         MI->getOperand(3).getImm() == 0 &&
17474     if (MI->getNumOperands() == 4 &&
17475         MI->getOperand(0).isReg() &&
17476         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17477         MI->getOperand(1).isReg() &&
17478         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17479         MI->getOperand(2).isReg() &&
17480         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17481         MI->getOperand(3).isImm() &&
17482         MI->getOperand(3).getImm() == 0 &&
17490     if (MI->getNumOperands() == 4 &&
17491         MI->getOperand(0).isReg() &&
17492         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17493         MI->getOperand(1).isReg() &&
17494         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17495         MI->getOperand(2).isReg() &&
17496         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17497         MI->getOperand(3).isImm() &&
17498         MI->getOperand(3).getImm() == 0 &&
17506     if (MI->getNumOperands() == 4 &&
17507         MI->getOperand(0).isReg() &&
17508         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17509         MI->getOperand(1).isReg() &&
17510         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17511         MI->getOperand(2).isReg() &&
17512         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17513         MI->getOperand(3).isImm() &&
17514         MI->getOperand(3).getImm() == 0 &&
17522     if (MI->getNumOperands() == 4 &&
17523         MI->getOperand(0).isReg() &&
17524         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17525         MI->getOperand(1).isReg() &&
17526         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17527         MI->getOperand(2).isReg() &&
17528         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17529         MI->getOperand(3).isImm() &&
17530         MI->getOperand(3).getImm() == 0 &&
17538     if (MI->getNumOperands() == 4 &&
17539         MI->getOperand(0).isReg() &&
17540         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17541         MI->getOperand(1).isReg() &&
17542         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17543         MI->getOperand(2).isReg() &&
17544         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17545         MI->getOperand(3).isImm() &&
17546         MI->getOperand(3).getImm() == 0 &&
17554     if (MI->getNumOperands() == 4 &&
17555         MI->getOperand(0).isReg() &&
17556         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17557         MI->getOperand(1).isReg() &&
17558         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17559         MI->getOperand(2).isReg() &&
17560         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17561         MI->getOperand(3).isImm() &&
17562         MI->getOperand(3).getImm() == 0 &&
17570     if (MI->getNumOperands() == 4 &&
17571         MI->getOperand(0).isReg() &&
17572         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17573         MI->getOperand(1).isReg() &&
17574         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17575         MI->getOperand(2).isReg() &&
17576         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17577         MI->getOperand(3).isImm() &&
17578         MI->getOperand(3).getImm() == 0 &&
17586     if (MI->getNumOperands() == 4 &&
17587         MI->getOperand(0).isReg() &&
17588         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17589         MI->getOperand(1).isReg() &&
17590         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17591         MI->getOperand(2).isReg() &&
17592         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17593         MI->getOperand(3).isImm() &&
17594         MI->getOperand(3).getImm() == 0 &&
17602     if (MI->getNumOperands() == 4 &&
17603         MI->getOperand(0).isReg() &&
17604         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17605         MI->getOperand(1).isReg() &&
17606         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17607         MI->getOperand(2).isReg() &&
17608         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17609         MI->getOperand(3).isImm() &&
17610         MI->getOperand(3).getImm() == 0 &&
17618     if (MI->getNumOperands() == 4 &&
17619         MI->getOperand(0).isReg() &&
17620         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17621         MI->getOperand(1).isReg() &&
17622         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
17623         MI->getOperand(2).isReg() &&
17624         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
17625         MI->getOperand(3).isImm() &&
17626         MI->getOperand(3).getImm() == 0 &&
17634     if (MI->getNumOperands() == 1 &&
17635         MI->getOperand(0).isImm() &&
17636         MI->getOperand(0).getImm() == 0) {
17641     if (MI->getNumOperands() == 1 &&
17642         MI->getOperand(0).isImm() &&
17643         MI->getOperand(0).getImm() == 1) {
17648     if (MI->getNumOperands() == 1 &&
17649         MI->getOperand(0).isImm() &&
17650         MI->getOperand(0).getImm() == 2) {
17655     if (MI->getNumOperands() == 1 &&
17656         MI->getOperand(0).isImm() &&
17657         MI->getOperand(0).getImm() == 3) {
17662     if (MI->getNumOperands() == 1 &&
17663         MI->getOperand(0).isImm() &&
17664         MI->getOperand(0).getImm() == 4) {
17669     if (MI->getNumOperands() == 1 &&
17670         MI->getOperand(0).isImm() &&
17671         MI->getOperand(0).getImm() == 5) {
17676     if (MI->getNumOperands() == 1 &&
17677         MI->getOperand(0).isImm() &&
17678         MI->getOperand(0).getImm() == 16 &&
17684     if (MI->getNumOperands() == 1 &&
17685         MI->getOperand(0).isImm() &&
17686         MI->getOperand(0).getImm() == 20) {
17691     if (MI->getNumOperands() == 1 &&
17692         MI->getOperand(0).isImm() &&
17693         MI->getOperand(0).getImm() == 32 &&
17699     if (MI->getNumOperands() == 1 &&
17700         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(0), STI, 8) &&
17706     if (MI->getNumOperands() == 1 &&
17707         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(0), STI, 9) &&
17715     if (MI->getNumOperands() == 4 &&
17716         MI->getOperand(0).isReg() &&
17717         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17718         MI->getOperand(2).isImm() &&
17719         MI->getOperand(2).getImm() == 31 &&
17720         MI->getOperand(3).isImm() &&
17721         MI->getOperand(3).getImm() == 1 &&
17727     if (MI->getNumOperands() == 4 &&
17728         MI->getOperand(0).isReg() &&
17729         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17730         MI->getOperand(3).isImm() &&
17731         MI->getOperand(3).getImm() == 1 &&
17739     if (MI->getNumOperands() == 4 &&
17740         MI->getOperand(0).isReg() &&
17741         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17742         MI->getOperand(2).isImm() &&
17743         MI->getOperand(2).getImm() == 31 &&
17744         MI->getOperand(3).isImm() &&
17745         MI->getOperand(3).getImm() == 1 &&
17751     if (MI->getNumOperands() == 4 &&
17752         MI->getOperand(0).isReg() &&
17753         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17754         MI->getOperand(3).isImm() &&
17755         MI->getOperand(3).getImm() == 1 &&
17763     if (MI->getNumOperands() == 4 &&
17764         MI->getOperand(0).isReg() &&
17765         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17766         MI->getOperand(2).isImm() &&
17767         MI->getOperand(2).getImm() == 31 &&
17768         MI->getOperand(3).isImm() &&
17769         MI->getOperand(3).getImm() == 1 &&
17775     if (MI->getNumOperands() == 4 &&
17776         MI->getOperand(0).isReg() &&
17777         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17778         MI->getOperand(3).isImm() &&
17779         MI->getOperand(3).getImm() == 1 &&
17787     if (MI->getNumOperands() == 4 &&
17788         MI->getOperand(0).isReg() &&
17789         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17790         MI->getOperand(2).isImm() &&
17791         MI->getOperand(2).getImm() == 31 &&
17792         MI->getOperand(3).isImm() &&
17793         MI->getOperand(3).getImm() == 1 &&
17799     if (MI->getNumOperands() == 4 &&
17800         MI->getOperand(0).isReg() &&
17801         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17802         MI->getOperand(3).isImm() &&
17803         MI->getOperand(3).getImm() == 1 &&
17811     if (MI->getNumOperands() == 4 &&
17812         MI->getOperand(0).isReg() &&
17813         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17814         MI->getOperand(2).isImm() &&
17815         MI->getOperand(2).getImm() == 31 &&
17816         MI->getOperand(3).isImm() &&
17817         MI->getOperand(3).getImm() == 1 &&
17823     if (MI->getNumOperands() == 4 &&
17824         MI->getOperand(0).isReg() &&
17825         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17826         MI->getOperand(3).isImm() &&
17827         MI->getOperand(3).getImm() == 1 &&
17835     if (MI->getNumOperands() == 4 &&
17836         MI->getOperand(0).isReg() &&
17837         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17838         MI->getOperand(2).isImm() &&
17839         MI->getOperand(2).getImm() == 31 &&
17840         MI->getOperand(3).isImm() &&
17841         MI->getOperand(3).getImm() == 1 &&
17847     if (MI->getNumOperands() == 4 &&
17848         MI->getOperand(0).isReg() &&
17849         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
17850         MI->getOperand(3).isImm() &&
17851         MI->getOperand(3).getImm() == 1 &&
17859     if (MI->getNumOperands() == 4 &&
17860         MI->getOperand(0).isReg() &&
17861         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17862         MI->getOperand(2).isImm() &&
17863         MI->getOperand(2).getImm() == 31 &&
17864         MI->getOperand(3).isImm() &&
17865         MI->getOperand(3).getImm() == 1 &&
17871     if (MI->getNumOperands() == 4 &&
17872         MI->getOperand(0).isReg() &&
17873         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
17874         MI->getOperand(3).isImm() &&
17875         MI->getOperand(3).getImm() == 1 &&
17883     if (MI->getNumOperands() == 4 &&
17884         MI->getOperand(0).isReg() &&
17885         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17886         MI->getOperand(3).isReg() &&
17887         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(3).getReg()) &&
17895     if (MI->getNumOperands() == 5 &&
17896         MI->getOperand(0).isReg() &&
17897         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17898         MI->getOperand(3).isReg() &&
17899         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) &&
17907     if (MI->getNumOperands() == 4 &&
17908         MI->getOperand(0).isReg() &&
17909         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17910         MI->getOperand(3).isReg() &&
17911         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(3).getReg()) &&
17919     if (MI->getNumOperands() == 5 &&
17920         MI->getOperand(0).isReg() &&
17921         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17922         MI->getOperand(3).isReg() &&
17923         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) &&
17931     if (MI->getNumOperands() == 4 &&
17932         MI->getOperand(0).isReg() &&
17933         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17934         MI->getOperand(3).isReg() &&
17935         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(3).getReg()) &&
17943     if (MI->getNumOperands() == 5 &&
17944         MI->getOperand(0).isReg() &&
17945         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17946         MI->getOperand(3).isReg() &&
17947         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) &&
17955     if (MI->getNumOperands() == 4 &&
17956         MI->getOperand(0).isReg() &&
17957         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17958         MI->getOperand(3).isReg() &&
17959         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(3).getReg()) &&
17967     if (MI->getNumOperands() == 5 &&
17968         MI->getOperand(0).isReg() &&
17969         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
17970         MI->getOperand(3).isReg() &&
17971         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(3).getReg()) &&
17979     if (MI->getNumOperands() == 3 &&
17980         MI->getOperand(0).isReg() &&
17981         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
17982         MI->getOperand(1).isReg() &&
17983         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
17984         MI->getOperand(2).getReg() == AArch64::XZR &&
17992     if (MI->getNumOperands() == 1 &&
17993         MI->getOperand(0).isImm() &&
17994         MI->getOperand(0).getImm() == 15) {
18001     if (MI->getNumOperands() == 4 &&
18002         MI->getOperand(0).isReg() &&
18003         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18004         MI->getOperand(1).isReg() &&
18005         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18006         MI->getOperand(2).isReg() &&
18007         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18008         MI->getOperand(3).isImm() &&
18009         MI->getOperand(3).getImm() == 0 &&
18017     if (MI->getNumOperands() == 4 &&
18018         MI->getOperand(0).isReg() &&
18019         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18020         MI->getOperand(1).isReg() &&
18021         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18022         MI->getOperand(2).isReg() &&
18023         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18024         MI->getOperand(3).isImm() &&
18025         MI->getOperand(3).getImm() == 0 &&
18033     if (MI->getNumOperands() == 4 &&
18034         MI->getOperand(0).isReg() &&
18035         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18036         MI->getOperand(1).isReg() &&
18037         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18038         MI->getOperand(2).isReg() &&
18039         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18040         MI->getOperand(3).isImm() &&
18041         MI->getOperand(3).getImm() == 0 &&
18049     if (MI->getNumOperands() == 4 &&
18050         MI->getOperand(0).isReg() &&
18051         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18052         MI->getOperand(1).isReg() &&
18053         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18054         MI->getOperand(2).isReg() &&
18055         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18056         MI->getOperand(3).isImm() &&
18057         MI->getOperand(3).getImm() == 0 &&
18065     if (MI->getNumOperands() == 4 &&
18066         MI->getOperand(0).isReg() &&
18067         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18068         MI->getOperand(1).isReg() &&
18069         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18070         MI->getOperand(2).isReg() &&
18071         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18072         MI->getOperand(3).isImm() &&
18073         MI->getOperand(3).getImm() == 0 &&
18081     if (MI->getNumOperands() == 4 &&
18082         MI->getOperand(0).isReg() &&
18083         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18084         MI->getOperand(1).isReg() &&
18085         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18086         MI->getOperand(3).getReg() == AArch64::XZR &&
18094     if (MI->getNumOperands() == 4 &&
18095         MI->getOperand(0).isReg() &&
18096         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18097         MI->getOperand(1).isReg() &&
18098         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
18099         MI->getOperand(3).getReg() == AArch64::XZR &&
18107     if (MI->getNumOperands() == 4 &&
18108         MI->getOperand(0).isReg() &&
18109         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18110         MI->getOperand(1).isReg() &&
18111         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18112         MI->getOperand(3).getReg() == AArch64::XZR &&
18120     if (MI->getNumOperands() == 4 &&
18121         MI->getOperand(0).isReg() &&
18122         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18123         MI->getOperand(1).isReg() &&
18124         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
18125         MI->getOperand(3).getReg() == AArch64::XZR &&
18133     if (MI->getNumOperands() == 4 &&
18134         MI->getOperand(0).isReg() &&
18135         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18136         MI->getOperand(1).isReg() &&
18137         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
18138         MI->getOperand(3).getReg() == AArch64::XZR &&
18146     if (MI->getNumOperands() == 4 &&
18147         MI->getOperand(0).isReg() &&
18148         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18149         MI->getOperand(1).isReg() &&
18150         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18151         MI->getOperand(3).getReg() == AArch64::XZR &&
18159     if (MI->getNumOperands() == 4 &&
18160         MI->getOperand(0).isReg() &&
18161         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18162         MI->getOperand(1).isReg() &&
18163         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
18164         MI->getOperand(3).getReg() == AArch64::XZR &&
18172     if (MI->getNumOperands() == 4 &&
18173         MI->getOperand(0).isReg() &&
18174         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18175         MI->getOperand(1).isReg() &&
18176         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
18177         MI->getOperand(3).getReg() == AArch64::XZR &&
18185     if (MI->getNumOperands() == 4 &&
18186         MI->getOperand(0).isReg() &&
18187         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18188         MI->getOperand(1).isReg() &&
18189         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18190         MI->getOperand(2).isReg() &&
18191         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18192         MI->getOperand(3).isImm() &&
18193         MI->getOperand(3).getImm() == 0 &&
18201     if (MI->getNumOperands() == 4 &&
18202         MI->getOperand(0).isReg() &&
18203         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18204         MI->getOperand(1).isReg() &&
18205         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18206         MI->getOperand(2).isReg() &&
18207         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18208         MI->getOperand(3).isImm() &&
18209         MI->getOperand(3).getImm() == 0 &&
18217     if (MI->getNumOperands() == 4 &&
18218         MI->getOperand(0).isReg() &&
18219         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18220         MI->getOperand(1).isReg() &&
18221         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18222         MI->getOperand(2).isReg() &&
18223         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18224         MI->getOperand(3).isImm() &&
18225         MI->getOperand(3).getImm() == 0 &&
18233     if (MI->getNumOperands() == 4 &&
18234         MI->getOperand(0).isReg() &&
18235         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18236         MI->getOperand(1).isReg() &&
18237         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18238         MI->getOperand(3).getReg() == AArch64::XZR &&
18246     if (MI->getNumOperands() == 4 &&
18247         MI->getOperand(0).isReg() &&
18248         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18249         MI->getOperand(1).isReg() &&
18250         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
18251         MI->getOperand(3).getReg() == AArch64::XZR &&
18259     if (MI->getNumOperands() == 4 &&
18260         MI->getOperand(0).isReg() &&
18261         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18262         MI->getOperand(1).isReg() &&
18263         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18264         MI->getOperand(3).getReg() == AArch64::XZR &&
18272     if (MI->getNumOperands() == 4 &&
18273         MI->getOperand(0).isReg() &&
18274         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18275         MI->getOperand(1).isReg() &&
18276         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
18277         MI->getOperand(3).getReg() == AArch64::XZR &&
18285     if (MI->getNumOperands() == 4 &&
18286         MI->getOperand(0).isReg() &&
18287         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18288         MI->getOperand(1).isReg() &&
18289         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
18290         MI->getOperand(3).getReg() == AArch64::XZR &&
18298     if (MI->getNumOperands() == 4 &&
18299         MI->getOperand(0).isReg() &&
18300         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18301         MI->getOperand(1).isReg() &&
18302         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18303         MI->getOperand(3).getReg() == AArch64::XZR &&
18311     if (MI->getNumOperands() == 4 &&
18312         MI->getOperand(0).isReg() &&
18313         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18314         MI->getOperand(1).isReg() &&
18315         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
18316         MI->getOperand(3).getReg() == AArch64::XZR &&
18324     if (MI->getNumOperands() == 4 &&
18325         MI->getOperand(0).isReg() &&
18326         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18327         MI->getOperand(1).isReg() &&
18328         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18329         MI->getOperand(3).getReg() == AArch64::XZR &&
18337     if (MI->getNumOperands() == 4 &&
18338         MI->getOperand(0).isReg() &&
18339         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18340         MI->getOperand(1).isReg() &&
18341         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18342         MI->getOperand(2).isReg() &&
18343         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18344         MI->getOperand(3).isImm() &&
18345         MI->getOperand(3).getImm() == 0 &&
18353     if (MI->getNumOperands() == 4 &&
18354         MI->getOperand(0).isReg() &&
18355         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18356         MI->getOperand(1).isReg() &&
18357         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18358         MI->getOperand(2).isReg() &&
18359         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18360         MI->getOperand(3).isImm() &&
18361         MI->getOperand(3).getImm() == 0 &&
18369     if (MI->getNumOperands() == 4 &&
18370         MI->getOperand(0).isReg() &&
18371         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18372         MI->getOperand(1).isReg() &&
18373         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18374         MI->getOperand(2).isReg() &&
18375         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18376         MI->getOperand(3).isImm() &&
18377         MI->getOperand(3).getImm() == 0 &&
18385     if (MI->getNumOperands() == 4 &&
18386         MI->getOperand(0).isReg() &&
18387         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18388         MI->getOperand(1).isReg() &&
18389         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18390         MI->getOperand(2).isReg() &&
18391         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18392         MI->getOperand(3).isImm() &&
18393         MI->getOperand(3).getImm() == 0 &&
18401     if (MI->getNumOperands() == 4 &&
18402         MI->getOperand(0).isReg() &&
18403         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18404         MI->getOperand(1).isReg() &&
18405         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18406         MI->getOperand(2).isReg() &&
18407         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18408         MI->getOperand(3).isImm() &&
18409         MI->getOperand(3).getImm() == 0 &&
18417     if (MI->getNumOperands() == 4 &&
18418         MI->getOperand(0).isReg() &&
18419         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18420         MI->getOperand(1).isReg() &&
18421         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18422         MI->getOperand(2).isReg() &&
18423         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18424         MI->getOperand(3).isImm() &&
18425         MI->getOperand(3).getImm() == 0 &&
18433     if (MI->getNumOperands() == 4 &&
18434         MI->getOperand(0).isReg() &&
18435         MRI.getRegClass(AArch64::ZPRRegClassID).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::ZPRRegClassID).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::ZPRRegClassID).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::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18484         MI->getOperand(1).isReg() &&
18485         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18486         MI->getOperand(2).isReg() &&
18487         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18488         MI->getOperand(3).isImm() &&
18489         MI->getOperand(3).getImm() == 0 &&
18497     if (MI->getNumOperands() == 4 &&
18498         MI->getOperand(0).isReg() &&
18499         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18500         MI->getOperand(1).isReg() &&
18501         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18502         MI->getOperand(2).isReg() &&
18503         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18504         MI->getOperand(3).isImm() &&
18505         MI->getOperand(3).getImm() == 0 &&
18513     if (MI->getNumOperands() == 4 &&
18514         MI->getOperand(0).isReg() &&
18515         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18516         MI->getOperand(1).isReg() &&
18517         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18518         MI->getOperand(2).isReg() &&
18519         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18520         MI->getOperand(3).isImm() &&
18521         MI->getOperand(3).getImm() == 0 &&
18529     if (MI->getNumOperands() == 4 &&
18530         MI->getOperand(0).isReg() &&
18531         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18532         MI->getOperand(1).isReg() &&
18533         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18534         MI->getOperand(2).isReg() &&
18535         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18536         MI->getOperand(3).isImm() &&
18537         MI->getOperand(3).getImm() == 0 &&
18545     if (MI->getNumOperands() == 4 &&
18546         MI->getOperand(0).isReg() &&
18547         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18548         MI->getOperand(1).isReg() &&
18549         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18550         MI->getOperand(2).isReg() &&
18551         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18552         MI->getOperand(3).isImm() &&
18553         MI->getOperand(3).getImm() == 0 &&
18561     if (MI->getNumOperands() == 4 &&
18562         MI->getOperand(0).isReg() &&
18563         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18564         MI->getOperand(1).isReg() &&
18565         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18566         MI->getOperand(2).isReg() &&
18567         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18568         MI->getOperand(3).isImm() &&
18569         MI->getOperand(3).getImm() == 0 &&
18577     if (MI->getNumOperands() == 4 &&
18578         MI->getOperand(0).isReg() &&
18579         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18580         MI->getOperand(1).isReg() &&
18581         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18582         MI->getOperand(2).isReg() &&
18583         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18584         MI->getOperand(3).isImm() &&
18585         MI->getOperand(3).getImm() == 0 &&
18593     if (MI->getNumOperands() == 4 &&
18594         MI->getOperand(0).isReg() &&
18595         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18596         MI->getOperand(1).isReg() &&
18597         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18598         MI->getOperand(2).isReg() &&
18599         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18600         MI->getOperand(3).isImm() &&
18601         MI->getOperand(3).getImm() == 0 &&
18609     if (MI->getNumOperands() == 4 &&
18610         MI->getOperand(0).isReg() &&
18611         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18612         MI->getOperand(1).isReg() &&
18613         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18614         MI->getOperand(2).isReg() &&
18615         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18616         MI->getOperand(3).isImm() &&
18617         MI->getOperand(3).getImm() == 0 &&
18625     if (MI->getNumOperands() == 4 &&
18626         MI->getOperand(0).isReg() &&
18627         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18628         MI->getOperand(1).isReg() &&
18629         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18630         MI->getOperand(2).isReg() &&
18631         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18632         MI->getOperand(3).isImm() &&
18633         MI->getOperand(3).getImm() == 0 &&
18641     if (MI->getNumOperands() == 4 &&
18642         MI->getOperand(0).isReg() &&
18643         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18644         MI->getOperand(1).isReg() &&
18645         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18646         MI->getOperand(2).isReg() &&
18647         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18648         MI->getOperand(3).isImm() &&
18649         MI->getOperand(3).getImm() == 0 &&
18657     if (MI->getNumOperands() == 4 &&
18658         MI->getOperand(0).isReg() &&
18659         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18660         MI->getOperand(1).isReg() &&
18661         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18662         MI->getOperand(3).getReg() == AArch64::XZR &&
18670     if (MI->getNumOperands() == 4 &&
18671         MI->getOperand(0).isReg() &&
18672         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18673         MI->getOperand(1).isReg() &&
18674         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
18675         MI->getOperand(3).getReg() == AArch64::XZR &&
18683     if (MI->getNumOperands() == 4 &&
18684         MI->getOperand(0).isReg() &&
18685         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18686         MI->getOperand(1).isReg() &&
18687         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18688         MI->getOperand(3).getReg() == AArch64::XZR &&
18696     if (MI->getNumOperands() == 4 &&
18697         MI->getOperand(0).isReg() &&
18698         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18699         MI->getOperand(1).isReg() &&
18700         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
18701         MI->getOperand(3).getReg() == AArch64::XZR &&
18709     if (MI->getNumOperands() == 4 &&
18710         MI->getOperand(0).isReg() &&
18711         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18712         MI->getOperand(1).isReg() &&
18713         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
18714         MI->getOperand(3).getReg() == AArch64::XZR &&
18722     if (MI->getNumOperands() == 4 &&
18723         MI->getOperand(0).isReg() &&
18724         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18725         MI->getOperand(1).isReg() &&
18726         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18727         MI->getOperand(3).getReg() == AArch64::XZR &&
18735     if (MI->getNumOperands() == 4 &&
18736         MI->getOperand(0).isReg() &&
18737         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18738         MI->getOperand(1).isReg() &&
18739         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
18740         MI->getOperand(3).getReg() == AArch64::XZR &&
18748     if (MI->getNumOperands() == 4 &&
18749         MI->getOperand(0).isReg() &&
18750         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18751         MI->getOperand(1).isReg() &&
18752         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
18753         MI->getOperand(3).getReg() == AArch64::XZR &&
18761     if (MI->getNumOperands() == 4 &&
18762         MI->getOperand(0).isReg() &&
18763         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18764         MI->getOperand(1).isReg() &&
18765         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18766         MI->getOperand(2).isReg() &&
18767         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18768         MI->getOperand(3).isImm() &&
18769         MI->getOperand(3).getImm() == 0 &&
18777     if (MI->getNumOperands() == 4 &&
18778         MI->getOperand(0).isReg() &&
18779         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18780         MI->getOperand(1).isReg() &&
18781         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18782         MI->getOperand(2).isReg() &&
18783         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18784         MI->getOperand(3).isImm() &&
18785         MI->getOperand(3).getImm() == 0 &&
18793     if (MI->getNumOperands() == 4 &&
18794         MI->getOperand(0).isReg() &&
18795         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18796         MI->getOperand(1).isReg() &&
18797         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18798         MI->getOperand(2).isReg() &&
18799         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18800         MI->getOperand(3).isImm() &&
18801         MI->getOperand(3).getImm() == 0 &&
18809     if (MI->getNumOperands() == 4 &&
18810         MI->getOperand(0).isReg() &&
18811         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18812         MI->getOperand(1).isReg() &&
18813         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18814         MI->getOperand(2).isReg() &&
18815         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18816         MI->getOperand(3).isImm() &&
18817         MI->getOperand(3).getImm() == 0 &&
18825     if (MI->getNumOperands() == 4 &&
18826         MI->getOperand(0).isReg() &&
18827         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18828         MI->getOperand(1).isReg() &&
18829         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18830         MI->getOperand(2).isReg() &&
18831         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18832         MI->getOperand(3).isImm() &&
18833         MI->getOperand(3).getImm() == 0 &&
18841     if (MI->getNumOperands() == 4 &&
18842         MI->getOperand(0).isReg() &&
18843         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
18844         MI->getOperand(1).isReg() &&
18845         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
18846         MI->getOperand(2).isReg() &&
18847         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
18848         MI->getOperand(3).isImm() &&
18849         MI->getOperand(3).getImm() == 0 &&
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::DDDRegClassID).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::DDDRegClassID).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::QQQRegClassID).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::QQRegClassID).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::DDRegClassID).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::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
18990         MI->getOperand(1).isReg() &&
18991         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
18992         MI->getOperand(3).getReg() == AArch64::XZR &&
19000     if (MI->getNumOperands() == 4 &&
19001         MI->getOperand(0).isReg() &&
19002         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19003         MI->getOperand(1).isReg() &&
19004         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
19005         MI->getOperand(3).getReg() == AArch64::XZR &&
19013     if (MI->getNumOperands() == 4 &&
19014         MI->getOperand(0).isReg() &&
19015         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19016         MI->getOperand(1).isReg() &&
19017         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
19018         MI->getOperand(3).getReg() == AArch64::XZR &&
19026     if (MI->getNumOperands() == 4 &&
19027         MI->getOperand(0).isReg() &&
19028         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19029         MI->getOperand(1).isReg() &&
19030         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
19031         MI->getOperand(3).getReg() == AArch64::XZR &&
19039     if (MI->getNumOperands() == 4 &&
19040         MI->getOperand(0).isReg() &&
19041         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19042         MI->getOperand(1).isReg() &&
19043         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
19044         MI->getOperand(3).getReg() == AArch64::XZR &&
19052     if (MI->getNumOperands() == 4 &&
19053         MI->getOperand(0).isReg() &&
19054         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19055         MI->getOperand(1).isReg() &&
19056         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
19057         MI->getOperand(3).getReg() == AArch64::XZR &&
19065     if (MI->getNumOperands() == 4 &&
19066         MI->getOperand(0).isReg() &&
19067         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19068         MI->getOperand(1).isReg() &&
19069         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19070         MI->getOperand(2).isReg() &&
19071         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19072         MI->getOperand(3).isImm() &&
19073         MI->getOperand(3).getImm() == 0 &&
19081     if (MI->getNumOperands() == 4 &&
19082         MI->getOperand(0).isReg() &&
19083         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
19084         MI->getOperand(1).isReg() &&
19085         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19086         MI->getOperand(2).isReg() &&
19087         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19088         MI->getOperand(3).isImm() &&
19089         MI->getOperand(3).getImm() == 0 &&
19097     if (MI->getNumOperands() == 6 &&
19098         MI->getOperand(0).isReg() &&
19099         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19100         MI->getOperand(1).isReg() &&
19101         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
19102         MI->getOperand(5).getReg() == AArch64::XZR &&
19110     if (MI->getNumOperands() == 6 &&
19111         MI->getOperand(0).isReg() &&
19112         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19113         MI->getOperand(1).isReg() &&
19114         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
19115         MI->getOperand(5).getReg() == AArch64::XZR &&
19123     if (MI->getNumOperands() == 6 &&
19124         MI->getOperand(0).isReg() &&
19125         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19126         MI->getOperand(1).isReg() &&
19127         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
19128         MI->getOperand(5).getReg() == AArch64::XZR &&
19136     if (MI->getNumOperands() == 6 &&
19137         MI->getOperand(0).isReg() &&
19138         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19139         MI->getOperand(1).isReg() &&
19140         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
19141         MI->getOperand(5).getReg() == AArch64::XZR &&
19149     if (MI->getNumOperands() == 4 &&
19150         MI->getOperand(0).isReg() &&
19151         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
19152         MI->getOperand(1).isReg() &&
19153         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19154         MI->getOperand(2).isReg() &&
19155         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19156         MI->getOperand(3).isImm() &&
19157         MI->getOperand(3).getImm() == 0 &&
19165     if (MI->getNumOperands() == 4 &&
19166         MI->getOperand(0).isReg() &&
19167         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
19168         MI->getOperand(1).isReg() &&
19169         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19170         MI->getOperand(2).isReg() &&
19171         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19172         MI->getOperand(3).isImm() &&
19173         MI->getOperand(3).getImm() == 0 &&
19181     if (MI->getNumOperands() == 4 &&
19182         MI->getOperand(0).isReg() &&
19183         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
19184         MI->getOperand(1).isReg() &&
19185         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19186         MI->getOperand(2).isReg() &&
19187         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19188         MI->getOperand(3).isImm() &&
19189         MI->getOperand(3).getImm() == 0 &&
19197     if (MI->getNumOperands() == 4 &&
19198         MI->getOperand(0).isReg() &&
19199         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19200         MI->getOperand(1).isReg() &&
19201         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
19202         MI->getOperand(3).getReg() == AArch64::XZR &&
19210     if (MI->getNumOperands() == 4 &&
19211         MI->getOperand(0).isReg() &&
19212         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19213         MI->getOperand(1).isReg() &&
19214         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
19215         MI->getOperand(3).getReg() == AArch64::XZR &&
19223     if (MI->getNumOperands() == 4 &&
19224         MI->getOperand(0).isReg() &&
19225         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19226         MI->getOperand(1).isReg() &&
19227         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
19228         MI->getOperand(3).getReg() == AArch64::XZR &&
19236     if (MI->getNumOperands() == 4 &&
19237         MI->getOperand(0).isReg() &&
19238         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19239         MI->getOperand(1).isReg() &&
19240         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
19241         MI->getOperand(3).getReg() == AArch64::XZR &&
19249     if (MI->getNumOperands() == 4 &&
19250         MI->getOperand(0).isReg() &&
19251         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19252         MI->getOperand(1).isReg() &&
19253         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
19254         MI->getOperand(3).getReg() == AArch64::XZR &&
19262     if (MI->getNumOperands() == 4 &&
19263         MI->getOperand(0).isReg() &&
19264         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19265         MI->getOperand(1).isReg() &&
19266         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
19267         MI->getOperand(3).getReg() == AArch64::XZR &&
19275     if (MI->getNumOperands() == 4 &&
19276         MI->getOperand(0).isReg() &&
19277         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19278         MI->getOperand(1).isReg() &&
19279         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
19280         MI->getOperand(3).getReg() == AArch64::XZR &&
19288     if (MI->getNumOperands() == 4 &&
19289         MI->getOperand(0).isReg() &&
19290         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19291         MI->getOperand(1).isReg() &&
19292         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
19293         MI->getOperand(3).getReg() == AArch64::XZR &&
19301     if (MI->getNumOperands() == 4 &&
19302         MI->getOperand(0).isReg() &&
19303         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19304         MI->getOperand(1).isReg() &&
19305         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
19306         MI->getOperand(3).getReg() == AArch64::XZR &&
19314     if (MI->getNumOperands() == 4 &&
19315         MI->getOperand(0).isReg() &&
19316         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19317         MI->getOperand(1).isReg() &&
19318         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
19319         MI->getOperand(3).getReg() == AArch64::XZR &&
19327     if (MI->getNumOperands() == 4 &&
19328         MI->getOperand(0).isReg() &&
19329         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19330         MI->getOperand(1).isReg() &&
19331         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
19332         MI->getOperand(3).getReg() == AArch64::XZR &&
19340     if (MI->getNumOperands() == 4 &&
19341         MI->getOperand(0).isReg() &&
19342         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19343         MI->getOperand(1).isReg() &&
19344         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
19345         MI->getOperand(3).getReg() == AArch64::XZR &&
19353     if (MI->getNumOperands() == 4 &&
19354         MI->getOperand(0).isReg() &&
19355         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19356         MI->getOperand(1).isReg() &&
19357         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
19358         MI->getOperand(3).getReg() == AArch64::XZR &&
19366     if (MI->getNumOperands() == 4 &&
19367         MI->getOperand(0).isReg() &&
19368         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19369         MI->getOperand(1).isReg() &&
19370         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
19371         MI->getOperand(3).getReg() == AArch64::XZR &&
19379     if (MI->getNumOperands() == 4 &&
19380         MI->getOperand(0).isReg() &&
19381         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19382         MI->getOperand(1).isReg() &&
19383         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
19384         MI->getOperand(3).getReg() == AArch64::XZR &&
19392     if (MI->getNumOperands() == 4 &&
19393         MI->getOperand(0).isReg() &&
19394         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
19395         MI->getOperand(1).isReg() &&
19396         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19397         MI->getOperand(2).isReg() &&
19398         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19399         MI->getOperand(3).isImm() &&
19400         MI->getOperand(3).getImm() == 0 &&
19408     if (MI->getNumOperands() == 6 &&
19409         MI->getOperand(0).isReg() &&
19410         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19411         MI->getOperand(1).isReg() &&
19412         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
19413         MI->getOperand(5).getReg() == AArch64::XZR &&
19421     if (MI->getNumOperands() == 6 &&
19422         MI->getOperand(0).isReg() &&
19423         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19424         MI->getOperand(1).isReg() &&
19425         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
19426         MI->getOperand(5).getReg() == AArch64::XZR &&
19434     if (MI->getNumOperands() == 6 &&
19435         MI->getOperand(0).isReg() &&
19436         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19437         MI->getOperand(1).isReg() &&
19438         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
19439         MI->getOperand(5).getReg() == AArch64::XZR &&
19447     if (MI->getNumOperands() == 6 &&
19448         MI->getOperand(0).isReg() &&
19449         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19450         MI->getOperand(1).isReg() &&
19451         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
19452         MI->getOperand(5).getReg() == AArch64::XZR &&
19460     if (MI->getNumOperands() == 4 &&
19461         MI->getOperand(0).isReg() &&
19462         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
19463         MI->getOperand(1).isReg() &&
19464         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19465         MI->getOperand(2).isReg() &&
19466         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19467         MI->getOperand(3).isImm() &&
19468         MI->getOperand(3).getImm() == 0 &&
19476     if (MI->getNumOperands() == 4 &&
19477         MI->getOperand(0).isReg() &&
19478         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
19479         MI->getOperand(1).isReg() &&
19480         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19481         MI->getOperand(2).isReg() &&
19482         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19483         MI->getOperand(3).isImm() &&
19484         MI->getOperand(3).getImm() == 0 &&
19492     if (MI->getNumOperands() == 4 &&
19493         MI->getOperand(0).isReg() &&
19494         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
19495         MI->getOperand(1).isReg() &&
19496         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19497         MI->getOperand(2).isReg() &&
19498         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19499         MI->getOperand(3).isImm() &&
19500         MI->getOperand(3).getImm() == 0 &&
19508     if (MI->getNumOperands() == 4 &&
19509         MI->getOperand(0).isReg() &&
19510         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19511         MI->getOperand(1).isReg() &&
19512         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19513         MI->getOperand(3).getReg() == AArch64::XZR &&
19521     if (MI->getNumOperands() == 4 &&
19522         MI->getOperand(0).isReg() &&
19523         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19524         MI->getOperand(1).isReg() &&
19525         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19526         MI->getOperand(3).getReg() == AArch64::XZR &&
19534     if (MI->getNumOperands() == 4 &&
19535         MI->getOperand(0).isReg() &&
19536         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19537         MI->getOperand(1).isReg() &&
19538         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19539         MI->getOperand(3).getReg() == AArch64::XZR &&
19547     if (MI->getNumOperands() == 4 &&
19548         MI->getOperand(0).isReg() &&
19549         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19550         MI->getOperand(1).isReg() &&
19551         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19552         MI->getOperand(3).getReg() == AArch64::XZR &&
19560     if (MI->getNumOperands() == 4 &&
19561         MI->getOperand(0).isReg() &&
19562         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19563         MI->getOperand(1).isReg() &&
19564         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19565         MI->getOperand(3).getReg() == AArch64::XZR &&
19573     if (MI->getNumOperands() == 4 &&
19574         MI->getOperand(0).isReg() &&
19575         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19576         MI->getOperand(1).isReg() &&
19577         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19578         MI->getOperand(3).getReg() == AArch64::XZR &&
19586     if (MI->getNumOperands() == 4 &&
19587         MI->getOperand(0).isReg() &&
19588         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19589         MI->getOperand(1).isReg() &&
19590         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19591         MI->getOperand(3).getReg() == AArch64::XZR &&
19599     if (MI->getNumOperands() == 4 &&
19600         MI->getOperand(0).isReg() &&
19601         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19602         MI->getOperand(1).isReg() &&
19603         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19604         MI->getOperand(3).getReg() == AArch64::XZR &&
19612     if (MI->getNumOperands() == 4 &&
19613         MI->getOperand(0).isReg() &&
19614         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19615         MI->getOperand(1).isReg() &&
19616         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19617         MI->getOperand(3).getReg() == AArch64::XZR &&
19625     if (MI->getNumOperands() == 4 &&
19626         MI->getOperand(0).isReg() &&
19627         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19628         MI->getOperand(1).isReg() &&
19629         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19630         MI->getOperand(3).getReg() == AArch64::XZR &&
19638     if (MI->getNumOperands() == 4 &&
19639         MI->getOperand(0).isReg() &&
19640         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19641         MI->getOperand(1).isReg() &&
19642         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19643         MI->getOperand(3).getReg() == AArch64::XZR &&
19651     if (MI->getNumOperands() == 4 &&
19652         MI->getOperand(0).isReg() &&
19653         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19654         MI->getOperand(1).isReg() &&
19655         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19656         MI->getOperand(3).getReg() == AArch64::XZR &&
19664     if (MI->getNumOperands() == 4 &&
19665         MI->getOperand(0).isReg() &&
19666         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19667         MI->getOperand(1).isReg() &&
19668         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19669         MI->getOperand(3).getReg() == AArch64::XZR &&
19677     if (MI->getNumOperands() == 4 &&
19678         MI->getOperand(0).isReg() &&
19679         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19680         MI->getOperand(1).isReg() &&
19681         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19682         MI->getOperand(3).getReg() == AArch64::XZR &&
19690     if (MI->getNumOperands() == 4 &&
19691         MI->getOperand(0).isReg() &&
19692         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19693         MI->getOperand(1).isReg() &&
19694         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19695         MI->getOperand(3).getReg() == AArch64::XZR &&
19703     if (MI->getNumOperands() == 4 &&
19704         MI->getOperand(0).isReg() &&
19705         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
19706         MI->getOperand(1).isReg() &&
19707         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19708         MI->getOperand(2).isReg() &&
19709         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19710         MI->getOperand(3).isImm() &&
19711         MI->getOperand(3).getImm() == 0 &&
19719     if (MI->getNumOperands() == 6 &&
19720         MI->getOperand(0).isReg() &&
19721         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19722         MI->getOperand(1).isReg() &&
19723         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19724         MI->getOperand(5).getReg() == AArch64::XZR &&
19732     if (MI->getNumOperands() == 6 &&
19733         MI->getOperand(0).isReg() &&
19734         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19735         MI->getOperand(1).isReg() &&
19736         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19737         MI->getOperand(5).getReg() == AArch64::XZR &&
19745     if (MI->getNumOperands() == 6 &&
19746         MI->getOperand(0).isReg() &&
19747         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19748         MI->getOperand(1).isReg() &&
19749         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19750         MI->getOperand(5).getReg() == AArch64::XZR &&
19758     if (MI->getNumOperands() == 6 &&
19759         MI->getOperand(0).isReg() &&
19760         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19761         MI->getOperand(1).isReg() &&
19762         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19763         MI->getOperand(5).getReg() == AArch64::XZR &&
19771     if (MI->getNumOperands() == 4 &&
19772         MI->getOperand(0).isReg() &&
19773         MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
19774         MI->getOperand(1).isReg() &&
19775         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19776         MI->getOperand(2).isReg() &&
19777         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19778         MI->getOperand(3).isImm() &&
19779         MI->getOperand(3).getImm() == 0 &&
19787     if (MI->getNumOperands() == 4 &&
19788         MI->getOperand(0).isReg() &&
19789         MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
19790         MI->getOperand(1).isReg() &&
19791         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
19792         MI->getOperand(2).isReg() &&
19793         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
19794         MI->getOperand(3).isImm() &&
19795         MI->getOperand(3).getImm() == 0 &&
19803     if (MI->getNumOperands() == 4 &&
19804         MI->getOperand(0).isReg() &&
19805         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19806         MI->getOperand(1).isReg() &&
19807         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19808         MI->getOperand(3).getReg() == AArch64::XZR &&
19816     if (MI->getNumOperands() == 4 &&
19817         MI->getOperand(0).isReg() &&
19818         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19819         MI->getOperand(1).isReg() &&
19820         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19821         MI->getOperand(3).getReg() == AArch64::XZR &&
19829     if (MI->getNumOperands() == 4 &&
19830         MI->getOperand(0).isReg() &&
19831         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19832         MI->getOperand(1).isReg() &&
19833         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19834         MI->getOperand(3).getReg() == AArch64::XZR &&
19842     if (MI->getNumOperands() == 4 &&
19843         MI->getOperand(0).isReg() &&
19844         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19845         MI->getOperand(1).isReg() &&
19846         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19847         MI->getOperand(3).getReg() == AArch64::XZR &&
19855     if (MI->getNumOperands() == 4 &&
19856         MI->getOperand(0).isReg() &&
19857         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19858         MI->getOperand(1).isReg() &&
19859         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19860         MI->getOperand(3).getReg() == AArch64::XZR &&
19868     if (MI->getNumOperands() == 4 &&
19869         MI->getOperand(0).isReg() &&
19870         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19871         MI->getOperand(1).isReg() &&
19872         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19873         MI->getOperand(3).getReg() == AArch64::XZR &&
19881     if (MI->getNumOperands() == 4 &&
19882         MI->getOperand(0).isReg() &&
19883         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19884         MI->getOperand(1).isReg() &&
19885         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19886         MI->getOperand(3).getReg() == AArch64::XZR &&
19894     if (MI->getNumOperands() == 4 &&
19895         MI->getOperand(0).isReg() &&
19896         MRI.getRegClass(AArch64::ZPR4RegClassID).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).isImm() &&
19902         MI->getOperand(3).getImm() == 0 &&
19910     if (MI->getNumOperands() == 4 &&
19911         MI->getOperand(0).isReg() &&
19912         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19913         MI->getOperand(1).isReg() &&
19914         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19915         MI->getOperand(3).getReg() == AArch64::XZR &&
19923     if (MI->getNumOperands() == 4 &&
19924         MI->getOperand(0).isReg() &&
19925         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19926         MI->getOperand(1).isReg() &&
19927         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19928         MI->getOperand(3).getReg() == AArch64::XZR &&
19936     if (MI->getNumOperands() == 4 &&
19937         MI->getOperand(0).isReg() &&
19938         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19939         MI->getOperand(1).isReg() &&
19940         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19941         MI->getOperand(3).getReg() == AArch64::XZR &&
19949     if (MI->getNumOperands() == 4 &&
19950         MI->getOperand(0).isReg() &&
19951         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19952         MI->getOperand(1).isReg() &&
19953         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19954         MI->getOperand(3).getReg() == AArch64::XZR &&
19962     if (MI->getNumOperands() == 4 &&
19963         MI->getOperand(0).isReg() &&
19964         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19965         MI->getOperand(1).isReg() &&
19966         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19967         MI->getOperand(3).getReg() == AArch64::XZR &&
19975     if (MI->getNumOperands() == 4 &&
19976         MI->getOperand(0).isReg() &&
19977         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19978         MI->getOperand(1).isReg() &&
19979         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
19980         MI->getOperand(3).getReg() == AArch64::XZR &&
19988     if (MI->getNumOperands() == 4 &&
19989         MI->getOperand(0).isReg() &&
19990         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
19991         MI->getOperand(1).isReg() &&
19992         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
19993         MI->getOperand(3).getReg() == AArch64::XZR &&
20001     if (MI->getNumOperands() == 4 &&
20002         MI->getOperand(0).isReg() &&
20003         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
20004         MI->getOperand(1).isReg() &&
20005         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
20006         MI->getOperand(3).getReg() == AArch64::XZR &&
20014     if (MI->getNumOperands() == 4 &&
20015         MI->getOperand(0).isReg() &&
20016         MRI.getRegClass(AArch64::ZPR4RegClassID).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).isImm() &&
20022         MI->getOperand(3).getImm() == 0 &&
20030     if (MI->getNumOperands() == 6 &&
20031         MI->getOperand(0).isReg() &&
20032         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
20033         MI->getOperand(1).isReg() &&
20034         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
20035         MI->getOperand(5).getReg() == AArch64::XZR &&
20043     if (MI->getNumOperands() == 6 &&
20044         MI->getOperand(0).isReg() &&
20045         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
20046         MI->getOperand(1).isReg() &&
20047         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
20048         MI->getOperand(5).getReg() == AArch64::XZR &&
20056     if (MI->getNumOperands() == 6 &&
20057         MI->getOperand(0).isReg() &&
20058         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
20059         MI->getOperand(1).isReg() &&
20060         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
20061         MI->getOperand(5).getReg() == AArch64::XZR &&
20069     if (MI->getNumOperands() == 6 &&
20070         MI->getOperand(0).isReg() &&
20071         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
20072         MI->getOperand(1).isReg() &&
20073         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
20074         MI->getOperand(5).getReg() == AArch64::XZR &&
20082     if (MI->getNumOperands() == 3 &&
20083         MI->getOperand(0).getReg() == AArch64::WZR &&
20084         MI->getOperand(1).isReg() &&
20085         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20086         MI->getOperand(2).isReg() &&
20087         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20095     if (MI->getNumOperands() == 3 &&
20096         MI->getOperand(0).getReg() == AArch64::WZR &&
20097         MI->getOperand(1).isReg() &&
20098         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20099         MI->getOperand(2).isReg() &&
20100         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20108     if (MI->getNumOperands() == 3 &&
20109         MI->getOperand(0).getReg() == AArch64::WZR &&
20110         MI->getOperand(1).isReg() &&
20111         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20112         MI->getOperand(2).isReg() &&
20113         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20121     if (MI->getNumOperands() == 3 &&
20122         MI->getOperand(0).getReg() == AArch64::WZR &&
20123         MI->getOperand(1).isReg() &&
20124         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20125         MI->getOperand(2).isReg() &&
20126         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20134     if (MI->getNumOperands() == 3 &&
20135         MI->getOperand(0).getReg() == AArch64::WZR &&
20136         MI->getOperand(1).isReg() &&
20137         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20138         MI->getOperand(2).isReg() &&
20139         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20147     if (MI->getNumOperands() == 3 &&
20148         MI->getOperand(0).getReg() == AArch64::XZR &&
20149         MI->getOperand(1).isReg() &&
20150         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20151         MI->getOperand(2).isReg() &&
20152         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20160     if (MI->getNumOperands() == 3 &&
20161         MI->getOperand(0).getReg() == AArch64::WZR &&
20162         MI->getOperand(1).isReg() &&
20163         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20164         MI->getOperand(2).isReg() &&
20165         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20173     if (MI->getNumOperands() == 3 &&
20174         MI->getOperand(0).getReg() == AArch64::XZR &&
20175         MI->getOperand(1).isReg() &&
20176         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20177         MI->getOperand(2).isReg() &&
20178         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20186     if (MI->getNumOperands() == 3 &&
20187         MI->getOperand(0).isReg() &&
20188         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20189         MI->getOperand(1).isReg() &&
20190         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20191         MI->getOperand(2).isImm() &&
20192         MI->getOperand(2).getImm() == 0 &&
20200     if (MI->getNumOperands() == 3 &&
20201         MI->getOperand(0).isReg() &&
20202         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20203         MI->getOperand(1).isReg() &&
20204         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20205         MI->getOperand(2).isImm() &&
20206         MI->getOperand(2).getImm() == 0 &&
20214     if (MI->getNumOperands() == 3 &&
20215         MI->getOperand(0).isReg() &&
20216         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20217         MI->getOperand(1).isReg() &&
20218         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20219         MI->getOperand(2).isImm() &&
20220         MI->getOperand(2).getImm() == 0 &&
20228     if (MI->getNumOperands() == 3 &&
20229         MI->getOperand(0).isReg() &&
20230         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20231         MI->getOperand(1).isReg() &&
20232         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20233         MI->getOperand(2).isImm() &&
20234         MI->getOperand(2).getImm() == 0 &&
20242     if (MI->getNumOperands() == 3 &&
20243         MI->getOperand(0).isReg() &&
20244         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20245         MI->getOperand(1).isReg() &&
20246         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20247         MI->getOperand(2).isImm() &&
20248         MI->getOperand(2).getImm() == 0 &&
20256     if (MI->getNumOperands() == 3 &&
20257         MI->getOperand(0).isReg() &&
20258         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20259         MI->getOperand(1).isReg() &&
20260         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20261         MI->getOperand(2).isImm() &&
20262         MI->getOperand(2).getImm() == 0 &&
20270     if (MI->getNumOperands() == 3 &&
20271         MI->getOperand(0).isReg() &&
20272         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20273         MI->getOperand(1).isReg() &&
20274         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20275         MI->getOperand(2).isImm() &&
20276         MI->getOperand(2).getImm() == 0 &&
20284     if (MI->getNumOperands() == 3 &&
20285         MI->getOperand(0).isReg() &&
20286         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20287         MI->getOperand(1).isReg() &&
20288         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20289         MI->getOperand(2).isImm() &&
20290         MI->getOperand(2).getImm() == 0 &&
20298     if (MI->getNumOperands() == 3 &&
20299         MI->getOperand(0).isReg() &&
20300         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
20301         MI->getOperand(1).isReg() &&
20302         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
20303         MI->getOperand(2).isImm() &&
20304         MI->getOperand(2).getImm() == 0 &&
20312     if (MI->getNumOperands() == 3 &&
20313         MI->getOperand(0).getReg() == AArch64::WZR &&
20314         MI->getOperand(1).isReg() &&
20315         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20316         MI->getOperand(2).isReg() &&
20317         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20325     if (MI->getNumOperands() == 3 &&
20326         MI->getOperand(0).getReg() == AArch64::WZR &&
20327         MI->getOperand(1).isReg() &&
20328         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20329         MI->getOperand(2).isReg() &&
20330         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20338     if (MI->getNumOperands() == 3 &&
20339         MI->getOperand(0).getReg() == AArch64::WZR &&
20340         MI->getOperand(1).isReg() &&
20341         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20342         MI->getOperand(2).isReg() &&
20343         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20351     if (MI->getNumOperands() == 3 &&
20352         MI->getOperand(0).getReg() == AArch64::WZR &&
20353         MI->getOperand(1).isReg() &&
20354         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20355         MI->getOperand(2).isReg() &&
20356         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20364     if (MI->getNumOperands() == 3 &&
20365         MI->getOperand(0).getReg() == AArch64::WZR &&
20366         MI->getOperand(1).isReg() &&
20367         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20368         MI->getOperand(2).isReg() &&
20369         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20377     if (MI->getNumOperands() == 3 &&
20378         MI->getOperand(0).getReg() == AArch64::XZR &&
20379         MI->getOperand(1).isReg() &&
20380         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20381         MI->getOperand(2).isReg() &&
20382         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20390     if (MI->getNumOperands() == 3 &&
20391         MI->getOperand(0).getReg() == AArch64::WZR &&
20392         MI->getOperand(1).isReg() &&
20393         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20394         MI->getOperand(2).isReg() &&
20395         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20403     if (MI->getNumOperands() == 3 &&
20404         MI->getOperand(0).getReg() == AArch64::XZR &&
20405         MI->getOperand(1).isReg() &&
20406         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20407         MI->getOperand(2).isReg() &&
20408         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20416     if (MI->getNumOperands() == 3 &&
20417         MI->getOperand(0).getReg() == AArch64::WZR &&
20418         MI->getOperand(1).isReg() &&
20419         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20420         MI->getOperand(2).isReg() &&
20421         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20429     if (MI->getNumOperands() == 3 &&
20430         MI->getOperand(0).getReg() == AArch64::WZR &&
20431         MI->getOperand(1).isReg() &&
20432         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20433         MI->getOperand(2).isReg() &&
20434         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20442     if (MI->getNumOperands() == 3 &&
20443         MI->getOperand(0).getReg() == AArch64::WZR &&
20444         MI->getOperand(1).isReg() &&
20445         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20446         MI->getOperand(2).isReg() &&
20447         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20455     if (MI->getNumOperands() == 3 &&
20456         MI->getOperand(0).getReg() == AArch64::WZR &&
20457         MI->getOperand(1).isReg() &&
20458         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20459         MI->getOperand(2).isReg() &&
20460         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20468     if (MI->getNumOperands() == 3 &&
20469         MI->getOperand(0).getReg() == AArch64::WZR &&
20470         MI->getOperand(1).isReg() &&
20471         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20472         MI->getOperand(2).isReg() &&
20473         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20481     if (MI->getNumOperands() == 3 &&
20482         MI->getOperand(0).getReg() == AArch64::XZR &&
20483         MI->getOperand(1).isReg() &&
20484         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20485         MI->getOperand(2).isReg() &&
20486         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20494     if (MI->getNumOperands() == 3 &&
20495         MI->getOperand(0).getReg() == AArch64::WZR &&
20496         MI->getOperand(1).isReg() &&
20497         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
20498         MI->getOperand(2).isReg() &&
20499         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20507     if (MI->getNumOperands() == 3 &&
20508         MI->getOperand(0).getReg() == AArch64::XZR &&
20509         MI->getOperand(1).isReg() &&
20510         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
20511         MI->getOperand(2).isReg() &&
20512         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20520     if (MI->getNumOperands() == 4 &&
20521         MI->getOperand(0).isReg() &&
20522         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20523         MI->getOperand(1).isReg() &&
20524         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20525         MI->getOperand(2).isReg() &&
20526         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20527         MI->getOperand(3).getReg() == AArch64::XZR &&
20535     if (MI->getNumOperands() == 4 &&
20536         MI->getOperand(0).isReg() &&
20537         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20538         MI->getOperand(1).isReg() &&
20539         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20540         MI->getOperand(2).isReg() &&
20541         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20542         MI->getOperand(3).getReg() == AArch64::XZR &&
20550     if (MI->getNumOperands() == 4 &&
20551         MI->getOperand(0).isReg() &&
20552         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20553         MI->getOperand(1).isReg() &&
20554         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20555         MI->getOperand(2).isReg() &&
20556         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20557         MI->getOperand(3).getReg() == AArch64::XZR &&
20565     if (MI->getNumOperands() == 4 &&
20566         MI->getOperand(0).isReg() &&
20567         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20568         MI->getOperand(1).isReg() &&
20569         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20570         MI->getOperand(2).isReg() &&
20571         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20572         MI->getOperand(3).getReg() == AArch64::XZR &&
20580     if (MI->getNumOperands() == 4 &&
20581         MI->getOperand(0).isReg() &&
20582         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20583         MI->getOperand(1).isReg() &&
20584         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20585         MI->getOperand(2).isReg() &&
20586         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20587         MI->getOperand(3).getReg() == AArch64::XZR &&
20595     if (MI->getNumOperands() == 4 &&
20596         MI->getOperand(0).isReg() &&
20597         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20598         MI->getOperand(1).isReg() &&
20599         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20600         MI->getOperand(2).isReg() &&
20601         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20602         MI->getOperand(3).getReg() == AArch64::XZR &&
20610     if (MI->getNumOperands() == 4 &&
20611         MI->getOperand(0).isReg() &&
20612         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20613         MI->getOperand(1).isReg() &&
20614         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20615         MI->getOperand(2).isReg() &&
20616         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20617         MI->getOperand(3).getReg() == AArch64::XZR &&
20625     if (MI->getNumOperands() == 4 &&
20626         MI->getOperand(0).isReg() &&
20627         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20628         MI->getOperand(1).isReg() &&
20629         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20630         MI->getOperand(2).isReg() &&
20631         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20632         MI->getOperand(3).getReg() == AArch64::XZR &&
20640     if (MI->getNumOperands() == 4 &&
20641         MI->getOperand(0).isReg() &&
20642         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20643         MI->getOperand(1).isReg() &&
20644         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20645         MI->getOperand(2).isReg() &&
20646         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20647         MI->getOperand(3).getReg() == AArch64::XZR &&
20655     if (MI->getNumOperands() == 4 &&
20656         MI->getOperand(0).isReg() &&
20657         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20658         MI->getOperand(1).isReg() &&
20659         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20660         MI->getOperand(2).isReg() &&
20661         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20662         MI->getOperand(3).getReg() == AArch64::XZR &&
20670     if (MI->getNumOperands() == 4 &&
20671         MI->getOperand(0).isReg() &&
20672         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20673         MI->getOperand(1).isReg() &&
20674         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20675         MI->getOperand(2).isReg() &&
20676         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20677         MI->getOperand(3).getReg() == AArch64::XZR &&
20685     if (MI->getNumOperands() == 4 &&
20686         MI->getOperand(0).isReg() &&
20687         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20688         MI->getOperand(1).isReg() &&
20689         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20690         MI->getOperand(2).isReg() &&
20691         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20692         MI->getOperand(3).getReg() == AArch64::XZR &&
20700     if (MI->getNumOperands() == 4 &&
20701         MI->getOperand(0).isReg() &&
20702         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20703         MI->getOperand(1).isReg() &&
20704         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20705         MI->getOperand(2).isReg() &&
20706         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20707         MI->getOperand(3).getReg() == AArch64::XZR &&
20715     if (MI->getNumOperands() == 4 &&
20716         MI->getOperand(0).isReg() &&
20717         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20718         MI->getOperand(1).isReg() &&
20719         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20720         MI->getOperand(2).isReg() &&
20721         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20722         MI->getOperand(3).getReg() == AArch64::XZR &&
20730     if (MI->getNumOperands() == 4 &&
20731         MI->getOperand(0).isReg() &&
20732         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20733         MI->getOperand(1).isReg() &&
20734         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20735         MI->getOperand(2).isReg() &&
20736         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20737         MI->getOperand(3).getReg() == AArch64::XZR &&
20745     if (MI->getNumOperands() == 4 &&
20746         MI->getOperand(0).isReg() &&
20747         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20748         MI->getOperand(1).isReg() &&
20749         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20750         MI->getOperand(2).isReg() &&
20751         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20752         MI->getOperand(3).getReg() == AArch64::XZR &&
20760     if (MI->getNumOperands() == 4 &&
20761         MI->getOperand(0).isReg() &&
20762         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
20763         MI->getOperand(2).isReg() &&
20764         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20765         MI->getOperand(3).isImm() &&
20766         MI->getOperand(3).getImm() == 0 &&
20774     if (MI->getNumOperands() == 4 &&
20775         MI->getOperand(0).isReg() &&
20776         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20777         MI->getOperand(1).isReg() &&
20778         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20779         MI->getOperand(2).isReg() &&
20780         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20781         MI->getOperand(3).isImm() &&
20782         MI->getOperand(3).getImm() == 0 &&
20790     if (MI->getNumOperands() == 4 &&
20791         MI->getOperand(0).isReg() &&
20792         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20793         MI->getOperand(1).isReg() &&
20794         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20795         MI->getOperand(2).isReg() &&
20796         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20797         MI->getOperand(3).isImm() &&
20798         MI->getOperand(3).getImm() == 0 &&
20806     if (MI->getNumOperands() == 4 &&
20807         MI->getOperand(0).isReg() &&
20808         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20809         MI->getOperand(1).isReg() &&
20810         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20811         MI->getOperand(2).isReg() &&
20812         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20813         MI->getOperand(3).isImm() &&
20814         MI->getOperand(3).getImm() == 0 &&
20822     if (MI->getNumOperands() == 4 &&
20823         MI->getOperand(0).isReg() &&
20824         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20825         MI->getOperand(1).isReg() &&
20826         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20827         MI->getOperand(2).isReg() &&
20828         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20829         MI->getOperand(3).isImm() &&
20830         MI->getOperand(3).getImm() == 0 &&
20838     if (MI->getNumOperands() == 4 &&
20839         MI->getOperand(0).isReg() &&
20840         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20841         MI->getOperand(1).isReg() &&
20842         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20843         MI->getOperand(2).isReg() &&
20844         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20845         MI->getOperand(3).isImm() &&
20846         MI->getOperand(3).getImm() == 0 &&
20854     if (MI->getNumOperands() == 4 &&
20855         MI->getOperand(0).isReg() &&
20856         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20857         MI->getOperand(1).isReg() &&
20858         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20859         MI->getOperand(2).isReg() &&
20860         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20861         MI->getOperand(3).isImm() &&
20862         MI->getOperand(3).getImm() == 0 &&
20870     if (MI->getNumOperands() == 4 &&
20871         MI->getOperand(0).isReg() &&
20872         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20873         MI->getOperand(1).isReg() &&
20874         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20875         MI->getOperand(2).isReg() &&
20876         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20877         MI->getOperand(3).isImm() &&
20878         MI->getOperand(3).getImm() == 0 &&
20886     if (MI->getNumOperands() == 4 &&
20887         MI->getOperand(0).isReg() &&
20888         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20889         MI->getOperand(1).isReg() &&
20890         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20891         MI->getOperand(2).isReg() &&
20892         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20893         MI->getOperand(3).isImm() &&
20894         MI->getOperand(3).getImm() == 0 &&
20902     if (MI->getNumOperands() == 4 &&
20903         MI->getOperand(0).isReg() &&
20904         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20905         MI->getOperand(1).isReg() &&
20906         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20907         MI->getOperand(2).isReg() &&
20908         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20909         MI->getOperand(3).isImm() &&
20910         MI->getOperand(3).getImm() == 0 &&
20918     if (MI->getNumOperands() == 4 &&
20919         MI->getOperand(0).isReg() &&
20920         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20921         MI->getOperand(1).isReg() &&
20922         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20923         MI->getOperand(2).isReg() &&
20924         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20925         MI->getOperand(3).isImm() &&
20926         MI->getOperand(3).getImm() == 0 &&
20934     if (MI->getNumOperands() == 4 &&
20935         MI->getOperand(0).isReg() &&
20936         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20937         MI->getOperand(1).isReg() &&
20938         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20939         MI->getOperand(2).isReg() &&
20940         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20941         MI->getOperand(3).isImm() &&
20942         MI->getOperand(3).getImm() == 0 &&
20950     if (MI->getNumOperands() == 4 &&
20951         MI->getOperand(0).isReg() &&
20952         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20953         MI->getOperand(1).isReg() &&
20954         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20955         MI->getOperand(2).isReg() &&
20956         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20957         MI->getOperand(3).isImm() &&
20958         MI->getOperand(3).getImm() == 0 &&
20966     if (MI->getNumOperands() == 4 &&
20967         MI->getOperand(0).isReg() &&
20968         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20969         MI->getOperand(1).isReg() &&
20970         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20971         MI->getOperand(2).isReg() &&
20972         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20973         MI->getOperand(3).isImm() &&
20974         MI->getOperand(3).getImm() == 0 &&
20982     if (MI->getNumOperands() == 4 &&
20983         MI->getOperand(0).isReg() &&
20984         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
20985         MI->getOperand(1).isReg() &&
20986         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
20987         MI->getOperand(2).isReg() &&
20988         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
20989         MI->getOperand(3).isImm() &&
20990         MI->getOperand(3).getImm() == 0 &&
20998     if (MI->getNumOperands() == 4 &&
20999         MI->getOperand(0).isReg() &&
21000         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21001         MI->getOperand(1).isReg() &&
21002         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21003         MI->getOperand(2).isReg() &&
21004         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21005         MI->getOperand(3).isImm() &&
21006         MI->getOperand(3).getImm() == 0 &&
21014     if (MI->getNumOperands() == 4 &&
21015         MI->getOperand(0).isReg() &&
21016         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21017         MI->getOperand(1).isReg() &&
21018         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21019         MI->getOperand(2).isReg() &&
21020         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21021         MI->getOperand(3).isImm() &&
21022         MI->getOperand(3).getImm() == 0 &&
21030     if (MI->getNumOperands() == 4 &&
21031         MI->getOperand(0).isReg() &&
21032         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21033         MI->getOperand(1).isReg() &&
21034         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21035         MI->getOperand(2).isReg() &&
21036         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21037         MI->getOperand(3).isImm() &&
21038         MI->getOperand(3).getImm() == 0) {
21045     if (MI->getNumOperands() == 4 &&
21046         MI->getOperand(0).isReg() &&
21047         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
21048         MI->getOperand(1).isReg() &&
21049         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
21050         MI->getOperand(2).isReg() &&
21051         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21052         MI->getOperand(3).isImm() &&
21053         MI->getOperand(3).getImm() == 0) {
21060     if (MI->getNumOperands() == 4 &&
21061         MI->getOperand(0).isReg() &&
21062         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21063         MI->getOperand(1).isReg() &&
21064         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21065         MI->getOperand(2).isReg() &&
21066         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21067         MI->getOperand(3).isImm() &&
21068         MI->getOperand(3).getImm() == 0) {
21075     if (MI->getNumOperands() == 4 &&
21076         MI->getOperand(0).isReg() &&
21077         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21078         MI->getOperand(1).isReg() &&
21079         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21080         MI->getOperand(2).isReg() &&
21081         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21082         MI->getOperand(3).isImm() &&
21083         MI->getOperand(3).getImm() == 0) {
21090     if (MI->getNumOperands() == 4 &&
21091         MI->getOperand(0).isReg() &&
21092         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21093         MI->getOperand(1).isReg() &&
21094         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21095         MI->getOperand(2).isReg() &&
21096         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21097         MI->getOperand(3).isImm() &&
21098         MI->getOperand(3).getImm() == 0) {
21105     if (MI->getNumOperands() == 4 &&
21106         MI->getOperand(0).isReg() &&
21107         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21108         MI->getOperand(1).isReg() &&
21109         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21110         MI->getOperand(2).isReg() &&
21111         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21112         MI->getOperand(3).isImm() &&
21113         MI->getOperand(3).getImm() == 0 &&
21121     if (MI->getNumOperands() == 4 &&
21122         MI->getOperand(0).isReg() &&
21123         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21124         MI->getOperand(1).isReg() &&
21125         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21126         MI->getOperand(2).isReg() &&
21127         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21128         MI->getOperand(3).getReg() == AArch64::XZR &&
21136     if (MI->getNumOperands() == 4 &&
21137         MI->getOperand(0).isReg() &&
21138         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21139         MI->getOperand(1).isReg() &&
21140         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21141         MI->getOperand(2).isReg() &&
21142         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21143         MI->getOperand(3).getReg() == AArch64::XZR &&
21151     if (MI->getNumOperands() == 4 &&
21152         MI->getOperand(0).isReg() &&
21153         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21154         MI->getOperand(1).isReg() &&
21155         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21156         MI->getOperand(2).isReg() &&
21157         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21158         MI->getOperand(3).isImm() &&
21159         MI->getOperand(3).getImm() == 0 &&
21167     if (MI->getNumOperands() == 4 &&
21168         MI->getOperand(0).isReg() &&
21169         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21170         MI->getOperand(1).isReg() &&
21171         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21172         MI->getOperand(2).isReg() &&
21173         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21174         MI->getOperand(3).getReg() == AArch64::XZR &&
21182     if (MI->getNumOperands() == 4 &&
21183         MI->getOperand(0).isReg() &&
21184         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21185         MI->getOperand(1).isReg() &&
21186         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21187         MI->getOperand(2).isReg() &&
21188         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21189         MI->getOperand(3).isImm() &&
21190         MI->getOperand(3).getImm() == 0 &&
21198     if (MI->getNumOperands() == 4 &&
21199         MI->getOperand(0).isReg() &&
21200         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21201         MI->getOperand(1).isReg() &&
21202         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21203         MI->getOperand(2).isReg() &&
21204         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21205         MI->getOperand(3).getReg() == AArch64::XZR &&
21213     if (MI->getNumOperands() == 4 &&
21214         MI->getOperand(0).isReg() &&
21215         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21216         MI->getOperand(1).isReg() &&
21217         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21218         MI->getOperand(2).isReg() &&
21219         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21220         MI->getOperand(3).getReg() == AArch64::XZR &&
21228     if (MI->getNumOperands() == 4 &&
21229         MI->getOperand(0).isReg() &&
21230         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21231         MI->getOperand(1).isReg() &&
21232         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21233         MI->getOperand(2).isReg() &&
21234         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21235         MI->getOperand(3).getReg() == AArch64::XZR &&
21243     if (MI->getNumOperands() == 4 &&
21244         MI->getOperand(0).isReg() &&
21245         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21246         MI->getOperand(1).isReg() &&
21247         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21248         MI->getOperand(2).isReg() &&
21249         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21250         MI->getOperand(3).getReg() == AArch64::XZR &&
21258     if (MI->getNumOperands() == 4 &&
21259         MI->getOperand(0).isReg() &&
21260         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21261         MI->getOperand(1).isReg() &&
21262         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21263         MI->getOperand(2).isReg() &&
21264         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21265         MI->getOperand(3).getReg() == AArch64::XZR &&
21273     if (MI->getNumOperands() == 4 &&
21274         MI->getOperand(0).isReg() &&
21275         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21276         MI->getOperand(1).isReg() &&
21277         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21278         MI->getOperand(2).isReg() &&
21279         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21280         MI->getOperand(3).getReg() == AArch64::XZR &&
21288     if (MI->getNumOperands() == 4 &&
21289         MI->getOperand(0).isReg() &&
21290         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21291         MI->getOperand(1).isReg() &&
21292         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21293         MI->getOperand(2).isReg() &&
21294         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21295         MI->getOperand(3).getReg() == AArch64::XZR &&
21303     if (MI->getNumOperands() == 4 &&
21304         MI->getOperand(0).isReg() &&
21305         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21306         MI->getOperand(1).isReg() &&
21307         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21308         MI->getOperand(2).isReg() &&
21309         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21310         MI->getOperand(3).isImm() &&
21311         MI->getOperand(3).getImm() == 0 &&
21319     if (MI->getNumOperands() == 4 &&
21320         MI->getOperand(0).isReg() &&
21321         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21322         MI->getOperand(1).isReg() &&
21323         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21324         MI->getOperand(2).isReg() &&
21325         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21326         MI->getOperand(3).getReg() == AArch64::XZR &&
21334     if (MI->getNumOperands() == 4 &&
21335         MI->getOperand(0).isReg() &&
21336         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21337         MI->getOperand(1).isReg() &&
21338         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
21339         MI->getOperand(2).isReg() &&
21340         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
21341         MI->getOperand(3).getReg() == AArch64::XZR &&
21349     if (MI->getNumOperands() == 4 &&
21350         MI->getOperand(0).isReg() &&
21351         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21352         MI->getOperand(1).isReg() &&
21353         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21354         MI->getOperand(2).isReg() &&
21355         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21356         MI->getOperand(3).isImm() &&
21357         MI->getOperand(3).getImm() == 0) {
21364     if (MI->getNumOperands() == 4 &&
21365         MI->getOperand(0).isReg() &&
21366         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
21367         MI->getOperand(1).isReg() &&
21368         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
21369         MI->getOperand(2).isReg() &&
21370         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21371         MI->getOperand(3).isImm() &&
21372         MI->getOperand(3).getImm() == 0) {
21379     if (MI->getNumOperands() == 4 &&
21380         MI->getOperand(0).isReg() &&
21381         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21382         MI->getOperand(1).isReg() &&
21383         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21384         MI->getOperand(2).isReg() &&
21385         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21386         MI->getOperand(3).isImm() &&
21387         MI->getOperand(3).getImm() == 0) {
21394     if (MI->getNumOperands() == 4 &&
21395         MI->getOperand(0).isReg() &&
21396         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21397         MI->getOperand(1).isReg() &&
21398         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21399         MI->getOperand(2).isReg() &&
21400         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21401         MI->getOperand(3).isImm() &&
21402         MI->getOperand(3).getImm() == 0) {
21409     if (MI->getNumOperands() == 4 &&
21410         MI->getOperand(0).isReg() &&
21411         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21412         MI->getOperand(1).isReg() &&
21413         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21414         MI->getOperand(2).isReg() &&
21415         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21416         MI->getOperand(3).isImm() &&
21417         MI->getOperand(3).getImm() == 0) {
21424     if (MI->getNumOperands() == 4 &&
21425         MI->getOperand(0).isReg() &&
21426         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21427         MI->getOperand(1).isReg() &&
21428         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21429         MI->getOperand(2).isReg() &&
21430         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21431         MI->getOperand(3).isImm() &&
21432         MI->getOperand(3).getImm() == 0) {
21439     if (MI->getNumOperands() == 3 &&
21440         MI->getOperand(0).isReg() &&
21441         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21442         MI->getOperand(1).isReg() &&
21443         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21444         MI->getOperand(2).isImm() &&
21445         MI->getOperand(2).getImm() == 0 &&
21453     if (MI->getNumOperands() == 3 &&
21454         MI->getOperand(0).isReg() &&
21455         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21456         MI->getOperand(1).isReg() &&
21457         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21458         MI->getOperand(2).isImm() &&
21459         MI->getOperand(2).getImm() == 0 &&
21467     if (MI->getNumOperands() == 5 &&
21468         MI->getOperand(0).isReg() &&
21469         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21470         MI->getOperand(1).isReg() &&
21471         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21472         MI->getOperand(2).isReg() &&
21473         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21474         MI->getOperand(3).isImm() &&
21475         MI->getOperand(3).getImm() == 0 &&
21476         MI->getOperand(4).isImm() &&
21477         MI->getOperand(4).getImm() == 0) {
21484     if (MI->getNumOperands() == 3 &&
21485         MI->getOperand(0).isReg() &&
21486         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21487         MI->getOperand(1).isReg() &&
21488         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21489         MI->getOperand(2).isImm() &&
21490         MI->getOperand(2).getImm() == 0) {
21497     if (MI->getNumOperands() == 5 &&
21498         MI->getOperand(0).isReg() &&
21499         MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
21500         MI->getOperand(1).isReg() &&
21501         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21502         MI->getOperand(2).isReg() &&
21503         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21504         MI->getOperand(3).isImm() &&
21505         MI->getOperand(3).getImm() == 0 &&
21506         MI->getOperand(4).isImm() &&
21507         MI->getOperand(4).getImm() == 0) {
21514     if (MI->getNumOperands() == 3 &&
21515         MI->getOperand(0).isReg() &&
21516         MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
21517         MI->getOperand(1).isReg() &&
21518         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21519         MI->getOperand(2).isImm() &&
21520         MI->getOperand(2).getImm() == 0) {
21527     if (MI->getNumOperands() == 5 &&
21528         MI->getOperand(0).isReg() &&
21529         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21530         MI->getOperand(1).isReg() &&
21531         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21532         MI->getOperand(2).isReg() &&
21533         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21534         MI->getOperand(3).isImm() &&
21535         MI->getOperand(3).getImm() == 0 &&
21536         MI->getOperand(4).isImm() &&
21537         MI->getOperand(4).getImm() == 0) {
21544     if (MI->getNumOperands() == 3 &&
21545         MI->getOperand(0).isReg() &&
21546         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21547         MI->getOperand(1).isReg() &&
21548         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21549         MI->getOperand(2).isImm() &&
21550         MI->getOperand(2).getImm() == 0) {
21557     if (MI->getNumOperands() == 5 &&
21558         MI->getOperand(0).isReg() &&
21559         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21560         MI->getOperand(1).isReg() &&
21561         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21562         MI->getOperand(2).isReg() &&
21563         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21564         MI->getOperand(3).isImm() &&
21565         MI->getOperand(3).getImm() == 0 &&
21566         MI->getOperand(4).isImm() &&
21567         MI->getOperand(4).getImm() == 0) {
21574     if (MI->getNumOperands() == 3 &&
21575         MI->getOperand(0).isReg() &&
21576         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21577         MI->getOperand(1).isReg() &&
21578         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21579         MI->getOperand(2).isImm() &&
21580         MI->getOperand(2).getImm() == 0) {
21587     if (MI->getNumOperands() == 5 &&
21588         MI->getOperand(0).isReg() &&
21589         MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
21590         MI->getOperand(1).isReg() &&
21591         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21592         MI->getOperand(2).isReg() &&
21593         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21594         MI->getOperand(3).isImm() &&
21595         MI->getOperand(3).getImm() == 0 &&
21596         MI->getOperand(4).isImm() &&
21597         MI->getOperand(4).getImm() == 0) {
21604     if (MI->getNumOperands() == 3 &&
21605         MI->getOperand(0).isReg() &&
21606         MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
21607         MI->getOperand(1).isReg() &&
21608         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21609         MI->getOperand(2).isImm() &&
21610         MI->getOperand(2).getImm() == 0) {
21617     if (MI->getNumOperands() == 5 &&
21618         MI->getOperand(0).isReg() &&
21619         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
21620         MI->getOperand(1).isReg() &&
21621         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21622         MI->getOperand(2).isReg() &&
21623         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21624         MI->getOperand(3).isImm() &&
21625         MI->getOperand(3).getImm() == 0 &&
21626         MI->getOperand(4).isImm() &&
21627         MI->getOperand(4).getImm() == 0) {
21634     if (MI->getNumOperands() == 3 &&
21635         MI->getOperand(0).isReg() &&
21636         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
21637         MI->getOperand(1).isReg() &&
21638         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21639         MI->getOperand(2).isImm() &&
21640         MI->getOperand(2).getImm() == 0) {
21647     if (MI->getNumOperands() == 5 &&
21648         MI->getOperand(0).isReg() &&
21649         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21650         MI->getOperand(1).isReg() &&
21651         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21652         MI->getOperand(2).isReg() &&
21653         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21654         MI->getOperand(3).isImm() &&
21655         MI->getOperand(3).getImm() == 0 &&
21656         MI->getOperand(4).isImm() &&
21657         MI->getOperand(4).getImm() == 0) {
21664     if (MI->getNumOperands() == 3 &&
21665         MI->getOperand(0).isReg() &&
21666         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21667         MI->getOperand(1).isReg() &&
21668         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21669         MI->getOperand(2).isImm() &&
21670         MI->getOperand(2).getImm() == 0) {
21677     if (MI->getNumOperands() == 5 &&
21678         MI->getOperand(0).isReg() &&
21679         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21680         MI->getOperand(1).isReg() &&
21681         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21682         MI->getOperand(2).isReg() &&
21683         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21684         MI->getOperand(3).isImm() &&
21685         MI->getOperand(3).getImm() == 0 &&
21686         MI->getOperand(4).isImm() &&
21687         MI->getOperand(4).getImm() == 0) {
21694     if (MI->getNumOperands() == 3 &&
21695         MI->getOperand(0).isReg() &&
21696         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21697         MI->getOperand(1).isReg() &&
21698         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21699         MI->getOperand(2).isImm() &&
21700         MI->getOperand(2).getImm() == 0) {
21707     if (MI->getNumOperands() == 5 &&
21708         MI->getOperand(0).isReg() &&
21709         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21710         MI->getOperand(1).isReg() &&
21711         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21712         MI->getOperand(2).isReg() &&
21713         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21714         MI->getOperand(3).isImm() &&
21715         MI->getOperand(3).getImm() == 0 &&
21716         MI->getOperand(4).isImm() &&
21717         MI->getOperand(4).getImm() == 0) {
21724     if (MI->getNumOperands() == 3 &&
21725         MI->getOperand(0).isReg() &&
21726         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21727         MI->getOperand(1).isReg() &&
21728         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21729         MI->getOperand(2).isImm() &&
21730         MI->getOperand(2).getImm() == 0) {
21737     if (MI->getNumOperands() == 5 &&
21738         MI->getOperand(0).isReg() &&
21739         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21740         MI->getOperand(1).isReg() &&
21741         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21742         MI->getOperand(2).isReg() &&
21743         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21744         MI->getOperand(3).isImm() &&
21745         MI->getOperand(3).getImm() == 0 &&
21746         MI->getOperand(4).isImm() &&
21747         MI->getOperand(4).getImm() == 0) {
21754     if (MI->getNumOperands() == 3 &&
21755         MI->getOperand(0).isReg() &&
21756         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21757         MI->getOperand(1).isReg() &&
21758         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21759         MI->getOperand(2).isImm() &&
21760         MI->getOperand(2).getImm() == 0) {
21767     if (MI->getNumOperands() == 5 &&
21768         MI->getOperand(0).isReg() &&
21769         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21770         MI->getOperand(1).isReg() &&
21771         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21772         MI->getOperand(2).isReg() &&
21773         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21774         MI->getOperand(3).isImm() &&
21775         MI->getOperand(3).getImm() == 0 &&
21776         MI->getOperand(4).isImm() &&
21777         MI->getOperand(4).getImm() == 0) {
21784     if (MI->getNumOperands() == 3 &&
21785         MI->getOperand(0).isReg() &&
21786         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21787         MI->getOperand(1).isReg() &&
21788         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21789         MI->getOperand(2).isImm() &&
21790         MI->getOperand(2).getImm() == 0) {
21797     if (MI->getNumOperands() == 5 &&
21798         MI->getOperand(0).isReg() &&
21799         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21800         MI->getOperand(1).isReg() &&
21801         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21802         MI->getOperand(2).isReg() &&
21803         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21804         MI->getOperand(3).isImm() &&
21805         MI->getOperand(3).getImm() == 0 &&
21806         MI->getOperand(4).isImm() &&
21807         MI->getOperand(4).getImm() == 0) {
21814     if (MI->getNumOperands() == 3 &&
21815         MI->getOperand(0).isReg() &&
21816         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21817         MI->getOperand(1).isReg() &&
21818         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21819         MI->getOperand(2).isImm() &&
21820         MI->getOperand(2).getImm() == 0) {
21827     if (MI->getNumOperands() == 5 &&
21828         MI->getOperand(0).isReg() &&
21829         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21830         MI->getOperand(1).isReg() &&
21831         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21832         MI->getOperand(2).isReg() &&
21833         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21834         MI->getOperand(3).isImm() &&
21835         MI->getOperand(3).getImm() == 0 &&
21836         MI->getOperand(4).isImm() &&
21837         MI->getOperand(4).getImm() == 0) {
21844     if (MI->getNumOperands() == 3 &&
21845         MI->getOperand(0).isReg() &&
21846         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
21847         MI->getOperand(1).isReg() &&
21848         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21849         MI->getOperand(2).isImm() &&
21850         MI->getOperand(2).getImm() == 0) {
21857     if (MI->getNumOperands() == 5 &&
21858         MI->getOperand(0).isReg() &&
21859         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21860         MI->getOperand(1).isReg() &&
21861         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21862         MI->getOperand(2).isReg() &&
21863         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
21864         MI->getOperand(3).isImm() &&
21865         MI->getOperand(3).getImm() == 0 &&
21866         MI->getOperand(4).isImm() &&
21867         MI->getOperand(4).getImm() == 0) {
21874     if (MI->getNumOperands() == 3 &&
21875         MI->getOperand(0).isReg() &&
21876         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
21877         MI->getOperand(1).isReg() &&
21878         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21879         MI->getOperand(2).isImm() &&
21880         MI->getOperand(2).getImm() == 0) {
21887     if (MI->getNumOperands() == 3 &&
21888         MI->getOperand(0).isReg() &&
21889         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
21890         MI->getOperand(1).isReg() &&
21891         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
21892         MI->getOperand(2).isImm() &&
21893         MI->getOperand(2).getImm() == 0 &&
21901     if (MI->getNumOperands() == 3 &&
21902         MI->getOperand(0).isReg() &&
21903         MRI.getRegClass(AArch64::ZPRRegClassID).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 &&
21915     if (MI->getNumOperands() == 3 &&
21916         MI->getOperand(0).getReg() == AArch64::WZR &&
21917         MI->getOperand(1).isReg() &&
21918         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21919         MI->getOperand(2).isReg() &&
21920         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21928     if (MI->getNumOperands() == 3 &&
21929         MI->getOperand(0).getReg() == AArch64::WZR &&
21930         MI->getOperand(1).isReg() &&
21931         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21932         MI->getOperand(2).isReg() &&
21933         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21941     if (MI->getNumOperands() == 3 &&
21942         MI->getOperand(0).getReg() == AArch64::WZR &&
21943         MI->getOperand(1).isReg() &&
21944         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21945         MI->getOperand(2).isReg() &&
21946         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21954     if (MI->getNumOperands() == 3 &&
21955         MI->getOperand(0).getReg() == AArch64::WZR &&
21956         MI->getOperand(1).isReg() &&
21957         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21958         MI->getOperand(2).isReg() &&
21959         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21967     if (MI->getNumOperands() == 3 &&
21968         MI->getOperand(0).getReg() == AArch64::WZR &&
21969         MI->getOperand(1).isReg() &&
21970         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21971         MI->getOperand(2).isReg() &&
21972         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21980     if (MI->getNumOperands() == 3 &&
21981         MI->getOperand(0).getReg() == AArch64::XZR &&
21982         MI->getOperand(1).isReg() &&
21983         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
21984         MI->getOperand(2).isReg() &&
21985         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
21993     if (MI->getNumOperands() == 3 &&
21994         MI->getOperand(0).getReg() == AArch64::WZR &&
21995         MI->getOperand(1).isReg() &&
21996         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
21997         MI->getOperand(2).isReg() &&
21998         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22006     if (MI->getNumOperands() == 3 &&
22007         MI->getOperand(0).getReg() == AArch64::XZR &&
22008         MI->getOperand(1).isReg() &&
22009         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22010         MI->getOperand(2).isReg() &&
22011         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22019     if (MI->getNumOperands() == 3 &&
22020         MI->getOperand(0).getReg() == AArch64::WZR &&
22021         MI->getOperand(1).isReg() &&
22022         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22023         MI->getOperand(2).isReg() &&
22024         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22032     if (MI->getNumOperands() == 3 &&
22033         MI->getOperand(0).getReg() == AArch64::WZR &&
22034         MI->getOperand(1).isReg() &&
22035         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22036         MI->getOperand(2).isReg() &&
22037         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22045     if (MI->getNumOperands() == 3 &&
22046         MI->getOperand(0).getReg() == AArch64::WZR &&
22047         MI->getOperand(1).isReg() &&
22048         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22049         MI->getOperand(2).isReg() &&
22050         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22058     if (MI->getNumOperands() == 3 &&
22059         MI->getOperand(0).getReg() == AArch64::WZR &&
22060         MI->getOperand(1).isReg() &&
22061         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22062         MI->getOperand(2).isReg() &&
22063         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22071     if (MI->getNumOperands() == 3 &&
22072         MI->getOperand(0).getReg() == AArch64::WZR &&
22073         MI->getOperand(1).isReg() &&
22074         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22075         MI->getOperand(2).isReg() &&
22076         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22084     if (MI->getNumOperands() == 3 &&
22085         MI->getOperand(0).getReg() == AArch64::XZR &&
22086         MI->getOperand(1).isReg() &&
22087         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22088         MI->getOperand(2).isReg() &&
22089         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22097     if (MI->getNumOperands() == 3 &&
22098         MI->getOperand(0).getReg() == AArch64::WZR &&
22099         MI->getOperand(1).isReg() &&
22100         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22101         MI->getOperand(2).isReg() &&
22102         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22110     if (MI->getNumOperands() == 3 &&
22111         MI->getOperand(0).getReg() == AArch64::XZR &&
22112         MI->getOperand(1).isReg() &&
22113         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22114         MI->getOperand(2).isReg() &&
22115         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22123     if (MI->getNumOperands() == 3 &&
22124         MI->getOperand(0).getReg() == AArch64::WZR &&
22125         MI->getOperand(1).isReg() &&
22126         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22127         MI->getOperand(2).isReg() &&
22128         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22136     if (MI->getNumOperands() == 3 &&
22137         MI->getOperand(0).getReg() == AArch64::WZR &&
22138         MI->getOperand(1).isReg() &&
22139         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22140         MI->getOperand(2).isReg() &&
22141         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22149     if (MI->getNumOperands() == 3 &&
22150         MI->getOperand(0).getReg() == AArch64::WZR &&
22151         MI->getOperand(1).isReg() &&
22152         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22153         MI->getOperand(2).isReg() &&
22154         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22162     if (MI->getNumOperands() == 3 &&
22163         MI->getOperand(0).getReg() == AArch64::WZR &&
22164         MI->getOperand(1).isReg() &&
22165         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22166         MI->getOperand(2).isReg() &&
22167         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22175     if (MI->getNumOperands() == 3 &&
22176         MI->getOperand(0).getReg() == AArch64::WZR &&
22177         MI->getOperand(1).isReg() &&
22178         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22179         MI->getOperand(2).isReg() &&
22180         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22188     if (MI->getNumOperands() == 3 &&
22189         MI->getOperand(0).getReg() == AArch64::XZR &&
22190         MI->getOperand(1).isReg() &&
22191         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22192         MI->getOperand(2).isReg() &&
22193         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22201     if (MI->getNumOperands() == 3 &&
22202         MI->getOperand(0).getReg() == AArch64::WZR &&
22203         MI->getOperand(1).isReg() &&
22204         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22205         MI->getOperand(2).isReg() &&
22206         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22214     if (MI->getNumOperands() == 3 &&
22215         MI->getOperand(0).getReg() == AArch64::XZR &&
22216         MI->getOperand(1).isReg() &&
22217         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22218         MI->getOperand(2).isReg() &&
22219         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22227     if (MI->getNumOperands() == 3 &&
22228         MI->getOperand(0).isReg() &&
22229         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22230         MI->getOperand(1).isReg() &&
22231         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22232         MI->getOperand(2).isImm() &&
22233         MI->getOperand(2).getImm() == 0) {
22240     if (MI->getNumOperands() == 3 &&
22241         MI->getOperand(0).isReg() &&
22242         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22243         MI->getOperand(1).isReg() &&
22244         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22245         MI->getOperand(2).isImm() &&
22246         MI->getOperand(2).getImm() == 0) {
22253     if (MI->getNumOperands() == 3 &&
22254         MI->getOperand(0).isReg() &&
22255         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22256         MI->getOperand(1).isReg() &&
22257         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22258         MI->getOperand(2).isImm() &&
22259         MI->getOperand(2).getImm() == 0) {
22266     if (MI->getNumOperands() == 3 &&
22267         MI->getOperand(0).isReg() &&
22268         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22269         MI->getOperand(1).isReg() &&
22270         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22271         MI->getOperand(2).isImm() &&
22272         MI->getOperand(2).getImm() == 0) {
22279     if (MI->getNumOperands() == 3 &&
22280         MI->getOperand(0).isReg() &&
22281         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22282         MI->getOperand(1).isReg() &&
22283         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22284         MI->getOperand(2).isImm() &&
22285         MI->getOperand(2).getImm() == 0) {
22292     if (MI->getNumOperands() == 3 &&
22293         MI->getOperand(0).isReg() &&
22294         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22295         MI->getOperand(1).isReg() &&
22296         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22297         MI->getOperand(2).isImm() &&
22298         MI->getOperand(2).getImm() == 0) {
22305     if (MI->getNumOperands() == 3 &&
22306         MI->getOperand(0).isReg() &&
22307         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22308         MI->getOperand(1).isReg() &&
22309         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22310         MI->getOperand(2).isImm() &&
22311         MI->getOperand(2).getImm() == 0) {
22318     if (MI->getNumOperands() == 3 &&
22319         MI->getOperand(0).isReg() &&
22320         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22321         MI->getOperand(1).isReg() &&
22322         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22323         MI->getOperand(2).isImm() &&
22324         MI->getOperand(2).getImm() == 0) {
22331     if (MI->getNumOperands() == 3 &&
22332         MI->getOperand(0).isReg() &&
22333         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22334         MI->getOperand(1).isReg() &&
22335         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22336         MI->getOperand(2).isImm() &&
22337         MI->getOperand(2).getImm() == 0) {
22344     if (MI->getNumOperands() == 3 &&
22345         MI->getOperand(0).getReg() == AArch64::WZR &&
22346         MI->getOperand(1).isReg() &&
22347         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22348         MI->getOperand(2).isReg() &&
22349         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22357     if (MI->getNumOperands() == 3 &&
22358         MI->getOperand(0).getReg() == AArch64::WZR &&
22359         MI->getOperand(1).isReg() &&
22360         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22361         MI->getOperand(2).isReg() &&
22362         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22370     if (MI->getNumOperands() == 3 &&
22371         MI->getOperand(0).getReg() == AArch64::WZR &&
22372         MI->getOperand(1).isReg() &&
22373         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22374         MI->getOperand(2).isReg() &&
22375         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22383     if (MI->getNumOperands() == 3 &&
22384         MI->getOperand(0).getReg() == AArch64::WZR &&
22385         MI->getOperand(1).isReg() &&
22386         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22387         MI->getOperand(2).isReg() &&
22388         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22396     if (MI->getNumOperands() == 3 &&
22397         MI->getOperand(0).getReg() == AArch64::WZR &&
22398         MI->getOperand(1).isReg() &&
22399         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22400         MI->getOperand(2).isReg() &&
22401         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22409     if (MI->getNumOperands() == 3 &&
22410         MI->getOperand(0).getReg() == AArch64::XZR &&
22411         MI->getOperand(1).isReg() &&
22412         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22413         MI->getOperand(2).isReg() &&
22414         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22422     if (MI->getNumOperands() == 3 &&
22423         MI->getOperand(0).getReg() == AArch64::WZR &&
22424         MI->getOperand(1).isReg() &&
22425         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22426         MI->getOperand(2).isReg() &&
22427         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22435     if (MI->getNumOperands() == 3 &&
22436         MI->getOperand(0).getReg() == AArch64::XZR &&
22437         MI->getOperand(1).isReg() &&
22438         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22439         MI->getOperand(2).isReg() &&
22440         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22448     if (MI->getNumOperands() == 3 &&
22449         MI->getOperand(0).getReg() == AArch64::WZR &&
22450         MI->getOperand(1).isReg() &&
22451         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22452         MI->getOperand(2).isReg() &&
22453         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22461     if (MI->getNumOperands() == 3 &&
22462         MI->getOperand(0).getReg() == AArch64::WZR &&
22463         MI->getOperand(1).isReg() &&
22464         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22465         MI->getOperand(2).isReg() &&
22466         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22474     if (MI->getNumOperands() == 3 &&
22475         MI->getOperand(0).getReg() == AArch64::WZR &&
22476         MI->getOperand(1).isReg() &&
22477         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22478         MI->getOperand(2).isReg() &&
22479         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22487     if (MI->getNumOperands() == 3 &&
22488         MI->getOperand(0).getReg() == AArch64::WZR &&
22489         MI->getOperand(1).isReg() &&
22490         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22491         MI->getOperand(2).isReg() &&
22492         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22500     if (MI->getNumOperands() == 3 &&
22501         MI->getOperand(0).getReg() == AArch64::WZR &&
22502         MI->getOperand(1).isReg() &&
22503         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22504         MI->getOperand(2).isReg() &&
22505         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22513     if (MI->getNumOperands() == 3 &&
22514         MI->getOperand(0).getReg() == AArch64::XZR &&
22515         MI->getOperand(1).isReg() &&
22516         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22517         MI->getOperand(2).isReg() &&
22518         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22526     if (MI->getNumOperands() == 3 &&
22527         MI->getOperand(0).getReg() == AArch64::WZR &&
22528         MI->getOperand(1).isReg() &&
22529         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22530         MI->getOperand(2).isReg() &&
22531         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22539     if (MI->getNumOperands() == 3 &&
22540         MI->getOperand(0).getReg() == AArch64::XZR &&
22541         MI->getOperand(1).isReg() &&
22542         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22543         MI->getOperand(2).isReg() &&
22544         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
22552     if (MI->getNumOperands() == 3 &&
22553         MI->getOperand(0).isReg() &&
22554         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22555         MI->getOperand(1).isReg() &&
22556         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22557         MI->getOperand(2).isImm() &&
22558         MI->getOperand(2).getImm() == 0) {
22565     if (MI->getNumOperands() == 3 &&
22566         MI->getOperand(0).isReg() &&
22567         MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
22568         MI->getOperand(1).isReg() &&
22569         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22570         MI->getOperand(2).isImm() &&
22571         MI->getOperand(2).getImm() == 0) {
22578     if (MI->getNumOperands() == 3 &&
22579         MI->getOperand(0).isReg() &&
22580         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22581         MI->getOperand(1).isReg() &&
22582         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22583         MI->getOperand(2).isImm() &&
22584         MI->getOperand(2).getImm() == 0) {
22591     if (MI->getNumOperands() == 3 &&
22592         MI->getOperand(0).isReg() &&
22593         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22594         MI->getOperand(1).isReg() &&
22595         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22596         MI->getOperand(2).isImm() &&
22597         MI->getOperand(2).getImm() == 0) {
22604     if (MI->getNumOperands() == 3 &&
22605         MI->getOperand(0).isReg() &&
22606         MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
22607         MI->getOperand(1).isReg() &&
22608         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22609         MI->getOperand(2).isImm() &&
22610         MI->getOperand(2).getImm() == 0) {
22617     if (MI->getNumOperands() == 3 &&
22618         MI->getOperand(0).isReg() &&
22619         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
22620         MI->getOperand(1).isReg() &&
22621         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22622         MI->getOperand(2).isImm() &&
22623         MI->getOperand(2).getImm() == 0) {
22630     if (MI->getNumOperands() == 3 &&
22631         MI->getOperand(0).isReg() &&
22632         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22633         MI->getOperand(1).isReg() &&
22634         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22635         MI->getOperand(2).isImm() &&
22636         MI->getOperand(2).getImm() == 0) {
22643     if (MI->getNumOperands() == 3 &&
22644         MI->getOperand(0).isReg() &&
22645         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22646         MI->getOperand(1).isReg() &&
22647         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22648         MI->getOperand(2).isImm() &&
22649         MI->getOperand(2).getImm() == 0) {
22656     if (MI->getNumOperands() == 3 &&
22657         MI->getOperand(0).isReg() &&
22658         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22659         MI->getOperand(1).isReg() &&
22660         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22661         MI->getOperand(2).isImm() &&
22662         MI->getOperand(2).getImm() == 0) {
22669     if (MI->getNumOperands() == 3 &&
22670         MI->getOperand(0).isReg() &&
22671         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22672         MI->getOperand(1).isReg() &&
22673         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22674         MI->getOperand(2).isImm() &&
22675         MI->getOperand(2).getImm() == 0) {
22682     if (MI->getNumOperands() == 3 &&
22683         MI->getOperand(0).isReg() &&
22684         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22685         MI->getOperand(1).isReg() &&
22686         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22687         MI->getOperand(2).isImm() &&
22688         MI->getOperand(2).getImm() == 0) {
22695     if (MI->getNumOperands() == 3 &&
22696         MI->getOperand(0).isReg() &&
22697         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22698         MI->getOperand(1).isReg() &&
22699         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22700         MI->getOperand(2).isImm() &&
22701         MI->getOperand(2).getImm() == 0) {
22708     if (MI->getNumOperands() == 3 &&
22709         MI->getOperand(0).isReg() &&
22710         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22711         MI->getOperand(1).isReg() &&
22712         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22713         MI->getOperand(2).isImm() &&
22714         MI->getOperand(2).getImm() == 0) {
22721     if (MI->getNumOperands() == 3 &&
22722         MI->getOperand(0).isReg() &&
22723         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22724         MI->getOperand(1).isReg() &&
22725         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
22726         MI->getOperand(2).isImm() &&
22727         MI->getOperand(2).getImm() == 0) {
22734     if (MI->getNumOperands() == 4 &&
22735         MI->getOperand(0).isReg() &&
22736         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22737         MI->getOperand(1).isReg() &&
22738         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22739         MI->getOperand(2).isReg() &&
22740         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
22741         MI->getOperand(3).getReg() == AArch64::WZR) {
22748     if (MI->getNumOperands() == 4 &&
22749         MI->getOperand(0).isReg() &&
22750         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22751         MI->getOperand(1).isReg() &&
22752         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22753         MI->getOperand(2).isReg() &&
22754         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22755         MI->getOperand(3).getReg() == AArch64::XZR) {
22762     if (MI->getNumOperands() == 4 &&
22763         MI->getOperand(0).isReg() &&
22764         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22765         MI->getOperand(1).isReg() &&
22766         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22767         MI->getOperand(2).isReg() &&
22768         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
22769         MI->getOperand(3).getReg() == AArch64::WZR) {
22776     if (MI->getNumOperands() == 4 &&
22777         MI->getOperand(0).isReg() &&
22778         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22779         MI->getOperand(1).isReg() &&
22780         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22781         MI->getOperand(2).isReg() &&
22782         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22783         MI->getOperand(3).getReg() == AArch64::XZR) {
22790     if (MI->getNumOperands() == 2 &&
22791         MI->getOperand(0).isReg() &&
22792         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
22793         MI->getOperand(1).isReg() &&
22794         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg())) {
22801     if (MI->getNumOperands() == 2 &&
22802         MI->getOperand(0).isReg() &&
22803         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22804         MI->getOperand(1).isReg() &&
22805         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg())) {
22812     if (MI->getNumOperands() == 4 &&
22813         MI->getOperand(0).isReg() &&
22814         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22815         MI->getOperand(1).getReg() == AArch64::WZR &&
22816         MI->getOperand(2).isReg() &&
22817         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
22818         MI->getOperand(3).isImm() &&
22819         MI->getOperand(3).getImm() == 0) {
22824     if (MI->getNumOperands() == 4 &&
22825         MI->getOperand(0).isReg() &&
22826         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22827         MI->getOperand(1).getReg() == AArch64::WZR &&
22828         MI->getOperand(2).isReg() &&
22829         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
22834     if (MI->getNumOperands() == 4 &&
22835         MI->getOperand(0).isReg() &&
22836         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22837         MI->getOperand(1).isReg() &&
22838         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22839         MI->getOperand(2).isReg() &&
22840         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
22841         MI->getOperand(3).isImm() &&
22842         MI->getOperand(3).getImm() == 0) {
22849     if (MI->getNumOperands() == 4 &&
22850         MI->getOperand(0).isReg() &&
22851         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22852         MI->getOperand(1).getReg() == AArch64::XZR &&
22853         MI->getOperand(2).isReg() &&
22854         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22855         MI->getOperand(3).isImm() &&
22856         MI->getOperand(3).getImm() == 0) {
22861     if (MI->getNumOperands() == 4 &&
22862         MI->getOperand(0).isReg() &&
22863         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22864         MI->getOperand(1).getReg() == AArch64::XZR &&
22865         MI->getOperand(2).isReg() &&
22866         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
22871     if (MI->getNumOperands() == 4 &&
22872         MI->getOperand(0).isReg() &&
22873         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22874         MI->getOperand(1).isReg() &&
22875         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22876         MI->getOperand(2).isReg() &&
22877         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22878         MI->getOperand(3).isImm() &&
22879         MI->getOperand(3).getImm() == 0) {
22886     if (MI->getNumOperands() == 4 &&
22887         MI->getOperand(0).isReg() &&
22888         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22889         MI->getOperand(1).isReg() &&
22890         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
22891         MI->getOperand(2).isReg() &&
22892         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
22892         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
22893         MI->getOperand(3).isReg() &&
22894         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
22894         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
22902     if (MI->getNumOperands() == 4 &&
22903         MI->getOperand(0).isReg() &&
22904         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22905         MI->getOperand(1).getReg() == AArch64::WZR &&
22906         MI->getOperand(2).isReg() &&
22907         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
22908         MI->getOperand(3).isImm() &&
22909         MI->getOperand(3).getImm() == 0) {
22914     if (MI->getNumOperands() == 4 &&
22915         MI->getOperand(0).isReg() &&
22916         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
22917         MI->getOperand(1).isReg() &&
22918         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
22919         MI->getOperand(2).isReg() &&
22920         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
22921         MI->getOperand(3).isImm() &&
22922         MI->getOperand(3).getImm() == 0) {
22929     if (MI->getNumOperands() == 4 &&
22930         MI->getOperand(0).isReg() &&
22931         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22932         MI->getOperand(1).getReg() == AArch64::XZR &&
22933         MI->getOperand(2).isReg() &&
22934         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22935         MI->getOperand(3).isImm() &&
22936         MI->getOperand(3).getImm() == 0) {
22941     if (MI->getNumOperands() == 4 &&
22942         MI->getOperand(0).isReg() &&
22943         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
22944         MI->getOperand(1).isReg() &&
22945         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
22946         MI->getOperand(2).isReg() &&
22947         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
22948         MI->getOperand(3).isImm() &&
22949         MI->getOperand(3).getImm() == 0) {
22956     if (MI->getNumOperands() == 4 &&
22957         MI->getOperand(0).isReg() &&
22958         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22959         MI->getOperand(1).isReg() &&
22960         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
22961         MI->getOperand(2).isReg() &&
22962         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
22962         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
22963         MI->getOperand(3).isReg() &&
22964         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
22964         MI->getOperand(3).getReg() == MI->getOperand(1).getReg() &&
22972     if (MI->getNumOperands() == 3 &&
22973         MI->getOperand(0).isReg() &&
22974         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22975         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(2), STI, 1) &&
22981     if (MI->getNumOperands() == 3 &&
22982         MI->getOperand(0).isReg() &&
22983         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22984         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(2), STI, 2) &&
22990     if (MI->getNumOperands() == 3 &&
22991         MI->getOperand(0).isReg() &&
22992         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
22993         AArch64AppleInstPrinterValidateMCOperand(MI->getOperand(2), STI, 3) &&
23001     if (MI->getNumOperands() == 3 &&
23002         MI->getOperand(0).isReg() &&
23003         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23004         MI->getOperand(1).isReg() &&
23005         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(1).getReg()) &&
23006         MI->getOperand(2).isReg() &&
23007         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
23007         MI->getOperand(2).getReg() == MI->getOperand(1).getReg() &&
23015     if (MI->getNumOperands() == 3 &&
23016         MI->getOperand(0).isReg() &&
23017         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
23018         MI->getOperand(1).isReg() &&
23019         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
23020         MI->getOperand(2).isReg() &&
23021         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
23021         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
23028     if (MI->getNumOperands() == 3 &&
23029         MI->getOperand(0).isReg() &&
23030         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23031         MI->getOperand(1).isReg() &&
23032         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23033         MI->getOperand(2).isReg() &&
23034         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
23034         MI->getOperand(2).getReg() == MI->getOperand(1).getReg()) {
23041     if (MI->getNumOperands() == 4 &&
23042         MI->getOperand(1).isReg() &&
23043         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23044         MI->getOperand(2).isReg() &&
23045         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23046         MI->getOperand(3).isImm() &&
23047         MI->getOperand(3).getImm() == 0 &&
23055     if (MI->getNumOperands() == 4 &&
23056         MI->getOperand(1).isReg() &&
23057         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23058         MI->getOperand(2).isReg() &&
23059         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
23060         MI->getOperand(3).isImm() &&
23061         MI->getOperand(3).getImm() == 0 &&
23069     if (MI->getNumOperands() == 4 &&
23070         MI->getOperand(1).isReg() &&
23071         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23072         MI->getOperand(2).isReg() &&
23073         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23074         MI->getOperand(3).isImm() &&
23075         MI->getOperand(3).getImm() == 0 &&
23083     if (MI->getNumOperands() == 4 &&
23084         MI->getOperand(1).isReg() &&
23085         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23086         MI->getOperand(2).isReg() &&
23087         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23088         MI->getOperand(3).isImm() &&
23089         MI->getOperand(3).getImm() == 0 &&
23097     if (MI->getNumOperands() == 4 &&
23098         MI->getOperand(1).isReg() &&
23099         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23100         MI->getOperand(2).isReg() &&
23101         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
23102         MI->getOperand(3).isImm() &&
23103         MI->getOperand(3).getImm() == 0 &&
23111     if (MI->getNumOperands() == 4 &&
23112         MI->getOperand(1).isReg() &&
23113         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23114         MI->getOperand(2).isReg() &&
23115         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23116         MI->getOperand(3).isImm() &&
23117         MI->getOperand(3).getImm() == 0 &&
23125     if (MI->getNumOperands() == 4 &&
23126         MI->getOperand(1).isReg() &&
23127         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23128         MI->getOperand(2).isReg() &&
23129         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23130         MI->getOperand(3).isImm() &&
23131         MI->getOperand(3).getImm() == 0 &&
23139     if (MI->getNumOperands() == 4 &&
23140         MI->getOperand(1).isReg() &&
23141         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23142         MI->getOperand(2).isReg() &&
23143         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
23144         MI->getOperand(3).isImm() &&
23145         MI->getOperand(3).getImm() == 0 &&
23153     if (MI->getNumOperands() == 4 &&
23154         MI->getOperand(1).isReg() &&
23155         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23156         MI->getOperand(2).isReg() &&
23157         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23158         MI->getOperand(3).isImm() &&
23159         MI->getOperand(3).getImm() == 0 &&
23167     if (MI->getNumOperands() == 5 &&
23168         MI->getOperand(1).isReg() &&
23169         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23170         MI->getOperand(2).isReg() &&
23171         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
23172         MI->getOperand(3).isImm() &&
23173         MI->getOperand(3).getImm() == 0 &&
23174         MI->getOperand(4).isImm() &&
23175         MI->getOperand(4).getImm() == 0) {
23182     if (MI->getNumOperands() == 3 &&
23183         MI->getOperand(1).isReg() &&
23184         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23185         MI->getOperand(2).isImm() &&
23186         MI->getOperand(2).getImm() == 0) {
23193     if (MI->getNumOperands() == 3 &&
23194         MI->getOperand(1).isReg() &&
23195         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
23196         MI->getOperand(2).isImm() &&
23197         MI->getOperand(2).getImm() == 0) {
23204     if (MI->getNumOperands() == 4 &&
23205         MI->getOperand(1).isReg() &&
23206         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23207         MI->getOperand(2).isReg() &&
23208         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23209         MI->getOperand(3).isImm() &&
23210         MI->getOperand(3).getImm() == 0 &&
23218     if (MI->getNumOperands() == 4 &&
23219         MI->getOperand(1).isReg() &&
23220         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23221         MI->getOperand(2).isReg() &&
23222         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
23223         MI->getOperand(3).isImm() &&
23224         MI->getOperand(3).getImm() == 0 &&
23232     if (MI->getNumOperands() == 4 &&
23233         MI->getOperand(1).isReg() &&
23234         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
23235         MI->getOperand(2).isReg() &&
23236         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23237         MI->getOperand(3).isImm() &&
23238         MI->getOperand(3).getImm() == 0 &&
23246     if (MI->getNumOperands() == 2 &&
23247         MI->getOperand(0).isReg() &&
23248         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23249         MI->getOperand(1).isImm() &&
23250         MI->getOperand(1).getImm() == 31 &&
23258     if (MI->getNumOperands() == 2 &&
23259         MI->getOperand(0).isReg() &&
23260         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23261         MI->getOperand(1).isImm() &&
23262         MI->getOperand(1).getImm() == 31 &&
23270     if (MI->getNumOperands() == 2 &&
23271         MI->getOperand(0).isReg() &&
23272         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23273         MI->getOperand(1).isImm() &&
23274         MI->getOperand(1).getImm() == 31 &&
23282     if (MI->getNumOperands() == 2 &&
23283         MI->getOperand(0).isReg() &&
23284         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23285         MI->getOperand(1).isImm() &&
23286         MI->getOperand(1).getImm() == 31 &&
23294     if (MI->getNumOperands() == 2 &&
23295         MI->getOperand(0).isReg() &&
23296         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23297         MI->getOperand(1).isImm() &&
23298         MI->getOperand(1).getImm() == 31 &&
23306     if (MI->getNumOperands() == 2 &&
23307         MI->getOperand(0).isReg() &&
23308         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23309         MI->getOperand(1).isImm() &&
23310         MI->getOperand(1).getImm() == 31 &&
23318     if (MI->getNumOperands() == 2 &&
23319         MI->getOperand(0).isReg() &&
23320         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23321         MI->getOperand(1).isImm() &&
23322         MI->getOperand(1).getImm() == 31 &&
23330     if (MI->getNumOperands() == 2 &&
23331         MI->getOperand(0).isReg() &&
23332         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23333         MI->getOperand(1).isImm() &&
23334         MI->getOperand(1).getImm() == 31 &&
23342     if (MI->getNumOperands() == 1 &&
23343         MI->getOperand(0).getReg() == AArch64::LR) {
23350     if (MI->getNumOperands() == 3 &&
23351         MI->getOperand(0).isReg() &&
23352         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23353         MI->getOperand(1).getReg() == AArch64::WZR &&
23354         MI->getOperand(2).isReg() &&
23355         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
23362     if (MI->getNumOperands() == 3 &&
23363         MI->getOperand(0).isReg() &&
23364         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23365         MI->getOperand(1).getReg() == AArch64::XZR &&
23366         MI->getOperand(2).isReg() &&
23367         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
23374     if (MI->getNumOperands() == 3 &&
23375         MI->getOperand(0).isReg() &&
23376         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23377         MI->getOperand(1).getReg() == AArch64::WZR &&
23378         MI->getOperand(2).isReg() &&
23379         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
23386     if (MI->getNumOperands() == 3 &&
23387         MI->getOperand(0).isReg() &&
23388         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23389         MI->getOperand(1).getReg() == AArch64::XZR &&
23390         MI->getOperand(2).isReg() &&
23391         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
23398     if (MI->getNumOperands() == 4 &&
23399         MI->getOperand(0).isReg() &&
23400         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23401         MI->getOperand(1).isReg() &&
23402         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
23403         MI->getOperand(3).isImm() &&
23404         MI->getOperand(3).getImm() == 31) {
23409     if (MI->getNumOperands() == 4 &&
23410         MI->getOperand(0).isReg() &&
23411         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23412         MI->getOperand(1).isReg() &&
23413         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
23414         MI->getOperand(2).isImm() &&
23415         MI->getOperand(2).getImm() == 0 &&
23416         MI->getOperand(3).isImm() &&
23417         MI->getOperand(3).getImm() == 7) {
23422     if (MI->getNumOperands() == 4 &&
23423         MI->getOperand(0).isReg() &&
23424         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
23425         MI->getOperand(1).isReg() &&
23426         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
23427         MI->getOperand(2).isImm() &&
23428         MI->getOperand(2).getImm() == 0 &&
23429         MI->getOperand(3).isImm() &&
23430         MI->getOperand(3).getImm() == 15) {
23437     if (MI->getNumOperands() == 4 &&
23438         MI->getOperand(0).isReg() &&
23439         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23440         MI->getOperand(1).isReg() &&
23441         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23442         MI->getOperand(3).isImm() &&
23443         MI->getOperand(3).getImm() == 63) {
23448     if (MI->getNumOperands() == 4 &&
23449         MI->getOperand(0).isReg() &&
23450         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23451         MI->getOperand(1).isReg() &&
23452         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23453         MI->getOperand(2).isImm() &&
23454         MI->getOperand(2).getImm() == 0 &&
23455         MI->getOperand(3).isImm() &&
23456         MI->getOperand(3).getImm() == 7) {
23461     if (MI->getNumOperands() == 4 &&
23462         MI->getOperand(0).isReg() &&
23463         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23464         MI->getOperand(1).isReg() &&
23465         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23466         MI->getOperand(2).isImm() &&
23467         MI->getOperand(2).getImm() == 0 &&
23468         MI->getOperand(3).isImm() &&
23469         MI->getOperand(3).getImm() == 15) {
23474     if (MI->getNumOperands() == 4 &&
23475         MI->getOperand(0).isReg() &&
23476         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23477         MI->getOperand(1).isReg() &&
23478         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23479         MI->getOperand(2).isImm() &&
23480         MI->getOperand(2).getImm() == 0 &&
23481         MI->getOperand(3).isImm() &&
23482         MI->getOperand(3).getImm() == 31) {
23489     if (MI->getNumOperands() == 4 &&
23490         MI->getOperand(0).isReg() &&
23491         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23492         MI->getOperand(1).isReg() &&
23493         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
23494         MI->getOperand(2).isReg() &&
23495         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23496         MI->getOperand(3).isReg() &&
23497         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
23497         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
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::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
23510         MI->getOperand(2).isReg() &&
23511         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23512         MI->getOperand(3).isReg() &&
23513         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
23513         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
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::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
23526         MI->getOperand(2).isReg() &&
23527         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23528         MI->getOperand(3).isReg() &&
23529         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
23529         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
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::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
23542         MI->getOperand(2).isReg() &&
23543         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23544         MI->getOperand(3).isReg() &&
23545         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
23545         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
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::PPRRegClassID).contains(MI->getOperand(1).getReg()) &&
23558         MI->getOperand(2).isReg() &&
23559         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
23560         MI->getOperand(3).isReg() &&
23561         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
23561         MI->getOperand(3).getReg() == MI->getOperand(0).getReg() &&
23569     if (MI->getNumOperands() == 4 &&
23570         MI->getOperand(0).isReg() &&
23571         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23572         MI->getOperand(1).isReg() &&
23573         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
23574         MI->getOperand(2).isReg() &&
23575         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
23576         MI->getOperand(3).getReg() == AArch64::XZR) {
23583     if (MI->getNumOperands() == 4 &&
23584         MI->getOperand(0).isReg() &&
23585         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23586         MI->getOperand(1).isReg() &&
23587         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
23588         MI->getOperand(2).isReg() &&
23589         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
23590         MI->getOperand(3).getReg() == AArch64::XZR) {
23597     if (MI->getNumOperands() == 4 &&
23598         MI->getOperand(0).isReg() &&
23599         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23600         MI->getOperand(2).isImm() &&
23601         MI->getOperand(2).getImm() == 31 &&
23602         MI->getOperand(3).isImm() &&
23603         MI->getOperand(3).getImm() == 1 &&
23609     if (MI->getNumOperands() == 4 &&
23610         MI->getOperand(0).isReg() &&
23611         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23612         MI->getOperand(3).isImm() &&
23613         MI->getOperand(3).getImm() == 1 &&
23621     if (MI->getNumOperands() == 4 &&
23622         MI->getOperand(0).isReg() &&
23623         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23624         MI->getOperand(1).isReg() &&
23625         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23626         MI->getOperand(2).isImm() &&
23627         MI->getOperand(2).getImm() == 31 &&
23628         MI->getOperand(3).isImm() &&
23629         MI->getOperand(3).getImm() == 1 &&
23635     if (MI->getNumOperands() == 4 &&
23636         MI->getOperand(0).isReg() &&
23637         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23638         MI->getOperand(1).isReg() &&
23639         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23640         MI->getOperand(3).isImm() &&
23641         MI->getOperand(3).getImm() == 1 &&
23649     if (MI->getNumOperands() == 4 &&
23650         MI->getOperand(0).isReg() &&
23651         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23652         MI->getOperand(2).isImm() &&
23653         MI->getOperand(2).getImm() == 31 &&
23654         MI->getOperand(3).isImm() &&
23655         MI->getOperand(3).getImm() == 1 &&
23661     if (MI->getNumOperands() == 4 &&
23662         MI->getOperand(0).isReg() &&
23663         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23664         MI->getOperand(3).isImm() &&
23665         MI->getOperand(3).getImm() == 1 &&
23673     if (MI->getNumOperands() == 4 &&
23674         MI->getOperand(0).isReg() &&
23675         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23676         MI->getOperand(1).isReg() &&
23677         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23678         MI->getOperand(2).isImm() &&
23679         MI->getOperand(2).getImm() == 31 &&
23680         MI->getOperand(3).isImm() &&
23681         MI->getOperand(3).getImm() == 1 &&
23687     if (MI->getNumOperands() == 4 &&
23688         MI->getOperand(0).isReg() &&
23689         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23690         MI->getOperand(1).isReg() &&
23691         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23692         MI->getOperand(3).isImm() &&
23693         MI->getOperand(3).getImm() == 1 &&
23701     if (MI->getNumOperands() == 4 &&
23702         MI->getOperand(0).isReg() &&
23703         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23704         MI->getOperand(2).isImm() &&
23705         MI->getOperand(2).getImm() == 31 &&
23706         MI->getOperand(3).isImm() &&
23707         MI->getOperand(3).getImm() == 1 &&
23713     if (MI->getNumOperands() == 4 &&
23714         MI->getOperand(0).isReg() &&
23715         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23716         MI->getOperand(3).isImm() &&
23717         MI->getOperand(3).getImm() == 1 &&
23725     if (MI->getNumOperands() == 4 &&
23726         MI->getOperand(0).isReg() &&
23727         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23728         MI->getOperand(2).isImm() &&
23729         MI->getOperand(2).getImm() == 31 &&
23730         MI->getOperand(3).isImm() &&
23731         MI->getOperand(3).getImm() == 1 &&
23737     if (MI->getNumOperands() == 4 &&
23738         MI->getOperand(0).isReg() &&
23739         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23740         MI->getOperand(3).isImm() &&
23741         MI->getOperand(3).getImm() == 1 &&
23749     if (MI->getNumOperands() == 4 &&
23750         MI->getOperand(0).isReg() &&
23751         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23752         MI->getOperand(1).isReg() &&
23753         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23754         MI->getOperand(2).isImm() &&
23755         MI->getOperand(2).getImm() == 31 &&
23756         MI->getOperand(3).isImm() &&
23757         MI->getOperand(3).getImm() == 1 &&
23763     if (MI->getNumOperands() == 4 &&
23764         MI->getOperand(0).isReg() &&
23765         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23766         MI->getOperand(1).isReg() &&
23767         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23768         MI->getOperand(3).isImm() &&
23769         MI->getOperand(3).getImm() == 1 &&
23777     if (MI->getNumOperands() == 4 &&
23778         MI->getOperand(0).isReg() &&
23779         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23780         MI->getOperand(2).isImm() &&
23781         MI->getOperand(2).getImm() == 31 &&
23782         MI->getOperand(3).isImm() &&
23783         MI->getOperand(3).getImm() == 1 &&
23789     if (MI->getNumOperands() == 4 &&
23790         MI->getOperand(0).isReg() &&
23791         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23792         MI->getOperand(3).isImm() &&
23793         MI->getOperand(3).getImm() == 1 &&
23801     if (MI->getNumOperands() == 4 &&
23802         MI->getOperand(0).isReg() &&
23803         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23804         MI->getOperand(2).isImm() &&
23805         MI->getOperand(2).getImm() == 31 &&
23806         MI->getOperand(3).isImm() &&
23807         MI->getOperand(3).getImm() == 1 &&
23813     if (MI->getNumOperands() == 4 &&
23814         MI->getOperand(0).isReg() &&
23815         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23816         MI->getOperand(3).isImm() &&
23817         MI->getOperand(3).getImm() == 1 &&
23825     if (MI->getNumOperands() == 4 &&
23826         MI->getOperand(0).isReg() &&
23827         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23828         MI->getOperand(1).isReg() &&
23829         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23830         MI->getOperand(2).isImm() &&
23831         MI->getOperand(2).getImm() == 31 &&
23832         MI->getOperand(3).isImm() &&
23833         MI->getOperand(3).getImm() == 1 &&
23839     if (MI->getNumOperands() == 4 &&
23840         MI->getOperand(0).isReg() &&
23841         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23842         MI->getOperand(1).isReg() &&
23843         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23844         MI->getOperand(3).isImm() &&
23845         MI->getOperand(3).getImm() == 1 &&
23853     if (MI->getNumOperands() == 4 &&
23854         MI->getOperand(0).isReg() &&
23855         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23856         MI->getOperand(2).isImm() &&
23857         MI->getOperand(2).getImm() == 31 &&
23858         MI->getOperand(3).isImm() &&
23859         MI->getOperand(3).getImm() == 1 &&
23865     if (MI->getNumOperands() == 4 &&
23866         MI->getOperand(0).isReg() &&
23867         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23868         MI->getOperand(3).isImm() &&
23869         MI->getOperand(3).getImm() == 1 &&
23877     if (MI->getNumOperands() == 4 &&
23878         MI->getOperand(0).isReg() &&
23879         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23880         MI->getOperand(2).isImm() &&
23881         MI->getOperand(2).getImm() == 31 &&
23882         MI->getOperand(3).isImm() &&
23883         MI->getOperand(3).getImm() == 1 &&
23889     if (MI->getNumOperands() == 4 &&
23890         MI->getOperand(0).isReg() &&
23891         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23892         MI->getOperand(3).isImm() &&
23893         MI->getOperand(3).getImm() == 1 &&
23901     if (MI->getNumOperands() == 4 &&
23902         MI->getOperand(0).isReg() &&
23903         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23904         MI->getOperand(1).isReg() &&
23905         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23906         MI->getOperand(2).isImm() &&
23907         MI->getOperand(2).getImm() == 31 &&
23908         MI->getOperand(3).isImm() &&
23909         MI->getOperand(3).getImm() == 1 &&
23915     if (MI->getNumOperands() == 4 &&
23916         MI->getOperand(0).isReg() &&
23917         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23918         MI->getOperand(1).isReg() &&
23919         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23920         MI->getOperand(3).isImm() &&
23921         MI->getOperand(3).getImm() == 1 &&
23929     if (MI->getNumOperands() == 4 &&
23930         MI->getOperand(0).isReg() &&
23931         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23932         MI->getOperand(2).isImm() &&
23933         MI->getOperand(2).getImm() == 31 &&
23934         MI->getOperand(3).isImm() &&
23935         MI->getOperand(3).getImm() == 1 &&
23941     if (MI->getNumOperands() == 4 &&
23942         MI->getOperand(0).isReg() &&
23943         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23944         MI->getOperand(3).isImm() &&
23945         MI->getOperand(3).getImm() == 1 &&
23953     if (MI->getNumOperands() == 4 &&
23954         MI->getOperand(0).isReg() &&
23955         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23956         MI->getOperand(1).isReg() &&
23957         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23958         MI->getOperand(2).isImm() &&
23959         MI->getOperand(2).getImm() == 31 &&
23960         MI->getOperand(3).isImm() &&
23961         MI->getOperand(3).getImm() == 1 &&
23967     if (MI->getNumOperands() == 4 &&
23968         MI->getOperand(0).isReg() &&
23969         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
23970         MI->getOperand(1).isReg() &&
23971         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
23972         MI->getOperand(3).isImm() &&
23973         MI->getOperand(3).getImm() == 1 &&
23981     if (MI->getNumOperands() == 4 &&
23982         MI->getOperand(0).isReg() &&
23983         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23984         MI->getOperand(2).isImm() &&
23985         MI->getOperand(2).getImm() == 31 &&
23986         MI->getOperand(3).isImm() &&
23987         MI->getOperand(3).getImm() == 1 &&
23993     if (MI->getNumOperands() == 4 &&
23994         MI->getOperand(0).isReg() &&
23995         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
23996         MI->getOperand(3).isImm() &&
23997         MI->getOperand(3).getImm() == 1 &&
24005     if (MI->getNumOperands() == 4 &&
24006         MI->getOperand(0).isReg() &&
24007         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24008         MI->getOperand(2).isImm() &&
24009         MI->getOperand(2).getImm() == 31 &&
24010         MI->getOperand(3).isImm() &&
24011         MI->getOperand(3).getImm() == 1 &&
24017     if (MI->getNumOperands() == 4 &&
24018         MI->getOperand(0).isReg() &&
24019         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24020         MI->getOperand(3).isImm() &&
24021         MI->getOperand(3).getImm() == 1 &&
24029     if (MI->getNumOperands() == 4 &&
24030         MI->getOperand(0).isReg() &&
24031         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24032         MI->getOperand(1).isReg() &&
24033         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
24034         MI->getOperand(2).isImm() &&
24035         MI->getOperand(2).getImm() == 31 &&
24036         MI->getOperand(3).isImm() &&
24037         MI->getOperand(3).getImm() == 1 &&
24043     if (MI->getNumOperands() == 4 &&
24044         MI->getOperand(0).isReg() &&
24045         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24046         MI->getOperand(1).isReg() &&
24047         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
24048         MI->getOperand(3).isImm() &&
24049         MI->getOperand(3).getImm() == 1 &&
24057     if (MI->getNumOperands() == 4 &&
24058         MI->getOperand(0).isReg() &&
24059         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24060         MI->getOperand(2).isImm() &&
24061         MI->getOperand(2).getImm() == 31 &&
24062         MI->getOperand(3).isImm() &&
24063         MI->getOperand(3).getImm() == 1 &&
24069     if (MI->getNumOperands() == 4 &&
24070         MI->getOperand(0).isReg() &&
24071         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24072         MI->getOperand(3).isImm() &&
24073         MI->getOperand(3).getImm() == 1 &&
24081     if (MI->getNumOperands() == 4 &&
24082         MI->getOperand(0).isReg() &&
24083         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24084         MI->getOperand(2).isImm() &&
24085         MI->getOperand(2).getImm() == 31 &&
24086         MI->getOperand(3).isImm() &&
24087         MI->getOperand(3).getImm() == 1 &&
24093     if (MI->getNumOperands() == 4 &&
24094         MI->getOperand(0).isReg() &&
24095         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24096         MI->getOperand(3).isImm() &&
24097         MI->getOperand(3).getImm() == 1 &&
24105     if (MI->getNumOperands() == 4 &&
24106         MI->getOperand(0).isReg() &&
24107         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24108         MI->getOperand(1).isReg() &&
24109         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
24110         MI->getOperand(2).isImm() &&
24111         MI->getOperand(2).getImm() == 31 &&
24112         MI->getOperand(3).isImm() &&
24113         MI->getOperand(3).getImm() == 1 &&
24119     if (MI->getNumOperands() == 4 &&
24120         MI->getOperand(0).isReg() &&
24121         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
24122         MI->getOperand(1).isReg() &&
24123         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
24124         MI->getOperand(3).isImm() &&
24125         MI->getOperand(3).getImm() == 1 &&
24133     if (MI->getNumOperands() == 4 &&
24134         MI->getOperand(0).isReg() &&
24135         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24136         MI->getOperand(2).isImm() &&
24137         MI->getOperand(2).getImm() == 31 &&
24138         MI->getOperand(3).isImm() &&
24139         MI->getOperand(3).getImm() == 1 &&
24145     if (MI->getNumOperands() == 4 &&
24146         MI->getOperand(0).isReg() &&
24147         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24148         MI->getOperand(3).isImm() &&
24149         MI->getOperand(3).getImm() == 1 &&
24157     if (MI->getNumOperands() == 4 &&
24158         MI->getOperand(0).isReg() &&
24159         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24160         MI->getOperand(1).isReg() &&
24161         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24162         MI->getOperand(2).isReg() &&
24163         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
24164         MI->getOperand(3).isImm() &&
24165         MI->getOperand(3).getImm() == 0 &&
24173     if (MI->getNumOperands() == 4 &&
24174         MI->getOperand(0).isReg() &&
24175         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24176         MI->getOperand(1).isReg() &&
24177         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24178         MI->getOperand(2).isReg() &&
24179         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
24180         MI->getOperand(3).isImm() &&
24181         MI->getOperand(3).getImm() == 0 &&
24189     if (MI->getNumOperands() == 4 &&
24190         MI->getOperand(0).isReg() &&
24191         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24192         MI->getOperand(1).isReg() &&
24193         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24194         MI->getOperand(2).isReg() &&
24195         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
24196         MI->getOperand(3).isImm() &&
24197         MI->getOperand(3).getImm() == 0 &&
24205     if (MI->getNumOperands() == 4 &&
24206         MI->getOperand(0).isReg() &&
24207         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24208         MI->getOperand(1).isReg() &&
24209         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24210         MI->getOperand(2).isReg() &&
24211         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
24212         MI->getOperand(3).isImm() &&
24213         MI->getOperand(3).getImm() == 0 &&
24221     if (MI->getNumOperands() == 4 &&
24222         MI->getOperand(0).isReg() &&
24223         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24224         MI->getOperand(1).isReg() &&
24225         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24226         MI->getOperand(2).isReg() &&
24227         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
24228         MI->getOperand(3).isImm() &&
24229         MI->getOperand(3).getImm() == 0 &&
24237     if (MI->getNumOperands() == 4 &&
24238         MI->getOperand(0).isReg() &&
24239         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24240         MI->getOperand(1).isReg() &&
24241         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24242         MI->getOperand(2).isReg() &&
24243         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
24244         MI->getOperand(3).isImm() &&
24245         MI->getOperand(3).getImm() == 0 &&
24253     if (MI->getNumOperands() == 4 &&
24254         MI->getOperand(0).isReg() &&
24255         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24256         MI->getOperand(1).isReg() &&
24257         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24258         MI->getOperand(2).isReg() &&
24259         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
24260         MI->getOperand(3).isImm() &&
24261         MI->getOperand(3).getImm() == 0 &&
24269     if (MI->getNumOperands() == 4 &&
24270         MI->getOperand(0).isReg() &&
24271         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24272         MI->getOperand(1).isReg() &&
24273         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24274         MI->getOperand(2).isReg() &&
24275         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24276         MI->getOperand(3).isImm() &&
24277         MI->getOperand(3).getImm() == 0 &&
24285     if (MI->getNumOperands() == 4 &&
24286         MI->getOperand(0).isReg() &&
24287         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24288         MI->getOperand(1).isReg() &&
24289         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24290         MI->getOperand(2).isReg() &&
24291         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24292         MI->getOperand(3).isImm() &&
24293         MI->getOperand(3).getImm() == 0 &&
24301     if (MI->getNumOperands() == 4 &&
24302         MI->getOperand(0).isReg() &&
24303         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24304         MI->getOperand(1).isReg() &&
24305         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24306         MI->getOperand(2).isReg() &&
24307         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24308         MI->getOperand(3).isImm() &&
24309         MI->getOperand(3).getImm() == 0 &&
24317     if (MI->getNumOperands() == 4 &&
24318         MI->getOperand(0).isReg() &&
24319         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24320         MI->getOperand(1).isReg() &&
24321         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24322         MI->getOperand(2).isReg() &&
24323         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24324         MI->getOperand(3).isImm() &&
24325         MI->getOperand(3).getImm() == 0 &&
24333     if (MI->getNumOperands() == 4 &&
24334         MI->getOperand(0).isReg() &&
24335         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24336         MI->getOperand(1).isReg() &&
24337         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24338         MI->getOperand(2).isReg() &&
24339         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24340         MI->getOperand(3).isImm() &&
24341         MI->getOperand(3).getImm() == 0 &&
24349     if (MI->getNumOperands() == 4 &&
24350         MI->getOperand(0).isReg() &&
24351         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24352         MI->getOperand(1).isReg() &&
24353         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24354         MI->getOperand(3).getReg() == AArch64::XZR &&
24362     if (MI->getNumOperands() == 4 &&
24363         MI->getOperand(0).isReg() &&
24364         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24365         MI->getOperand(1).isReg() &&
24366         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
24367         MI->getOperand(3).getReg() == AArch64::XZR &&
24375     if (MI->getNumOperands() == 4 &&
24376         MI->getOperand(0).isReg() &&
24377         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24378         MI->getOperand(1).isReg() &&
24379         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24380         MI->getOperand(3).getReg() == AArch64::XZR &&
24388     if (MI->getNumOperands() == 4 &&
24389         MI->getOperand(0).isReg() &&
24390         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24391         MI->getOperand(1).isReg() &&
24392         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
24393         MI->getOperand(3).getReg() == AArch64::XZR &&
24401     if (MI->getNumOperands() == 4 &&
24402         MI->getOperand(0).isReg() &&
24403         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24404         MI->getOperand(1).isReg() &&
24405         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
24406         MI->getOperand(3).getReg() == AArch64::XZR &&
24414     if (MI->getNumOperands() == 4 &&
24415         MI->getOperand(0).isReg() &&
24416         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24417         MI->getOperand(1).isReg() &&
24418         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24419         MI->getOperand(3).getReg() == AArch64::XZR &&
24427     if (MI->getNumOperands() == 4 &&
24428         MI->getOperand(0).isReg() &&
24429         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24430         MI->getOperand(1).isReg() &&
24431         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
24432         MI->getOperand(3).getReg() == AArch64::XZR &&
24440     if (MI->getNumOperands() == 4 &&
24441         MI->getOperand(0).isReg() &&
24442         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24443         MI->getOperand(1).isReg() &&
24444         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24445         MI->getOperand(3).getReg() == AArch64::XZR &&
24453     if (MI->getNumOperands() == 4 &&
24454         MI->getOperand(0).isReg() &&
24455         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24456         MI->getOperand(1).isReg() &&
24457         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24458         MI->getOperand(2).isReg() &&
24459         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24460         MI->getOperand(3).isImm() &&
24461         MI->getOperand(3).getImm() == 0 &&
24469     if (MI->getNumOperands() == 4 &&
24470         MI->getOperand(0).isReg() &&
24471         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24472         MI->getOperand(1).isReg() &&
24473         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24474         MI->getOperand(2).isReg() &&
24475         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24476         MI->getOperand(3).isImm() &&
24477         MI->getOperand(3).getImm() == 0 &&
24485     if (MI->getNumOperands() == 4 &&
24486         MI->getOperand(0).isReg() &&
24487         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24488         MI->getOperand(1).isReg() &&
24489         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24490         MI->getOperand(2).isReg() &&
24491         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24492         MI->getOperand(3).isImm() &&
24493         MI->getOperand(3).getImm() == 0 &&
24501     if (MI->getNumOperands() == 4 &&
24502         MI->getOperand(0).isReg() &&
24503         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24504         MI->getOperand(1).isReg() &&
24505         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
24506         MI->getOperand(3).getReg() == AArch64::XZR &&
24514     if (MI->getNumOperands() == 4 &&
24515         MI->getOperand(0).isReg() &&
24516         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24517         MI->getOperand(1).isReg() &&
24518         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
24519         MI->getOperand(3).getReg() == AArch64::XZR &&
24527     if (MI->getNumOperands() == 4 &&
24528         MI->getOperand(0).isReg() &&
24529         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24530         MI->getOperand(1).isReg() &&
24531         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
24532         MI->getOperand(3).getReg() == AArch64::XZR &&
24540     if (MI->getNumOperands() == 4 &&
24541         MI->getOperand(0).isReg() &&
24542         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24543         MI->getOperand(1).isReg() &&
24544         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
24545         MI->getOperand(3).getReg() == AArch64::XZR &&
24553     if (MI->getNumOperands() == 4 &&
24554         MI->getOperand(0).isReg() &&
24555         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24556         MI->getOperand(1).isReg() &&
24557         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
24558         MI->getOperand(3).getReg() == AArch64::XZR &&
24566     if (MI->getNumOperands() == 4 &&
24567         MI->getOperand(0).isReg() &&
24568         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24569         MI->getOperand(1).isReg() &&
24570         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
24571         MI->getOperand(3).getReg() == AArch64::XZR &&
24579     if (MI->getNumOperands() == 4 &&
24580         MI->getOperand(0).isReg() &&
24581         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24582         MI->getOperand(1).isReg() &&
24583         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
24584         MI->getOperand(3).getReg() == AArch64::XZR &&
24592     if (MI->getNumOperands() == 4 &&
24593         MI->getOperand(0).isReg() &&
24594         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24595         MI->getOperand(1).isReg() &&
24596         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
24597         MI->getOperand(3).getReg() == AArch64::XZR &&
24605     if (MI->getNumOperands() == 4 &&
24606         MI->getOperand(0).isReg() &&
24607         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24608         MI->getOperand(1).isReg() &&
24609         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24610         MI->getOperand(3).getReg() == AArch64::XZR &&
24618     if (MI->getNumOperands() == 4 &&
24619         MI->getOperand(0).isReg() &&
24620         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24621         MI->getOperand(1).isReg() &&
24622         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
24623         MI->getOperand(3).getReg() == AArch64::XZR &&
24631     if (MI->getNumOperands() == 4 &&
24632         MI->getOperand(0).isReg() &&
24633         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24634         MI->getOperand(1).isReg() &&
24635         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24636         MI->getOperand(3).getReg() == AArch64::XZR &&
24644     if (MI->getNumOperands() == 4 &&
24645         MI->getOperand(0).isReg() &&
24646         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24647         MI->getOperand(1).isReg() &&
24648         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
24649         MI->getOperand(3).getReg() == AArch64::XZR &&
24657     if (MI->getNumOperands() == 4 &&
24658         MI->getOperand(0).isReg() &&
24659         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24660         MI->getOperand(1).isReg() &&
24661         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
24662         MI->getOperand(3).getReg() == AArch64::XZR &&
24670     if (MI->getNumOperands() == 4 &&
24671         MI->getOperand(0).isReg() &&
24672         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24673         MI->getOperand(1).isReg() &&
24674         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24675         MI->getOperand(3).getReg() == AArch64::XZR &&
24683     if (MI->getNumOperands() == 4 &&
24684         MI->getOperand(0).isReg() &&
24685         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24686         MI->getOperand(1).isReg() &&
24687         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
24688         MI->getOperand(3).getReg() == AArch64::XZR &&
24696     if (MI->getNumOperands() == 4 &&
24697         MI->getOperand(0).isReg() &&
24698         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24699         MI->getOperand(1).isReg() &&
24700         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
24701         MI->getOperand(3).getReg() == AArch64::XZR &&
24709     if (MI->getNumOperands() == 4 &&
24710         MI->getOperand(0).isReg() &&
24711         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24712         MI->getOperand(1).isReg() &&
24713         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24714         MI->getOperand(3).getReg() == AArch64::XZR &&
24722     if (MI->getNumOperands() == 4 &&
24723         MI->getOperand(0).isReg() &&
24724         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24725         MI->getOperand(1).isReg() &&
24726         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
24727         MI->getOperand(3).getReg() == AArch64::XZR &&
24735     if (MI->getNumOperands() == 4 &&
24736         MI->getOperand(0).isReg() &&
24737         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24738         MI->getOperand(1).isReg() &&
24739         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24740         MI->getOperand(3).getReg() == AArch64::XZR &&
24748     if (MI->getNumOperands() == 4 &&
24749         MI->getOperand(0).isReg() &&
24750         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24751         MI->getOperand(1).isReg() &&
24752         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
24753         MI->getOperand(3).getReg() == AArch64::XZR &&
24761     if (MI->getNumOperands() == 4 &&
24762         MI->getOperand(0).isReg() &&
24763         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24764         MI->getOperand(1).isReg() &&
24765         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
24766         MI->getOperand(3).getReg() == AArch64::XZR &&
24774     if (MI->getNumOperands() == 4 &&
24775         MI->getOperand(0).isReg() &&
24776         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24777         MI->getOperand(1).isReg() &&
24778         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24779         MI->getOperand(3).getReg() == AArch64::XZR &&
24787     if (MI->getNumOperands() == 4 &&
24788         MI->getOperand(0).isReg() &&
24789         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24790         MI->getOperand(1).isReg() &&
24791         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
24792         MI->getOperand(3).getReg() == AArch64::XZR &&
24800     if (MI->getNumOperands() == 4 &&
24801         MI->getOperand(0).isReg() &&
24802         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24803         MI->getOperand(1).isReg() &&
24804         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24805         MI->getOperand(3).getReg() == AArch64::XZR &&
24813     if (MI->getNumOperands() == 4 &&
24814         MI->getOperand(0).isReg() &&
24815         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24816         MI->getOperand(1).isReg() &&
24817         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24818         MI->getOperand(2).isReg() &&
24819         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24820         MI->getOperand(3).isImm() &&
24821         MI->getOperand(3).getImm() == 0 &&
24829     if (MI->getNumOperands() == 4 &&
24830         MI->getOperand(0).isReg() &&
24831         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
24832         MI->getOperand(1).isReg() &&
24833         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24834         MI->getOperand(2).isReg() &&
24835         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24836         MI->getOperand(3).isImm() &&
24837         MI->getOperand(3).getImm() == 0 &&
24845     if (MI->getNumOperands() == 5 &&
24846         MI->getOperand(0).isReg() &&
24847         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24848         MI->getOperand(1).isReg() &&
24849         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
24850         MI->getOperand(4).getReg() == AArch64::XZR &&
24858     if (MI->getNumOperands() == 5 &&
24859         MI->getOperand(0).isReg() &&
24860         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24861         MI->getOperand(1).isReg() &&
24862         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
24863         MI->getOperand(4).getReg() == AArch64::XZR &&
24871     if (MI->getNumOperands() == 5 &&
24872         MI->getOperand(0).isReg() &&
24873         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24874         MI->getOperand(1).isReg() &&
24875         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
24876         MI->getOperand(4).getReg() == AArch64::XZR &&
24884     if (MI->getNumOperands() == 5 &&
24885         MI->getOperand(0).isReg() &&
24886         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24887         MI->getOperand(1).isReg() &&
24888         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
24889         MI->getOperand(4).getReg() == AArch64::XZR &&
24897     if (MI->getNumOperands() == 4 &&
24898         MI->getOperand(0).isReg() &&
24899         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
24900         MI->getOperand(1).isReg() &&
24901         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24902         MI->getOperand(2).isReg() &&
24903         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24904         MI->getOperand(3).isImm() &&
24905         MI->getOperand(3).getImm() == 0 &&
24913     if (MI->getNumOperands() == 4 &&
24914         MI->getOperand(0).isReg() &&
24915         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
24916         MI->getOperand(1).isReg() &&
24917         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24918         MI->getOperand(2).isReg() &&
24919         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24920         MI->getOperand(3).isImm() &&
24921         MI->getOperand(3).getImm() == 0 &&
24929     if (MI->getNumOperands() == 3 &&
24930         MI->getOperand(0).isReg() &&
24931         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24932         MI->getOperand(1).isReg() &&
24933         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
24934         MI->getOperand(2).isImm() &&
24935         MI->getOperand(2).getImm() == 0 &&
24943     if (MI->getNumOperands() == 4 &&
24944         MI->getOperand(0).isReg() &&
24945         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
24946         MI->getOperand(1).isReg() &&
24947         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
24948         MI->getOperand(2).isReg() &&
24949         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
24950         MI->getOperand(3).isImm() &&
24951         MI->getOperand(3).getImm() == 0 &&
24959     if (MI->getNumOperands() == 4 &&
24960         MI->getOperand(0).isReg() &&
24961         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24962         MI->getOperand(1).isReg() &&
24963         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24964         MI->getOperand(3).getReg() == AArch64::XZR &&
24972     if (MI->getNumOperands() == 4 &&
24973         MI->getOperand(0).isReg() &&
24974         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24975         MI->getOperand(1).isReg() &&
24976         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
24977         MI->getOperand(3).getReg() == AArch64::XZR &&
24985     if (MI->getNumOperands() == 4 &&
24986         MI->getOperand(0).isReg() &&
24987         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
24988         MI->getOperand(1).isReg() &&
24989         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
24990         MI->getOperand(3).getReg() == AArch64::XZR &&
24998     if (MI->getNumOperands() == 4 &&
24999         MI->getOperand(0).isReg() &&
25000         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25001         MI->getOperand(1).isReg() &&
25002         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
25003         MI->getOperand(3).getReg() == AArch64::XZR &&
25011     if (MI->getNumOperands() == 4 &&
25012         MI->getOperand(0).isReg() &&
25013         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25014         MI->getOperand(1).isReg() &&
25015         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
25016         MI->getOperand(3).getReg() == AArch64::XZR &&
25024     if (MI->getNumOperands() == 4 &&
25025         MI->getOperand(0).isReg() &&
25026         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25027         MI->getOperand(1).isReg() &&
25028         MRI.getRegClass(AArch64::DDRegClassID).contains(MI->getOperand(1).getReg()) &&
25029         MI->getOperand(3).getReg() == AArch64::XZR &&
25037     if (MI->getNumOperands() == 4 &&
25038         MI->getOperand(0).isReg() &&
25039         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25040         MI->getOperand(1).isReg() &&
25041         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
25042         MI->getOperand(3).getReg() == AArch64::XZR &&
25050     if (MI->getNumOperands() == 4 &&
25051         MI->getOperand(0).isReg() &&
25052         MRI.getRegClass(AArch64::ZPR2RegClassID).contains(MI->getOperand(0).getReg()) &&
25053         MI->getOperand(1).isReg() &&
25054         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25055         MI->getOperand(2).isReg() &&
25056         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25057         MI->getOperand(3).isImm() &&
25058         MI->getOperand(3).getImm() == 0 &&
25066     if (MI->getNumOperands() == 5 &&
25067         MI->getOperand(0).isReg() &&
25068         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25069         MI->getOperand(1).isReg() &&
25070         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
25071         MI->getOperand(4).getReg() == AArch64::XZR &&
25079     if (MI->getNumOperands() == 5 &&
25080         MI->getOperand(0).isReg() &&
25081         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25082         MI->getOperand(1).isReg() &&
25083         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
25084         MI->getOperand(4).getReg() == AArch64::XZR &&
25092     if (MI->getNumOperands() == 5 &&
25093         MI->getOperand(0).isReg() &&
25094         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25095         MI->getOperand(1).isReg() &&
25096         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
25097         MI->getOperand(4).getReg() == AArch64::XZR &&
25105     if (MI->getNumOperands() == 5 &&
25106         MI->getOperand(0).isReg() &&
25107         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25108         MI->getOperand(1).isReg() &&
25109         MRI.getRegClass(AArch64::QQRegClassID).contains(MI->getOperand(1).getReg()) &&
25110         MI->getOperand(4).getReg() == AArch64::XZR &&
25118     if (MI->getNumOperands() == 4 &&
25119         MI->getOperand(0).isReg() &&
25120         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
25121         MI->getOperand(1).isReg() &&
25122         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25123         MI->getOperand(2).isReg() &&
25124         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25125         MI->getOperand(3).isImm() &&
25126         MI->getOperand(3).getImm() == 0 &&
25134     if (MI->getNumOperands() == 4 &&
25135         MI->getOperand(0).isReg() &&
25136         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
25137         MI->getOperand(1).isReg() &&
25138         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25139         MI->getOperand(2).isReg() &&
25140         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25141         MI->getOperand(3).isImm() &&
25142         MI->getOperand(3).getImm() == 0 &&
25150     if (MI->getNumOperands() == 4 &&
25151         MI->getOperand(0).isReg() &&
25152         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
25153         MI->getOperand(1).isReg() &&
25154         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25155         MI->getOperand(2).isReg() &&
25156         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25157         MI->getOperand(3).isImm() &&
25158         MI->getOperand(3).getImm() == 0 &&
25166     if (MI->getNumOperands() == 4 &&
25167         MI->getOperand(0).isReg() &&
25168         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25169         MI->getOperand(1).isReg() &&
25170         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25171         MI->getOperand(3).getReg() == AArch64::XZR &&
25179     if (MI->getNumOperands() == 4 &&
25180         MI->getOperand(0).isReg() &&
25181         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25182         MI->getOperand(1).isReg() &&
25183         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25184         MI->getOperand(3).getReg() == AArch64::XZR &&
25192     if (MI->getNumOperands() == 4 &&
25193         MI->getOperand(0).isReg() &&
25194         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25195         MI->getOperand(1).isReg() &&
25196         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
25197         MI->getOperand(3).getReg() == AArch64::XZR &&
25205     if (MI->getNumOperands() == 4 &&
25206         MI->getOperand(0).isReg() &&
25207         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25208         MI->getOperand(1).isReg() &&
25209         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
25210         MI->getOperand(3).getReg() == AArch64::XZR &&
25218     if (MI->getNumOperands() == 4 &&
25219         MI->getOperand(0).isReg() &&
25220         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25221         MI->getOperand(1).isReg() &&
25222         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25223         MI->getOperand(3).getReg() == AArch64::XZR &&
25231     if (MI->getNumOperands() == 4 &&
25232         MI->getOperand(0).isReg() &&
25233         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25234         MI->getOperand(1).isReg() &&
25235         MRI.getRegClass(AArch64::DDDRegClassID).contains(MI->getOperand(1).getReg()) &&
25236         MI->getOperand(3).getReg() == AArch64::XZR &&
25244     if (MI->getNumOperands() == 4 &&
25245         MI->getOperand(0).isReg() &&
25246         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25247         MI->getOperand(1).isReg() &&
25248         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25249         MI->getOperand(3).getReg() == AArch64::XZR &&
25257     if (MI->getNumOperands() == 4 &&
25258         MI->getOperand(0).isReg() &&
25259         MRI.getRegClass(AArch64::ZPR3RegClassID).contains(MI->getOperand(0).getReg()) &&
25260         MI->getOperand(1).isReg() &&
25261         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25262         MI->getOperand(2).isReg() &&
25263         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25264         MI->getOperand(3).isImm() &&
25265         MI->getOperand(3).getImm() == 0 &&
25273     if (MI->getNumOperands() == 5 &&
25274         MI->getOperand(0).isReg() &&
25275         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25276         MI->getOperand(1).isReg() &&
25277         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25278         MI->getOperand(4).getReg() == AArch64::XZR &&
25286     if (MI->getNumOperands() == 5 &&
25287         MI->getOperand(0).isReg() &&
25288         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25289         MI->getOperand(1).isReg() &&
25290         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25291         MI->getOperand(4).getReg() == AArch64::XZR &&
25299     if (MI->getNumOperands() == 5 &&
25300         MI->getOperand(0).isReg() &&
25301         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25302         MI->getOperand(1).isReg() &&
25303         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25304         MI->getOperand(4).getReg() == AArch64::XZR &&
25312     if (MI->getNumOperands() == 5 &&
25313         MI->getOperand(0).isReg() &&
25314         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25315         MI->getOperand(1).isReg() &&
25316         MRI.getRegClass(AArch64::QQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25317         MI->getOperand(4).getReg() == AArch64::XZR &&
25325     if (MI->getNumOperands() == 4 &&
25326         MI->getOperand(0).isReg() &&
25327         MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
25328         MI->getOperand(1).isReg() &&
25329         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25330         MI->getOperand(2).isReg() &&
25331         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25332         MI->getOperand(3).isImm() &&
25333         MI->getOperand(3).getImm() == 0 &&
25341     if (MI->getNumOperands() == 4 &&
25342         MI->getOperand(0).isReg() &&
25343         MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
25344         MI->getOperand(1).isReg() &&
25345         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25346         MI->getOperand(2).isReg() &&
25347         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25348         MI->getOperand(3).isImm() &&
25349         MI->getOperand(3).getImm() == 0 &&
25357     if (MI->getNumOperands() == 4 &&
25358         MI->getOperand(0).isReg() &&
25359         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25360         MI->getOperand(1).isReg() &&
25361         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25362         MI->getOperand(3).getReg() == AArch64::XZR &&
25370     if (MI->getNumOperands() == 4 &&
25371         MI->getOperand(0).isReg() &&
25372         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25373         MI->getOperand(1).isReg() &&
25374         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25375         MI->getOperand(3).getReg() == AArch64::XZR &&
25383     if (MI->getNumOperands() == 4 &&
25384         MI->getOperand(0).isReg() &&
25385         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25386         MI->getOperand(1).isReg() &&
25387         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
25388         MI->getOperand(3).getReg() == AArch64::XZR &&
25396     if (MI->getNumOperands() == 4 &&
25397         MI->getOperand(0).isReg() &&
25398         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25399         MI->getOperand(1).isReg() &&
25400         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
25401         MI->getOperand(3).getReg() == AArch64::XZR &&
25409     if (MI->getNumOperands() == 4 &&
25410         MI->getOperand(0).isReg() &&
25411         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25412         MI->getOperand(1).isReg() &&
25413         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25414         MI->getOperand(3).getReg() == AArch64::XZR &&
25422     if (MI->getNumOperands() == 4 &&
25423         MI->getOperand(0).isReg() &&
25424         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25425         MI->getOperand(1).isReg() &&
25426         MRI.getRegClass(AArch64::DDDDRegClassID).contains(MI->getOperand(1).getReg()) &&
25427         MI->getOperand(3).getReg() == AArch64::XZR &&
25435     if (MI->getNumOperands() == 4 &&
25436         MI->getOperand(0).isReg() &&
25437         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25438         MI->getOperand(1).isReg() &&
25439         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25440         MI->getOperand(3).getReg() == AArch64::XZR &&
25448     if (MI->getNumOperands() == 4 &&
25449         MI->getOperand(0).isReg() &&
25450         MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
25451         MI->getOperand(1).isReg() &&
25452         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25453         MI->getOperand(2).isReg() &&
25454         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25455         MI->getOperand(3).isImm() &&
25456         MI->getOperand(3).getImm() == 0 &&
25464     if (MI->getNumOperands() == 4 &&
25465         MI->getOperand(0).isReg() &&
25466         MRI.getRegClass(AArch64::ZPR4RegClassID).contains(MI->getOperand(0).getReg()) &&
25467         MI->getOperand(1).isReg() &&
25468         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25469         MI->getOperand(2).isReg() &&
25470         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25471         MI->getOperand(3).isImm() &&
25472         MI->getOperand(3).getImm() == 0 &&
25480     if (MI->getNumOperands() == 5 &&
25481         MI->getOperand(0).isReg() &&
25482         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25483         MI->getOperand(1).isReg() &&
25484         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25485         MI->getOperand(4).getReg() == AArch64::XZR &&
25493     if (MI->getNumOperands() == 5 &&
25494         MI->getOperand(0).isReg() &&
25495         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25496         MI->getOperand(1).isReg() &&
25497         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25498         MI->getOperand(4).getReg() == AArch64::XZR &&
25506     if (MI->getNumOperands() == 5 &&
25507         MI->getOperand(0).isReg() &&
25508         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25509         MI->getOperand(1).isReg() &&
25510         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25511         MI->getOperand(4).getReg() == AArch64::XZR &&
25519     if (MI->getNumOperands() == 5 &&
25520         MI->getOperand(0).isReg() &&
25521         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
25522         MI->getOperand(1).isReg() &&
25523         MRI.getRegClass(AArch64::QQQQRegClassID).contains(MI->getOperand(1).getReg()) &&
25524         MI->getOperand(4).getReg() == AArch64::XZR &&
25532     if (MI->getNumOperands() == 3 &&
25533         MI->getOperand(0).isReg() &&
25534         MRI.getRegClass(AArch64::GPR64spRegClassID).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 &&
25546     if (MI->getNumOperands() == 4 &&
25547         MI->getOperand(0).isReg() &&
25548         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25549         MI->getOperand(1).isReg() &&
25550         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
25551         MI->getOperand(2).isReg() &&
25552         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25553         MI->getOperand(3).isImm() &&
25554         MI->getOperand(3).getImm() == 0 &&
25562     if (MI->getNumOperands() == 3 &&
25563         MI->getOperand(0).isReg() &&
25564         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25565         MI->getOperand(1).isReg() &&
25566         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25567         MI->getOperand(2).isImm() &&
25568         MI->getOperand(2).getImm() == 0 &&
25576     if (MI->getNumOperands() == 3 &&
25577         MI->getOperand(0).isReg() &&
25578         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25579         MI->getOperand(1).isReg() &&
25580         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25581         MI->getOperand(2).isImm() &&
25582         MI->getOperand(2).getImm() == 0 &&
25590     if (MI->getNumOperands() == 3 &&
25591         MI->getOperand(0).isReg() &&
25592         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25593         MI->getOperand(1).isReg() &&
25594         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25595         MI->getOperand(2).isImm() &&
25596         MI->getOperand(2).getImm() == 0 &&
25604     if (MI->getNumOperands() == 3 &&
25605         MI->getOperand(0).isReg() &&
25606         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25607         MI->getOperand(1).isReg() &&
25608         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25609         MI->getOperand(2).isImm() &&
25610         MI->getOperand(2).getImm() == 0 &&
25618     if (MI->getNumOperands() == 4 &&
25619         MI->getOperand(0).isReg() &&
25620         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25621         MI->getOperand(1).isReg() &&
25622         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
25623         MI->getOperand(2).isReg() &&
25624         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25625         MI->getOperand(3).isImm() &&
25626         MI->getOperand(3).getImm() == 0) {
25633     if (MI->getNumOperands() == 4 &&
25634         MI->getOperand(0).isReg() &&
25635         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
25636         MI->getOperand(1).isReg() &&
25637         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
25638         MI->getOperand(2).isReg() &&
25639         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25640         MI->getOperand(3).isImm() &&
25641         MI->getOperand(3).getImm() == 0) {
25648     if (MI->getNumOperands() == 4 &&
25649         MI->getOperand(0).isReg() &&
25650         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25651         MI->getOperand(1).isReg() &&
25652         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
25653         MI->getOperand(2).isReg() &&
25654         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25655         MI->getOperand(3).isImm() &&
25656         MI->getOperand(3).getImm() == 0) {
25663     if (MI->getNumOperands() == 4 &&
25664         MI->getOperand(0).isReg() &&
25665         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25666         MI->getOperand(1).isReg() &&
25667         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
25668         MI->getOperand(2).isReg() &&
25669         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25670         MI->getOperand(3).isImm() &&
25671         MI->getOperand(3).getImm() == 0) {
25678     if (MI->getNumOperands() == 4 &&
25679         MI->getOperand(0).isReg() &&
25680         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25681         MI->getOperand(1).isReg() &&
25682         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
25683         MI->getOperand(2).isReg() &&
25684         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25685         MI->getOperand(3).isImm() &&
25686         MI->getOperand(3).getImm() == 0) {
25693     if (MI->getNumOperands() == 4 &&
25694         MI->getOperand(0).isReg() &&
25695         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25696         MI->getOperand(1).isReg() &&
25697         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25698         MI->getOperand(2).isReg() &&
25699         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25700         MI->getOperand(3).isImm() &&
25701         MI->getOperand(3).getImm() == 0 &&
25709     if (MI->getNumOperands() == 4 &&
25710         MI->getOperand(0).isReg() &&
25711         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25712         MI->getOperand(1).isReg() &&
25713         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25714         MI->getOperand(2).isReg() &&
25715         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
25716         MI->getOperand(3).getReg() == AArch64::XZR &&
25724     if (MI->getNumOperands() == 4 &&
25725         MI->getOperand(0).isReg() &&
25726         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25727         MI->getOperand(1).isReg() &&
25728         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25729         MI->getOperand(2).isReg() &&
25730         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
25731         MI->getOperand(3).getReg() == AArch64::XZR &&
25739     if (MI->getNumOperands() == 4 &&
25740         MI->getOperand(0).isReg() &&
25741         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25742         MI->getOperand(1).isReg() &&
25743         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25744         MI->getOperand(2).isReg() &&
25745         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25746         MI->getOperand(3).isImm() &&
25747         MI->getOperand(3).getImm() == 0 &&
25755     if (MI->getNumOperands() == 4 &&
25756         MI->getOperand(0).isReg() &&
25757         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25758         MI->getOperand(1).isReg() &&
25759         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25760         MI->getOperand(2).isReg() &&
25761         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
25762         MI->getOperand(3).getReg() == AArch64::XZR &&
25770     if (MI->getNumOperands() == 4 &&
25771         MI->getOperand(0).isReg() &&
25772         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25773         MI->getOperand(1).isReg() &&
25774         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25775         MI->getOperand(2).isReg() &&
25776         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25777         MI->getOperand(3).isImm() &&
25778         MI->getOperand(3).getImm() == 0 &&
25786     if (MI->getNumOperands() == 4 &&
25787         MI->getOperand(0).isReg() &&
25788         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25789         MI->getOperand(1).isReg() &&
25790         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25791         MI->getOperand(2).isReg() &&
25792         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
25793         MI->getOperand(3).getReg() == AArch64::XZR &&
25801     if (MI->getNumOperands() == 4 &&
25802         MI->getOperand(0).isReg() &&
25803         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25804         MI->getOperand(1).isReg() &&
25805         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25806         MI->getOperand(2).isReg() &&
25807         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
25808         MI->getOperand(3).getReg() == AArch64::XZR &&
25816     if (MI->getNumOperands() == 4 &&
25817         MI->getOperand(0).isReg() &&
25818         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25819         MI->getOperand(1).isReg() &&
25820         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25821         MI->getOperand(2).isReg() &&
25822         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25823         MI->getOperand(3).isImm() &&
25824         MI->getOperand(3).getImm() == 0 &&
25832     if (MI->getNumOperands() == 4 &&
25833         MI->getOperand(0).isReg() &&
25834         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25835         MI->getOperand(1).isReg() &&
25836         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25837         MI->getOperand(2).isReg() &&
25838         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
25839         MI->getOperand(3).getReg() == AArch64::XZR &&
25847     if (MI->getNumOperands() == 4 &&
25848         MI->getOperand(0).isReg() &&
25849         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
25850         MI->getOperand(1).isReg() &&
25851         MRI.getRegClass(AArch64::PPR_3bRegClassID).contains(MI->getOperand(1).getReg()) &&
25852         MI->getOperand(2).isReg() &&
25853         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(2).getReg()) &&
25854         MI->getOperand(3).getReg() == AArch64::XZR &&
25862     if (MI->getNumOperands() == 4 &&
25863         MI->getOperand(0).isReg() &&
25864         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25865         MI->getOperand(1).isReg() &&
25866         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
25867         MI->getOperand(2).isReg() &&
25868         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25869         MI->getOperand(3).isImm() &&
25870         MI->getOperand(3).getImm() == 0) {
25877     if (MI->getNumOperands() == 4 &&
25878         MI->getOperand(0).isReg() &&
25879         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
25880         MI->getOperand(1).isReg() &&
25881         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
25882         MI->getOperand(2).isReg() &&
25883         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25884         MI->getOperand(3).isImm() &&
25885         MI->getOperand(3).getImm() == 0) {
25892     if (MI->getNumOperands() == 4 &&
25893         MI->getOperand(0).isReg() &&
25894         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25895         MI->getOperand(1).isReg() &&
25896         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
25897         MI->getOperand(2).isReg() &&
25898         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25899         MI->getOperand(3).isImm() &&
25900         MI->getOperand(3).getImm() == 0) {
25907     if (MI->getNumOperands() == 4 &&
25908         MI->getOperand(0).isReg() &&
25909         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25910         MI->getOperand(1).isReg() &&
25911         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
25912         MI->getOperand(2).isReg() &&
25913         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25914         MI->getOperand(3).isImm() &&
25915         MI->getOperand(3).getImm() == 0) {
25922     if (MI->getNumOperands() == 4 &&
25923         MI->getOperand(0).isReg() &&
25924         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
25925         MI->getOperand(1).isReg() &&
25926         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
25927         MI->getOperand(2).isReg() &&
25928         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(2).getReg()) &&
25929         MI->getOperand(3).isImm() &&
25930         MI->getOperand(3).getImm() == 0) {
25937     if (MI->getNumOperands() == 5 &&
25938         MI->getOperand(0).isReg() &&
25939         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25940         MI->getOperand(1).isReg() &&
25941         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25942         MI->getOperand(2).isReg() &&
25943         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25944         MI->getOperand(3).isImm() &&
25945         MI->getOperand(3).getImm() == 0 &&
25946         MI->getOperand(4).isImm() &&
25947         MI->getOperand(4).getImm() == 0) {
25954     if (MI->getNumOperands() == 3 &&
25955         MI->getOperand(0).isReg() &&
25956         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
25957         MI->getOperand(1).isReg() &&
25958         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25959         MI->getOperand(2).isImm() &&
25960         MI->getOperand(2).getImm() == 0) {
25967     if (MI->getNumOperands() == 5 &&
25968         MI->getOperand(0).isReg() &&
25969         MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
25970         MI->getOperand(1).isReg() &&
25971         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25972         MI->getOperand(2).isReg() &&
25973         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
25974         MI->getOperand(3).isImm() &&
25975         MI->getOperand(3).getImm() == 0 &&
25976         MI->getOperand(4).isImm() &&
25977         MI->getOperand(4).getImm() == 0) {
25984     if (MI->getNumOperands() == 3 &&
25985         MI->getOperand(0).isReg() &&
25986         MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
25987         MI->getOperand(1).isReg() &&
25988         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
25989         MI->getOperand(2).isImm() &&
25990         MI->getOperand(2).getImm() == 0) {
25997     if (MI->getNumOperands() == 5 &&
25998         MI->getOperand(0).isReg() &&
25999         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26000         MI->getOperand(1).isReg() &&
26001         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26002         MI->getOperand(2).isReg() &&
26003         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26004         MI->getOperand(3).isImm() &&
26005         MI->getOperand(3).getImm() == 0 &&
26006         MI->getOperand(4).isImm() &&
26007         MI->getOperand(4).getImm() == 0) {
26014     if (MI->getNumOperands() == 3 &&
26015         MI->getOperand(0).isReg() &&
26016         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26017         MI->getOperand(1).isReg() &&
26018         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26019         MI->getOperand(2).isImm() &&
26020         MI->getOperand(2).getImm() == 0) {
26027     if (MI->getNumOperands() == 5 &&
26028         MI->getOperand(0).isReg() &&
26029         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26030         MI->getOperand(1).isReg() &&
26031         MRI.getRegClass(AArch64::GPR64spRegClassID).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 &&
26036         MI->getOperand(4).isImm() &&
26037         MI->getOperand(4).getImm() == 0) {
26044     if (MI->getNumOperands() == 3 &&
26045         MI->getOperand(0).isReg() &&
26046         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26047         MI->getOperand(1).isReg() &&
26048         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26049         MI->getOperand(2).isImm() &&
26050         MI->getOperand(2).getImm() == 0) {
26057     if (MI->getNumOperands() == 5 &&
26058         MI->getOperand(0).isReg() &&
26059         MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
26060         MI->getOperand(1).isReg() &&
26061         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26062         MI->getOperand(2).isReg() &&
26063         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26064         MI->getOperand(3).isImm() &&
26065         MI->getOperand(3).getImm() == 0 &&
26066         MI->getOperand(4).isImm() &&
26067         MI->getOperand(4).getImm() == 0) {
26074     if (MI->getNumOperands() == 3 &&
26075         MI->getOperand(0).isReg() &&
26076         MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
26077         MI->getOperand(1).isReg() &&
26078         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26079         MI->getOperand(2).isImm() &&
26080         MI->getOperand(2).getImm() == 0) {
26087     if (MI->getNumOperands() == 5 &&
26088         MI->getOperand(0).isReg() &&
26089         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
26090         MI->getOperand(1).isReg() &&
26091         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26092         MI->getOperand(2).isReg() &&
26093         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26094         MI->getOperand(3).isImm() &&
26095         MI->getOperand(3).getImm() == 0 &&
26096         MI->getOperand(4).isImm() &&
26097         MI->getOperand(4).getImm() == 0) {
26104     if (MI->getNumOperands() == 3 &&
26105         MI->getOperand(0).isReg() &&
26106         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
26107         MI->getOperand(1).isReg() &&
26108         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26109         MI->getOperand(2).isImm() &&
26110         MI->getOperand(2).getImm() == 0) {
26117     if (MI->getNumOperands() == 5 &&
26118         MI->getOperand(0).isReg() &&
26119         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26120         MI->getOperand(1).isReg() &&
26121         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26122         MI->getOperand(2).isReg() &&
26123         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26124         MI->getOperand(3).isImm() &&
26125         MI->getOperand(3).getImm() == 0 &&
26126         MI->getOperand(4).isImm() &&
26127         MI->getOperand(4).getImm() == 0) {
26134     if (MI->getNumOperands() == 3 &&
26135         MI->getOperand(0).isReg() &&
26136         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26137         MI->getOperand(1).isReg() &&
26138         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26139         MI->getOperand(2).isImm() &&
26140         MI->getOperand(2).getImm() == 0) {
26147     if (MI->getNumOperands() == 5 &&
26148         MI->getOperand(0).isReg() &&
26149         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26150         MI->getOperand(1).isReg() &&
26151         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26152         MI->getOperand(2).isReg() &&
26153         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26154         MI->getOperand(3).isImm() &&
26155         MI->getOperand(3).getImm() == 0 &&
26156         MI->getOperand(4).isImm() &&
26157         MI->getOperand(4).getImm() == 0) {
26164     if (MI->getNumOperands() == 3 &&
26165         MI->getOperand(0).isReg() &&
26166         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26167         MI->getOperand(1).isReg() &&
26168         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26169         MI->getOperand(2).isImm() &&
26170         MI->getOperand(2).getImm() == 0) {
26177     if (MI->getNumOperands() == 5 &&
26178         MI->getOperand(0).isReg() &&
26179         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26180         MI->getOperand(1).isReg() &&
26181         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26182         MI->getOperand(2).isReg() &&
26183         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26184         MI->getOperand(3).isImm() &&
26185         MI->getOperand(3).getImm() == 0 &&
26186         MI->getOperand(4).isImm() &&
26187         MI->getOperand(4).getImm() == 0) {
26194     if (MI->getNumOperands() == 3 &&
26195         MI->getOperand(0).isReg() &&
26196         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26197         MI->getOperand(1).isReg() &&
26198         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26199         MI->getOperand(2).isImm() &&
26200         MI->getOperand(2).getImm() == 0) {
26207     if (MI->getNumOperands() == 3 &&
26208         MI->getOperand(0).isReg() &&
26209         MRI.getRegClass(AArch64::PPRRegClassID).contains(MI->getOperand(0).getReg()) &&
26210         MI->getOperand(1).isReg() &&
26211         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26212         MI->getOperand(2).isImm() &&
26213         MI->getOperand(2).getImm() == 0 &&
26221     if (MI->getNumOperands() == 3 &&
26222         MI->getOperand(0).isReg() &&
26223         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
26224         MI->getOperand(1).isReg() &&
26225         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26226         MI->getOperand(2).isImm() &&
26227         MI->getOperand(2).getImm() == 0 &&
26235     if (MI->getNumOperands() == 3 &&
26236         MI->getOperand(0).isReg() &&
26237         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26238         MI->getOperand(1).isReg() &&
26239         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26240         MI->getOperand(2).isImm() &&
26241         MI->getOperand(2).getImm() == 0) {
26248     if (MI->getNumOperands() == 3 &&
26249         MI->getOperand(0).isReg() &&
26250         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26251         MI->getOperand(1).isReg() &&
26252         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26253         MI->getOperand(2).isImm() &&
26254         MI->getOperand(2).getImm() == 0) {
26261     if (MI->getNumOperands() == 3 &&
26262         MI->getOperand(0).isReg() &&
26263         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26264         MI->getOperand(1).isReg() &&
26265         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26266         MI->getOperand(2).isImm() &&
26267         MI->getOperand(2).getImm() == 0) {
26274     if (MI->getNumOperands() == 3 &&
26275         MI->getOperand(0).isReg() &&
26276         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26277         MI->getOperand(1).isReg() &&
26278         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26279         MI->getOperand(2).isImm() &&
26280         MI->getOperand(2).getImm() == 0) {
26287     if (MI->getNumOperands() == 3 &&
26288         MI->getOperand(0).isReg() &&
26289         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26290         MI->getOperand(1).isReg() &&
26291         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26292         MI->getOperand(2).isImm() &&
26293         MI->getOperand(2).getImm() == 0) {
26300     if (MI->getNumOperands() == 3 &&
26301         MI->getOperand(0).isReg() &&
26302         MRI.getRegClass(AArch64::FPR8RegClassID).contains(MI->getOperand(0).getReg()) &&
26303         MI->getOperand(1).isReg() &&
26304         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26305         MI->getOperand(2).isImm() &&
26306         MI->getOperand(2).getImm() == 0) {
26313     if (MI->getNumOperands() == 3 &&
26314         MI->getOperand(0).isReg() &&
26315         MRI.getRegClass(AArch64::FPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26316         MI->getOperand(1).isReg() &&
26317         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26318         MI->getOperand(2).isImm() &&
26319         MI->getOperand(2).getImm() == 0) {
26326     if (MI->getNumOperands() == 3 &&
26327         MI->getOperand(0).isReg() &&
26328         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26329         MI->getOperand(1).isReg() &&
26330         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26331         MI->getOperand(2).isImm() &&
26332         MI->getOperand(2).getImm() == 0) {
26339     if (MI->getNumOperands() == 3 &&
26340         MI->getOperand(0).isReg() &&
26341         MRI.getRegClass(AArch64::FPR16RegClassID).contains(MI->getOperand(0).getReg()) &&
26342         MI->getOperand(1).isReg() &&
26343         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26344         MI->getOperand(2).isImm() &&
26345         MI->getOperand(2).getImm() == 0) {
26352     if (MI->getNumOperands() == 3 &&
26353         MI->getOperand(0).isReg() &&
26354         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(0).getReg()) &&
26355         MI->getOperand(1).isReg() &&
26356         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26357         MI->getOperand(2).isImm() &&
26358         MI->getOperand(2).getImm() == 0) {
26365     if (MI->getNumOperands() == 3 &&
26366         MI->getOperand(0).isReg() &&
26367         MRI.getRegClass(AArch64::FPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26368         MI->getOperand(1).isReg() &&
26369         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26370         MI->getOperand(2).isImm() &&
26371         MI->getOperand(2).getImm() == 0) {
26378     if (MI->getNumOperands() == 3 &&
26379         MI->getOperand(0).isReg() &&
26380         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26381         MI->getOperand(1).isReg() &&
26382         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26383         MI->getOperand(2).isImm() &&
26384         MI->getOperand(2).getImm() == 0) {
26391     if (MI->getNumOperands() == 3 &&
26392         MI->getOperand(0).isReg() &&
26393         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26394         MI->getOperand(1).isReg() &&
26395         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26396         MI->getOperand(2).isImm() &&
26397         MI->getOperand(2).getImm() == 0) {
26404     if (MI->getNumOperands() == 3 &&
26405         MI->getOperand(0).isReg() &&
26406         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
26407         MI->getOperand(1).isReg() &&
26408         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26409         MI->getOperand(2).isImm() &&
26410         MI->getOperand(2).getImm() == 0 &&
26418     if (MI->getNumOperands() == 3 &&
26419         MI->getOperand(0).isReg() &&
26420         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
26421         MI->getOperand(1).isReg() &&
26422         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26423         MI->getOperand(2).isImm() &&
26424         MI->getOperand(2).getImm() == 0 &&
26432     if (MI->getNumOperands() == 4 &&
26433         MI->getOperand(0).getReg() == AArch64::WZR &&
26434         MI->getOperand(1).isReg() &&
26435         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg())) {
26442     if (MI->getNumOperands() == 4 &&
26443         MI->getOperand(0).getReg() == AArch64::WZR &&
26444         MI->getOperand(1).isReg() &&
26445         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
26446         MI->getOperand(2).isReg() &&
26447         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
26448         MI->getOperand(3).isImm() &&
26449         MI->getOperand(3).getImm() == 0) {
26454     if (MI->getNumOperands() == 4 &&
26455         MI->getOperand(0).getReg() == AArch64::WZR &&
26456         MI->getOperand(1).isReg() &&
26457         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
26458         MI->getOperand(2).isReg() &&
26459         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
26464     if (MI->getNumOperands() == 4 &&
26465         MI->getOperand(0).isReg() &&
26466         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26467         MI->getOperand(1).getReg() == AArch64::WZR &&
26468         MI->getOperand(2).isReg() &&
26469         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
26470         MI->getOperand(3).isImm() &&
26471         MI->getOperand(3).getImm() == 0) {
26476     if (MI->getNumOperands() == 4 &&
26477         MI->getOperand(0).isReg() &&
26478         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26479         MI->getOperand(1).getReg() == AArch64::WZR &&
26480         MI->getOperand(2).isReg() &&
26481         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
26486     if (MI->getNumOperands() == 4 &&
26487         MI->getOperand(0).isReg() &&
26488         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26489         MI->getOperand(1).isReg() &&
26490         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
26491         MI->getOperand(2).isReg() &&
26492         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
26493         MI->getOperand(3).isImm() &&
26494         MI->getOperand(3).getImm() == 0) {
26501     if (MI->getNumOperands() == 4 &&
26502         MI->getOperand(0).getReg() == AArch64::WZR &&
26503         MI->getOperand(1).isReg() &&
26504         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
26505         MI->getOperand(2).isReg() &&
26506         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
26507         MI->getOperand(3).isImm() &&
26508         MI->getOperand(3).getImm() == 16) {
26513     if (MI->getNumOperands() == 4 &&
26514         MI->getOperand(0).getReg() == AArch64::WZR &&
26515         MI->getOperand(1).isReg() &&
26516         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
26517         MI->getOperand(2).isReg() &&
26518         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
26523     if (MI->getNumOperands() == 4 &&
26524         MI->getOperand(0).isReg() &&
26525         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26526         MI->getOperand(1).isReg() &&
26527         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
26528         MI->getOperand(2).isReg() &&
26529         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
26530         MI->getOperand(3).isImm() &&
26531         MI->getOperand(3).getImm() == 16) {
26538     if (MI->getNumOperands() == 4 &&
26539         MI->getOperand(0).getReg() == AArch64::XZR &&
26540         MI->getOperand(1).isReg() &&
26541         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg())) {
26548     if (MI->getNumOperands() == 4 &&
26549         MI->getOperand(0).getReg() == AArch64::XZR &&
26550         MI->getOperand(1).isReg() &&
26551         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
26552         MI->getOperand(2).isReg() &&
26553         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26554         MI->getOperand(3).isImm() &&
26555         MI->getOperand(3).getImm() == 0) {
26560     if (MI->getNumOperands() == 4 &&
26561         MI->getOperand(0).getReg() == AArch64::XZR &&
26562         MI->getOperand(1).isReg() &&
26563         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
26564         MI->getOperand(2).isReg() &&
26565         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
26570     if (MI->getNumOperands() == 4 &&
26571         MI->getOperand(0).isReg() &&
26572         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26573         MI->getOperand(1).getReg() == AArch64::XZR &&
26574         MI->getOperand(2).isReg() &&
26575         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26576         MI->getOperand(3).isImm() &&
26577         MI->getOperand(3).getImm() == 0) {
26582     if (MI->getNumOperands() == 4 &&
26583         MI->getOperand(0).isReg() &&
26584         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26585         MI->getOperand(1).getReg() == AArch64::XZR &&
26586         MI->getOperand(2).isReg() &&
26587         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
26592     if (MI->getNumOperands() == 4 &&
26593         MI->getOperand(0).isReg() &&
26594         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26595         MI->getOperand(1).isReg() &&
26596         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
26597         MI->getOperand(2).isReg() &&
26598         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26599         MI->getOperand(3).isImm() &&
26600         MI->getOperand(3).getImm() == 0) {
26607     if (MI->getNumOperands() == 4 &&
26608         MI->getOperand(0).getReg() == AArch64::XZR &&
26609         MI->getOperand(1).isReg() &&
26610         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26611         MI->getOperand(2).isReg() &&
26612         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
26619     if (MI->getNumOperands() == 4 &&
26620         MI->getOperand(0).getReg() == AArch64::XZR &&
26621         MI->getOperand(1).isReg() &&
26622         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
26623         MI->getOperand(2).isReg() &&
26624         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26625         MI->getOperand(3).isImm() &&
26626         MI->getOperand(3).getImm() == 24) {
26631     if (MI->getNumOperands() == 4 &&
26632         MI->getOperand(0).getReg() == AArch64::XZR &&
26633         MI->getOperand(1).isReg() &&
26634         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26635         MI->getOperand(2).isReg() &&
26636         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
26641     if (MI->getNumOperands() == 4 &&
26642         MI->getOperand(0).isReg() &&
26643         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26644         MI->getOperand(1).isReg() &&
26645         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
26646         MI->getOperand(2).isReg() &&
26647         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26648         MI->getOperand(3).isImm() &&
26649         MI->getOperand(3).getImm() == 24) {
26656     if (MI->getNumOperands() == 4 &&
26657         MI->getOperand(0).isReg() &&
26658         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26659         MI->getOperand(1).getReg() == AArch64::WZR &&
26660         MI->getOperand(2).isReg() &&
26661         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
26662         MI->getOperand(3).isImm() &&
26663         MI->getOperand(3).getImm() == 0) {
26668     if (MI->getNumOperands() == 4 &&
26669         MI->getOperand(0).isReg() &&
26670         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26671         MI->getOperand(1).getReg() == AArch64::WZR &&
26672         MI->getOperand(2).isReg() &&
26673         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg())) {
26678     if (MI->getNumOperands() == 4 &&
26679         MI->getOperand(0).isReg() &&
26680         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26681         MI->getOperand(1).isReg() &&
26682         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
26683         MI->getOperand(2).isReg() &&
26684         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
26685         MI->getOperand(3).isImm() &&
26686         MI->getOperand(3).getImm() == 0) {
26693     if (MI->getNumOperands() == 4 &&
26694         MI->getOperand(0).isReg() &&
26695         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
26696         MI->getOperand(1).isReg() &&
26697         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(1).getReg()) &&
26698         MI->getOperand(2).isReg() &&
26699         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
26700         MI->getOperand(3).isImm() &&
26701         MI->getOperand(3).getImm() == 16) {
26706     if (MI->getNumOperands() == 4 &&
26707         MI->getOperand(0).isReg() &&
26708         MRI.getRegClass(AArch64::GPR32spRegClassID).contains(MI->getOperand(0).getReg()) &&
26709         MI->getOperand(1).isReg() &&
26710         MRI.getRegClass(AArch64::GPR32sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
26711         MI->getOperand(2).isReg() &&
26712         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
26713         MI->getOperand(3).isImm() &&
26714         MI->getOperand(3).getImm() == 16) {
26721     if (MI->getNumOperands() == 4 &&
26722         MI->getOperand(0).isReg() &&
26723         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26724         MI->getOperand(1).getReg() == AArch64::XZR &&
26725         MI->getOperand(2).isReg() &&
26726         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26727         MI->getOperand(3).isImm() &&
26728         MI->getOperand(3).getImm() == 0) {
26733     if (MI->getNumOperands() == 4 &&
26734         MI->getOperand(0).isReg() &&
26735         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26736         MI->getOperand(1).getReg() == AArch64::XZR &&
26737         MI->getOperand(2).isReg() &&
26738         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg())) {
26743     if (MI->getNumOperands() == 4 &&
26744         MI->getOperand(0).isReg() &&
26745         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26746         MI->getOperand(1).isReg() &&
26747         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
26748         MI->getOperand(2).isReg() &&
26749         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26750         MI->getOperand(3).isImm() &&
26751         MI->getOperand(3).getImm() == 0) {
26758     if (MI->getNumOperands() == 4 &&
26759         MI->getOperand(0).isReg() &&
26760         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(0).getReg()) &&
26761         MI->getOperand(1).isReg() &&
26762         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(1).getReg()) &&
26763         MI->getOperand(2).isReg() &&
26764         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26765         MI->getOperand(3).isImm() &&
26766         MI->getOperand(3).getImm() == 24) {
26771     if (MI->getNumOperands() == 4 &&
26772         MI->getOperand(0).isReg() &&
26773         MRI.getRegClass(AArch64::GPR64spRegClassID).contains(MI->getOperand(0).getReg()) &&
26774         MI->getOperand(1).isReg() &&
26775         MRI.getRegClass(AArch64::GPR64sponlyRegClassID).contains(MI->getOperand(1).getReg()) &&
26776         MI->getOperand(2).isReg() &&
26777         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(2).getReg()) &&
26778         MI->getOperand(3).isImm() &&
26779         MI->getOperand(3).getImm() == 24) {
26786     if (MI->getNumOperands() == 5 &&
26787         MI->getOperand(4).getReg() == AArch64::XZR) {
26794     if (MI->getNumOperands() == 4 &&
26795         MI->getOperand(0).isReg() &&
26796         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26797         MI->getOperand(1).isReg() &&
26798         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
26799         MI->getOperand(3).isImm() &&
26800         MI->getOperand(3).getImm() == 31) {
26805     if (MI->getNumOperands() == 4 &&
26806         MI->getOperand(0).isReg() &&
26807         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26808         MI->getOperand(1).isReg() &&
26809         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
26810         MI->getOperand(2).isImm() &&
26811         MI->getOperand(2).getImm() == 0 &&
26812         MI->getOperand(3).isImm() &&
26813         MI->getOperand(3).getImm() == 7) {
26818     if (MI->getNumOperands() == 4 &&
26819         MI->getOperand(0).isReg() &&
26820         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26821         MI->getOperand(1).isReg() &&
26822         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
26823         MI->getOperand(2).isImm() &&
26824         MI->getOperand(2).getImm() == 0 &&
26825         MI->getOperand(3).isImm() &&
26826         MI->getOperand(3).getImm() == 15) {
26833     if (MI->getNumOperands() == 4 &&
26834         MI->getOperand(0).isReg() &&
26835         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26836         MI->getOperand(1).isReg() &&
26837         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
26838         MI->getOperand(3).isImm() &&
26839         MI->getOperand(3).getImm() == 63) {
26844     if (MI->getNumOperands() == 4 &&
26845         MI->getOperand(0).isReg() &&
26846         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26847         MI->getOperand(1).isReg() &&
26848         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
26849         MI->getOperand(2).isImm() &&
26850         MI->getOperand(2).getImm() == 0 &&
26851         MI->getOperand(3).isImm() &&
26852         MI->getOperand(3).getImm() == 7) {
26857     if (MI->getNumOperands() == 4 &&
26858         MI->getOperand(0).isReg() &&
26859         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26860         MI->getOperand(1).isReg() &&
26861         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
26862         MI->getOperand(2).isImm() &&
26863         MI->getOperand(2).getImm() == 0 &&
26864         MI->getOperand(3).isImm() &&
26865         MI->getOperand(3).getImm() == 15) {
26870     if (MI->getNumOperands() == 4 &&
26871         MI->getOperand(0).isReg() &&
26872         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26873         MI->getOperand(1).isReg() &&
26874         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(1).getReg()) &&
26875         MI->getOperand(2).isImm() &&
26876         MI->getOperand(2).getImm() == 0 &&
26877         MI->getOperand(3).isImm() &&
26878         MI->getOperand(3).getImm() == 31) {
26885     if (MI->getNumOperands() == 4 &&
26886         MI->getOperand(0).isReg() &&
26887         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26888         MI->getOperand(1).isReg() &&
26889         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
26890         MI->getOperand(2).isReg() &&
26891         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
26892         MI->getOperand(3).getReg() == AArch64::XZR) {
26899     if (MI->getNumOperands() == 3 &&
26900         MI->getOperand(0).isReg() &&
26901         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26902         MI->getOperand(1).isReg() &&
26903         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
26911     if (MI->getNumOperands() == 3 &&
26912         MI->getOperand(0).isReg() &&
26913         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26914         MI->getOperand(1).isReg() &&
26915         MRI.getRegClass(AArch64::FPR128RegClassID).contains(MI->getOperand(1).getReg()) &&
26923     if (MI->getNumOperands() == 4 &&
26924         MI->getOperand(0).isReg() &&
26925         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26926         MI->getOperand(1).isReg() &&
26927         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(1).getReg()) &&
26928         MI->getOperand(2).isReg() &&
26929         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(2).getReg()) &&
26930         MI->getOperand(3).getReg() == AArch64::XZR) {
26937     if (MI->getNumOperands() == 4 &&
26938         MI->getOperand(0).isReg() &&
26939         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26940         MI->getOperand(2).isImm() &&
26941         MI->getOperand(2).getImm() == 31 &&
26942         MI->getOperand(3).isImm() &&
26943         MI->getOperand(3).getImm() == 1 &&
26949     if (MI->getNumOperands() == 4 &&
26950         MI->getOperand(0).isReg() &&
26951         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26952         MI->getOperand(3).isImm() &&
26953         MI->getOperand(3).getImm() == 1 &&
26961     if (MI->getNumOperands() == 4 &&
26962         MI->getOperand(0).isReg() &&
26963         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26964         MI->getOperand(2).isImm() &&
26965         MI->getOperand(2).getImm() == 31 &&
26966         MI->getOperand(3).isImm() &&
26967         MI->getOperand(3).getImm() == 1 &&
26973     if (MI->getNumOperands() == 4 &&
26974         MI->getOperand(0).isReg() &&
26975         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
26976         MI->getOperand(3).isImm() &&
26977         MI->getOperand(3).getImm() == 1 &&
26985     if (MI->getNumOperands() == 4 &&
26986         MI->getOperand(0).isReg() &&
26987         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
26988         MI->getOperand(2).isImm() &&
26989         MI->getOperand(2).getImm() == 31 &&
26990         MI->getOperand(3).isImm() &&
26991         MI->getOperand(3).getImm() == 1 &&
26997     if (MI->getNumOperands() == 4 &&
26998         MI->getOperand(0).isReg() &&
26999         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
27000         MI->getOperand(3).isImm() &&
27001         MI->getOperand(3).getImm() == 1 &&
27009     if (MI->getNumOperands() == 4 &&
27010         MI->getOperand(0).isReg() &&
27011         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
27012         MI->getOperand(2).isImm() &&
27013         MI->getOperand(2).getImm() == 31 &&
27014         MI->getOperand(3).isImm() &&
27015         MI->getOperand(3).getImm() == 1 &&
27021     if (MI->getNumOperands() == 4 &&
27022         MI->getOperand(0).isReg() &&
27023         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
27024         MI->getOperand(3).isImm() &&
27025         MI->getOperand(3).getImm() == 1 &&
27033     if (MI->getNumOperands() == 4 &&
27034         MI->getOperand(0).isReg() &&
27035         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
27036         MI->getOperand(2).isImm() &&
27037         MI->getOperand(2).getImm() == 31 &&
27038         MI->getOperand(3).isImm() &&
27039         MI->getOperand(3).getImm() == 1 &&
27045     if (MI->getNumOperands() == 4 &&
27046         MI->getOperand(0).isReg() &&
27047         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
27048         MI->getOperand(3).isImm() &&
27049         MI->getOperand(3).getImm() == 1 &&
27057     if (MI->getNumOperands() == 4 &&
27058         MI->getOperand(0).isReg() &&
27059         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
27060         MI->getOperand(2).isImm() &&
27061         MI->getOperand(2).getImm() == 31 &&
27062         MI->getOperand(3).isImm() &&
27063         MI->getOperand(3).getImm() == 1 &&
27069     if (MI->getNumOperands() == 4 &&
27070         MI->getOperand(0).isReg() &&
27071         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
27072         MI->getOperand(3).isImm() &&
27073         MI->getOperand(3).getImm() == 1 &&
27081     if (MI->getNumOperands() == 4 &&
27082         MI->getOperand(0).isReg() &&
27083         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
27084         MI->getOperand(2).isImm() &&
27085         MI->getOperand(2).getImm() == 31 &&
27086         MI->getOperand(3).isImm() &&
27087         MI->getOperand(3).getImm() == 1 &&
27093     if (MI->getNumOperands() == 4 &&
27094         MI->getOperand(0).isReg() &&
27095         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
27096         MI->getOperand(3).isImm() &&
27097         MI->getOperand(3).getImm() == 1 &&
27105     if (MI->getNumOperands() == 4 &&
27106         MI->getOperand(0).isReg() &&
27107         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
27108         MI->getOperand(2).isImm() &&
27109         MI->getOperand(2).getImm() == 31 &&
27110         MI->getOperand(3).isImm() &&
27111         MI->getOperand(3).getImm() == 1 &&
27117     if (MI->getNumOperands() == 4 &&
27118         MI->getOperand(0).isReg() &&
27119         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
27120         MI->getOperand(3).isImm() &&
27121         MI->getOperand(3).getImm() == 1 &&
27129     if (MI->getNumOperands() == 4 &&
27130         MI->getOperand(0).isReg() &&
27131         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
27132         MI->getOperand(2).isImm() &&
27133         MI->getOperand(2).getImm() == 31 &&
27134         MI->getOperand(3).isImm() &&
27135         MI->getOperand(3).getImm() == 1 &&
27141     if (MI->getNumOperands() == 4 &&
27142         MI->getOperand(0).isReg() &&
27143         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
27144         MI->getOperand(3).isImm() &&
27145         MI->getOperand(3).getImm() == 1 &&
27153     if (MI->getNumOperands() == 4 &&
27154         MI->getOperand(0).isReg() &&
27155         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
27156         MI->getOperand(2).isImm() &&
27157         MI->getOperand(2).getImm() == 31 &&
27158         MI->getOperand(3).isImm() &&
27159         MI->getOperand(3).getImm() == 1 &&
27165     if (MI->getNumOperands() == 4 &&
27166         MI->getOperand(0).isReg() &&
27167         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
27168         MI->getOperand(3).isImm() &&
27169         MI->getOperand(3).getImm() == 1 &&
27177     if (MI->getNumOperands() == 4 &&
27178         MI->getOperand(0).isReg() &&
27179         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
27180         MI->getOperand(2).isImm() &&
27181         MI->getOperand(2).getImm() == 31 &&
27182         MI->getOperand(3).isImm() &&
27183         MI->getOperand(3).getImm() == 1 &&
27189     if (MI->getNumOperands() == 4 &&
27190         MI->getOperand(0).isReg() &&
27191         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
27192         MI->getOperand(3).isImm() &&
27193         MI->getOperand(3).getImm() == 1 &&
27201     if (MI->getNumOperands() == 4 &&
27202         MI->getOperand(0).isReg() &&
27203         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
27204         MI->getOperand(2).isImm() &&
27205         MI->getOperand(2).getImm() == 31 &&
27206         MI->getOperand(3).isImm() &&
27207         MI->getOperand(3).getImm() == 1 &&
27213     if (MI->getNumOperands() == 4 &&
27214         MI->getOperand(0).isReg() &&
27215         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
27216         MI->getOperand(3).isImm() &&
27217         MI->getOperand(3).getImm() == 1 &&
27225     if (MI->getNumOperands() == 4 &&
27226         MI->getOperand(0).isReg() &&
27227         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
27228         MI->getOperand(2).isImm() &&
27229         MI->getOperand(2).getImm() == 31 &&
27230         MI->getOperand(3).isImm() &&
27231         MI->getOperand(3).getImm() == 1 &&
27237     if (MI->getNumOperands() == 4 &&
27238         MI->getOperand(0).isReg() &&
27239         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
27240         MI->getOperand(3).isImm() &&
27241         MI->getOperand(3).getImm() == 1 &&
27249     if (MI->getNumOperands() == 4 &&
27250         MI->getOperand(0).isReg() &&
27251         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
27252         MI->getOperand(2).isImm() &&
27253         MI->getOperand(2).getImm() == 31 &&
27254         MI->getOperand(3).isImm() &&
27255         MI->getOperand(3).getImm() == 1 &&
27261     if (MI->getNumOperands() == 4 &&
27262         MI->getOperand(0).isReg() &&
27263         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
27264         MI->getOperand(3).isImm() &&
27265         MI->getOperand(3).getImm() == 1 &&
27273     if (MI->getNumOperands() == 4 &&
27274         MI->getOperand(0).isReg() &&
27275         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
27276         MI->getOperand(2).isImm() &&
27277         MI->getOperand(2).getImm() == 31 &&
27278         MI->getOperand(3).isImm() &&
27279         MI->getOperand(3).getImm() == 1 &&
27285     if (MI->getNumOperands() == 4 &&
27286         MI->getOperand(0).isReg() &&
27287         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
27288         MI->getOperand(3).isImm() &&
27289         MI->getOperand(3).getImm() == 1 &&
27297     if (MI->getNumOperands() == 4 &&
27298         MI->getOperand(0).isReg() &&
27299         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
27300         MI->getOperand(2).isImm() &&
27301         MI->getOperand(2).getImm() == 31 &&
27302         MI->getOperand(3).isImm() &&
27303         MI->getOperand(3).getImm() == 1 &&
27309     if (MI->getNumOperands() == 4 &&
27310         MI->getOperand(0).isReg() &&
27311         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
27312         MI->getOperand(3).isImm() &&
27313         MI->getOperand(3).getImm() == 1 &&
27321     if (MI->getNumOperands() == 4 &&
27322         MI->getOperand(0).isReg() &&
27323         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
27324         MI->getOperand(2).isImm() &&
27325         MI->getOperand(2).getImm() == 31 &&
27326         MI->getOperand(3).isImm() &&
27327         MI->getOperand(3).getImm() == 1 &&
27333     if (MI->getNumOperands() == 4 &&
27334         MI->getOperand(0).isReg() &&
27335         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
27336         MI->getOperand(3).isImm() &&
27337         MI->getOperand(3).getImm() == 1 &&
27345     if (MI->getNumOperands() == 4 &&
27346         MI->getOperand(0).isReg() &&
27347         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
27348         MI->getOperand(2).isImm() &&
27349         MI->getOperand(2).getImm() == 31 &&
27350         MI->getOperand(3).isImm() &&
27351         MI->getOperand(3).getImm() == 1 &&
27357     if (MI->getNumOperands() == 4 &&
27358         MI->getOperand(0).isReg() &&
27359         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
27360         MI->getOperand(3).isImm() &&
27361         MI->getOperand(3).getImm() == 1 &&
27369     if (MI->getNumOperands() == 4 &&
27370         MI->getOperand(0).isReg() &&
27371         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
27372         MI->getOperand(2).isImm() &&
27373         MI->getOperand(2).getImm() == 31 &&
27374         MI->getOperand(3).isImm() &&
27375         MI->getOperand(3).getImm() == 1 &&
27381     if (MI->getNumOperands() == 4 &&
27382         MI->getOperand(0).isReg() &&
27383         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
27384         MI->getOperand(3).isImm() &&
27385         MI->getOperand(3).getImm() == 1 &&
27393     if (MI->getNumOperands() == 4 &&
27394         MI->getOperand(0).isReg() &&
27395         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
27396         MI->getOperand(2).isImm() &&
27397         MI->getOperand(2).getImm() == 31 &&
27398         MI->getOperand(3).isImm() &&
27399         MI->getOperand(3).getImm() == 1 &&
27405     if (MI->getNumOperands() == 4 &&
27406         MI->getOperand(0).isReg() &&
27407         MRI.getRegClass(AArch64::GPR32RegClassID).contains(MI->getOperand(0).getReg()) &&
27408         MI->getOperand(3).isImm() &&
27409         MI->getOperand(3).getImm() == 1 &&
27417     if (MI->getNumOperands() == 4 &&
27418         MI->getOperand(0).isReg() &&
27419         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
27420         MI->getOperand(2).isImm() &&
27421         MI->getOperand(2).getImm() == 31 &&
27422         MI->getOperand(3).isImm() &&
27423         MI->getOperand(3).getImm() == 1 &&
27429     if (MI->getNumOperands() == 4 &&
27430         MI->getOperand(0).isReg() &&
27431         MRI.getRegClass(AArch64::GPR64RegClassID).contains(MI->getOperand(0).getReg()) &&
27432         MI->getOperand(3).isImm() &&
27433         MI->getOperand(3).getImm() == 1 &&
27441     if (MI->getNumOperands() == 4 &&
27442         MI->getOperand(0).isReg() &&
27443         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
27444         MI->getOperand(2).isImm() &&
27445         MI->getOperand(2).getImm() == 31 &&
27446         MI->getOperand(3).isImm() &&
27447         MI->getOperand(3).getImm() == 1 &&
27453     if (MI->getNumOperands() == 4 &&
27454         MI->getOperand(0).isReg() &&
27455         MRI.getRegClass(AArch64::ZPRRegClassID).contains(MI->getOperand(0).getReg()) &&
27456         MI->getOperand(3).isImm() &&
27457         MI->getOperand(3).getImm() == 1 &&
27483           printCustomAliasOperand(MI, OpIdx, PrintMethodIdx, STI, OS);
27485           printOperand(MI, unsigned(AsmString[I++]) - 1, STI, OS);