@@ -298,7 +298,6 @@ static unsigned getMatchingNonSExtOpcode(unsigned Opc,
298298  case  AArch64::STRXui:
299299  case  AArch64::STRXpre:
300300  case  AArch64::STURXi:
301-   case  AArch64::STR_ZXI:
302301  case  AArch64::LDRDui:
303302  case  AArch64::LDURDi:
304303  case  AArch64::LDRDpre:
@@ -317,7 +316,6 @@ static unsigned getMatchingNonSExtOpcode(unsigned Opc,
317316  case  AArch64::LDRSui:
318317  case  AArch64::LDURSi:
319318  case  AArch64::LDRSpre:
320-   case  AArch64::LDR_ZXI:
321319    return  Opc;
322320  case  AArch64::LDRSWui:
323321    return  AArch64::LDRWui;
@@ -363,7 +361,6 @@ static unsigned getMatchingPairOpcode(unsigned Opc) {
363361    return  AArch64::STPDpre;
364362  case  AArch64::STRQui:
365363  case  AArch64::STURQi:
366-   case  AArch64::STR_ZXI:
367364    return  AArch64::STPQi;
368365  case  AArch64::STRQpre:
369366    return  AArch64::STPQpre;
@@ -389,7 +386,6 @@ static unsigned getMatchingPairOpcode(unsigned Opc) {
389386    return  AArch64::LDPDpre;
390387  case  AArch64::LDRQui:
391388  case  AArch64::LDURQi:
392-   case  AArch64::LDR_ZXI:
393389    return  AArch64::LDPQi;
394390  case  AArch64::LDRQpre:
395391    return  AArch64::LDPQpre;
@@ -1229,16 +1225,6 @@ AArch64LoadStoreOpt::mergePairedInsns(MachineBasicBlock::iterator I,
12291225    (void )MIBSXTW;
12301226    LLVM_DEBUG (dbgs () << "   Extend operand:\n     " 
12311227    LLVM_DEBUG (((MachineInstr *)MIBSXTW)->print (dbgs ()));
1232-   } else  if  (Opc == AArch64::LDR_ZXI || Opc == AArch64::STR_ZXI) {
1233-     //  We are combining SVE fill/spill to LDP/STP, so we need to use the Q
1234-     //  variant of the registers.
1235-     MachineOperand &MOp0 = MIB->getOperand (0 );
1236-     MachineOperand &MOp1 = MIB->getOperand (1 );
1237-     assert (AArch64::ZPRRegClass.contains (MOp0.getReg ()) &&
1238-            AArch64::ZPRRegClass.contains (MOp1.getReg ()) && " Invalid register." 
1239-     MOp0.setReg (AArch64::Q0 + (MOp0.getReg () - AArch64::Z0));
1240-     MOp1.setReg (AArch64::Q0 + (MOp1.getReg () - AArch64::Z0));
1241-     LLVM_DEBUG (((MachineInstr *)MIB)->print (dbgs ()));
12421228  } else  {
12431229    LLVM_DEBUG (((MachineInstr *)MIB)->print (dbgs ()));
12441230  }
@@ -2673,8 +2659,7 @@ bool AArch64LoadStoreOpt::tryToPairLdStInst(MachineBasicBlock::iterator &MBBI) {
26732659      //  Get the needed alignments to check them if
26742660      //  ldp-aligned-only/stp-aligned-only features are opted.
26752661      uint64_t  MemAlignment = MemOp->getAlign ().value ();
2676-       uint64_t  TypeAlignment =
2677-           Align (MemOp->getSize ().getValue ().getKnownMinValue ()).value ();
2662+       uint64_t  TypeAlignment = Align (MemOp->getSize ().getValue ()).value ();
26782663
26792664      if  (MemAlignment < 2  * TypeAlignment) {
26802665        NumFailedAlignmentCheck++;
@@ -2835,18 +2820,11 @@ bool AArch64LoadStoreOpt::optimizeBlock(MachineBasicBlock &MBB,
28352820    }
28362821  //  3) Find loads and stores that can be merged into a single load or store
28372822  //     pair instruction.
2838-   //     When compiling for SVE 128, also try to combine SVE fill/spill
2839-   //     instructions into LDP/STP.
28402823  //       e.g.,
28412824  //         ldr x0, [x2]
28422825  //         ldr x1, [x2, #8]
28432826  //         ; becomes
28442827  //         ldp x0, x1, [x2]
2845-   //       e.g.,
2846-   //         ldr z0, [x2]
2847-   //         ldr z1, [x2, #1, mul vl]
2848-   //         ; becomes
2849-   //         ldp q0, q1, [x2]
28502828
28512829  if  (MBB.getParent ()->getRegInfo ().tracksLiveness ()) {
28522830    DefinedInBB.clear ();
0 commit comments