content: -- This file has been generated by specsgen. Do not modify by hand!
  
  module Unison.Target.ARM.SpecsGen.AlignedPairs (alignedPairs) where
  import Unison.Target.ARM.SpecsGen.ARMInstructionDecl
  alignedPairs i ([], [])
    | i `elem`
        [CLREX, Int_eh_sjlj_dispatchsetup, Int_eh_sjlj_setup_dispatch, NOP,
         TPsoft, TRAP, TRAPNaCl, WIN__CHKSTK, TTPsoft, TTRAP]
      = []
  alignedPairs i ([], [_]) | i `elem` [VMOVD0, VMOVQ0] = []
  alignedPairs i ([], [_])
    | i `elem` [IMPLICIT_DEF, LOAD_STACK_GUARD] = []
  alignedPairs i ([_, _, _, _], []) | i `elem` [VCMPD, VCMPED] = []
  alignedPairs i ([_, _, _, _, _], []) | i `elem` [VSTRD] = []
  alignedPairs i ([_, _, _], []) | i `elem` [VCMPEZD, VCMPZD] = []
  alignedPairs i ([ddin, _, _, _, _], [ddin'])
    | i `elem`
        [VFMAD, VFMSD, VFNMAD, VFNMSD, VMLAD, VMLSD, VNMLAD, VNMLSD]
      = [(ddin, ddin')]
  alignedPairs i ([_], [_])
    | i `elem` [VRINTAD, VRINTMD, VRINTND, VRINTPD] = []
  alignedPairs i ([_], [_])
    | i `elem`
        [VCVTASD, VCVTAUD, VCVTMSD, VCVTMUD, VCVTNSD, VCVTNUD, VCVTPSD,
         VCVTPUD]
      = []
  alignedPairs i ([_, _, _], [_])
    | i `elem` [VABSD, VMOVD, VNEGD, VRINTRD, VRINTXD, VRINTZD, VSQRTD]
      = []
  alignedPairs i ([_, _, _], [_, _]) | i `elem` [VMOVRRD] = []
  alignedPairs i ([_, _, _], [_])
    | i `elem`
        [VCVTBDH, VCVTSD, VCVTTDH, VTOSIRD, VTOSIZD, VTOUIRD, VTOUIZD]
      = []
  alignedPairs i ([_, _], [_]) | i `elem` [VMAXNMD, VMINNMD] = []
  alignedPairs i ([_, _, _], [_])
    | i `elem` [VSELEQD, VSELGED, VSELGTD, VSELVSD] = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem` [VADDD, VDIVD, VMULD, VNMULD, VSUBD] = []
  alignedPairs i ([dn, _, _, _], [dn'])
    | i `elem` [VMOVDcc] = [(dn, dn')]
  alignedPairs i ([_, _, _], [_])
    | i `elem` [VDUP16d, VDUP16q, VDUP32d, VDUP32q, VDUP8d, VDUP8q] =
      []
  alignedPairs i ([_, _, _, _, _, _], [])
    | i `elem` [ASRi, LSLi, LSRi, RORi] = []
  alignedPairs i ([_, _, _, _, _], []) | i `elem` [RRXi] = []
  alignedPairs i ([_, _, _, _, _, _], [])
    | i `elem` [ASRr, LSLr, LSRr, RORr] = []
  alignedPairs i ([_, _, _, _, _], [])
    | i `elem` [T2MOVSsi, T2MOVsi] = []
  alignedPairs i ([_, _, _, _, _, _], [])
    | i `elem` [T2MOVSsr, T2MOVsr] = []
  alignedPairs i ([_], [_, _]) | i `elem` [TMOVSr] = []
  alignedPairs i ([_, _], [_]) | i `elem` [RRX] = []
  alignedPairs i ([_, _, _, _], [_, _]) | i `elem` [T2SMLSLDX] = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [QADD, QDADD, QDSUB, QSUB, T2QADD, T2QDADD, T2QDSUB, T2QSUB]
      = []
  alignedPairs i ([_, _, rd, _, _, _], [rd'])
    | i `elem` [T2LSLricc] = [(rd, rd')]
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem` [T2ASRri, T2LSLri, T2LSRri, T2RORri] = []
  alignedPairs i ([_, _, _, _], [_, _])
    | i `elem` [TADDi3, TSUBi3] = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem` [TADDi3s, TSUBi3s] = []
  alignedPairs i ([_, _, _, _], [_, _])
    | i `elem` [TASRri, TLSLri, TLSRri] = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem` [TASRris, TLSLris, TLSRris] = []
  alignedPairs i ([_, _, _], [])
    | i `elem` [TBRIND, TBX, TBX_RET_vararg] = []
  alignedPairs i ([_, _, _], [_])
    | i `elem`
        [CLZ, RBIT, REV, REV16, REVSH, T2CLZ, T2RBIT, T2REV, T2REV16,
         T2REVSH, TMOVr, TREV, TREV16, TREVSH, TSXTB, TSXTH, TUXTB, TUXTH]
      = []
  alignedPairs i ([_, _, _], [_, _])
    | i `elem` [T2MOVsra_flag, T2MOVsrl_flag] = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem` [MOVr, MOVr_TC, MVNr, T2MOVr, T2MVNr] = []
  alignedPairs i ([_, _, _, _, _], [_]) | i `elem` [T2RRX] = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [SXTB, SXTB16, SXTH, UXTB, UXTB16, UXTH, T2SXTB, T2SXTB16, T2SXTH,
         T2UXTB, T2UXTB16, T2UXTH, TSXTHz, TUXTBz, TUXTHz]
      = []
  alignedPairs i ([_], [])
    | i `elem`
        [RFEDA, RFEDA_UPD, RFEDB, RFEDB_UPD, RFEIA, RFEIA_UPD, RFEIB,
         RFEIB_UPD]
      = []
  alignedPairs i ([_, _], [_])
    | i `elem`
        [CRC32B, CRC32CB, CRC32CH, CRC32CW, CRC32H, CRC32W, T2CRC32B,
         T2CRC32CB, T2CRC32CH, T2CRC32CW, T2CRC32H, T2CRC32W]
      = []
  alignedPairs i ([_, _, rLo, rHi, _, _], [rLo', rHi'])
    | i `elem` [T2SMLAL, T2UMLAL] = [(rLo, rLo'), (rHi, rHi')]
  alignedPairs i ([_, _, rLo, rHi, _, _, _], [rLo', rHi'])
    | i `elem` [SMLAL, SMLALv5, UMLAL, UMLALv5] =
      [(rLo, rLo'), (rHi, rHi')]
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem`
        [MLS, SMLABB, SMLABT, SMLAD, SMLADX, SMLATB, SMLATT, SMLAWB,
         SMLAWT, SMLSD, SMLSDX, SMMLA, SMMLAR, SMMLS, SMMLSR, USADA8, T2MLA,
         T2MLS, T2SMLABB, T2SMLABT, T2SMLAD, T2SMLADX, T2SMLATB, T2SMLATT,
         T2SMLAWB, T2SMLAWT, T2SMLSD, T2SMLSDX, T2SMMLA, T2SMMLAR, T2SMMLS,
         T2SMMLSR, T2USADA8]
      = []
  alignedPairs i ([_, _, _, _, _, _], [_])
    | i `elem` [MLA, MLAv5] = []
  alignedPairs i ([_, _, rd, _, _, _], [rd'])
    | i `elem` [T2ADDrrcc, T2SUBrrcc] = [(rd, rd')]
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [CMNzrr, CMPrr, TEQrr, TSTrr, T2CMNzrr, T2CMPrr, T2TEQrr, T2TSTrr,
         TCMNz, TCMPhir, TCMPr, TTST]
      = []
  alignedPairs i ([_, _, _, _], [_, _])
    | i `elem`
        [T2SMLALBB, T2SMLALBT, T2SMLALD, T2SMLALDX, T2SMLALTB, T2SMLALTT,
         T2SMLSLD]
      = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [QADD16, QADD8, QASX, QSAX, QSUB16, QSUB8, SADD16, SADD8, SASX,
         SDIV, SEL, SHADD16, SHADD8, SHASX, SHSAX, SHSUB16, SHSUB8, SMMUL,
         SMMULR, SMUAD, SMUADX, SMULBB, SMULBT, SMULTB, SMULTT, SMULWB,
         SMULWT, SMUSD, SMUSDX, SSAX, SSUB16, SSUB8, UADD16, UADD8, UASX,
         UDIV, UHADD16, UHADD8, UHASX, UHSAX, UHSUB16, UHSUB8, UQADD16,
         UQADD8, UQASX, UQSAX, UQSUB16, UQSUB8, USAD8, USAX, USUB16, USUB8,
         T2MUL, T2QADD16, T2QADD8, T2QASX, T2QSAX, T2QSUB16, T2QSUB8,
         T2SADD16, T2SADD8, T2SASX, T2SDIV, T2SEL, T2SHADD16, T2SHADD8,
         T2SHASX, T2SHSAX, T2SHSUB16, T2SHSUB8, T2SMMUL, T2SMMULR, T2SMUAD,
         T2SMUADX, T2SMULBB, T2SMULBT, T2SMULTB, T2SMULTT, T2SMULWB,
         T2SMULWT, T2SMUSD, T2SMUSDX, T2SSAX, T2SSUB16, T2SSUB8, T2UADD16,
         T2UADD8, T2UASX, T2UDIV, T2UHADD16, T2UHADD8, T2UHASX, T2UHSAX,
         T2UHSUB16, T2UHSUB8, T2UQADD16, T2UQADD8, T2UQASX, T2UQSAX,
         T2UQSUB16, T2UQSUB8, T2USAD8, T2USAX, T2USUB16, T2USUB8]
      = []
  alignedPairs i ([_, _, _, _], [_, _])
    | i `elem` [ADDSrr, SUBSrr, T2ADDSrr, T2SUBSrr] = []
  alignedPairs i ([_, _, _, _], [_, _])
    | i `elem` [T2ORRrr_cpsr, T2SUBrr_cpsr] = []
  alignedPairs i ([_, _, _, _], [_, _])
    | i `elem` [TADDrr, TSUBrr] = []
  alignedPairs i ([_, _, _, _], [_, _])
    | i `elem`
        [SMLALBB, SMLALBT, SMLALD, SMLALDX, SMLALTB, SMLALTT, SMLSLD,
         SMLSLDX, UMAAL, T2SMULL, T2UMAAL, T2UMULL]
      = []
  alignedPairs i ([_, rm, _, _], [rm'])
    | i `elem` [TMULz] = [(rm, rm')]
  alignedPairs i ([_, rm, _, _], [rm', _])
    | i `elem` [TMUL] = [(rm, rm')]
  alignedPairs i ([rn, _, _, _], [rn'])
    | i `elem` [TADDhirr, TADDspr] = [(rn, rn')]
  alignedPairs i ([rn, _, _, _], [rn', _])
    | i `elem` [TAND, TASRrr, TBIC, TEOR, TLSLrr, TLSRrr, TORR, TROR] =
      [(rn, rn')]
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [T2CMPrr_cpsr, T2TEQrr_cpsr, T2TSTrr_cpsr, TCMPhir_cpsr,
         TCMPr_cpsr, TTST_cpsr]
      = []
  alignedPairs i ([rn, _, _, _, _], [rn', _])
    | i `elem` [TADC, TSBC] = [(rn, rn')]
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem`
        [ADDrr, ANDrr, BICrr, EORrr, MUL, MULv5, ORRrr, RSBrr, SUBrr,
         T2ADDrr, T2ANDrr, T2ASRrr, T2BICrr, T2EORrr, T2LSLrr, T2LSRrr,
         T2ORNrr, T2ORRrr, T2RORrr, T2RSBrr, T2SUBrr, TADDrrs, TSUBrrs]
      = []
  alignedPairs i ([_, _, _, _, _], [_, _])
    | i `elem` [SMULL, SMULLv5, UMULL, UMULLv5] = []
  alignedPairs i ([rn, _, _, _, _], [rn'])
    | i `elem`
        [TADDhirrs, TANDs, TASRrrs, TBICs, TEORs, TLSLrrs, TLSRrrs, TORRs,
         TRORs]
      = [(rn, rn')]
  alignedPairs i ([_, _, _, _, _, _], [_, _])
    | i `elem` [ADCrr, RSCrr, SBCrr, T2ADCrr, T2SBCrr] = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem`
        [SXTAB, SXTAB16, SXTAH, UXTAB, UXTAB16, UXTAH, T2SXTAB, T2SXTAB16,
         T2SXTAH, T2UXTAB, T2UXTAB16, T2UXTAH]
      = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem` [PKHBT, PKHTB, T2PKHBT, T2PKHTB] = []
  alignedPairs i ([_, _, _, rd, _, _, _], [rd'])
    | i `elem` [T2ADDrscc] = [(rd, rd')]
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem` [T2CMNzrs, T2CMPrs, T2TEQrs, T2TSTrs] = []
  alignedPairs i ([_, _, _, _, _], [_, _])
    | i `elem` [T2ADDSrs, T2RSBSrs, T2SUBSrs] = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem` [T2CMPrs_cpsr, T2TSTrs_cpsr] = []
  alignedPairs i ([_, _, _, _, _, _], [_])
    | i `elem`
        [T2ADDrs, T2ANDrs, T2BICrs, T2EORrs, T2ORNrs, T2ORRrs, T2RSBrs,
         T2SUBrs]
      = []
  alignedPairs i ([_, _, _, _, _, _, _], [_, _])
    | i `elem` [T2ADCrs, T2SBCrs] = []
  alignedPairs i ([_, _, rd, _, _, _], [rd'])
    | i `elem` [T2ADDricc, T2ANDricc, T2ORRricc, T2SUBricc] =
      [(rd, rd')]
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [CMNri, CMPri, TEQri, TSTri, T2CMNri, T2CMPri, T2TEQri, T2TSTri]
      = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem` [T2ADDri12, T2SUBri12] = []
  alignedPairs i ([_, _, _, _], [_, _])
    | i `elem` [ADDSri, RSBSri, SUBSri, T2ADDSri, T2RSBSri, T2SUBSri] =
      []
  alignedPairs i ([_, _, _, _], [_, _])
    | i `elem` [T2ADDri_cpsr, T2ANDri_cpsr, T2SUBri_cpsr] = []
  alignedPairs i ([rn, _, _, _], [rn'])
    | i `elem` [TADDspi, TSUBspi] = [(rn, rn')]
  alignedPairs i ([_, _, _, _], [_])
    | i `elem` [T2CMNri_cpsr, T2CMPri_cpsr, T2TSTri_cpsr] = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem`
        [ADDri, ANDri, BICri, EORri, ORRri, RSBri, SUBri, T2ADDri,
         T2ADDri_fi, T2ADDri_fi_source_fi, T2ANDri, T2BICri, T2EORri,
         T2ORNri, T2ORRri, T2RSBri, T2SUBri, TRSBs]
      = []
  alignedPairs i ([_, _, _, _, _, _], [_, _])
    | i `elem` [ADCri, RSCri, SBCri, T2ADCri, T2SBCri] = []
  alignedPairs i ([_, _, _, _], [_]) | i `elem` [TCMPi8] = []
  alignedPairs i ([rn, _, _, _], [rn', _])
    | i `elem` [TADDi8, TSUBi8] = [(rn, rn')]
  alignedPairs i ([_, _, _, _], [_]) | i `elem` [TCMPi8_cpsr] = []
  alignedPairs i ([rn, _, _, _, _], [rn'])
    | i `elem` [TADDi8s, TSUBi8s] = [(rn, rn')]
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem` [T2SBFX, T2UBFX] = []
  alignedPairs i ([_, _, _, _, _], [_]) | i `elem` [SBFX, UBFX] = []
  alignedPairs i ([rn, _, _, _], [_, rn'])
    | i `elem`
        [T2LDRB_POST, T2LDRH_POST, T2LDRSB_POST, T2LDRSH_POST, T2LDR_POST]
      = [(rn, rn')]
  alignedPairs i ([_, _, _], [])
    | i `elem` [T2RFEDB, T2RFEDBW, T2RFEIA, T2RFEIAW] = []
  alignedPairs i ([_, _, _], [_, _]) | i `elem` [TMVN, TRSB] = []
  alignedPairs i ([rn, _, _], [rn'])
    | i `elem`
        [T2LDMIA_RET_4_10, T2LDMIA_RET_4_11, T2LDMIA_RET_4_8,
         T2LDMIA_RET_4_9, T2LDMIA_UPD_4_10, T2LDMIA_UPD_4_11,
         T2LDMIA_UPD_4_4, T2LDMIA_UPD_4_5, T2LDMIA_UPD_4_6, T2LDMIA_UPD_4_7,
         T2LDMIA_UPD_4_8, T2LDMIA_UPD_4_9, T2STMDB_UPD_4_10,
         T2STMDB_UPD_4_11, T2STMDB_UPD_4_8, T2STMDB_UPD_4_9]
      = [(rn, rn')]
  alignedPairs i ([rn, _, _], [rn', _, _, _, _])
    | i `elem` [T2LDMIA_UPD_4] = [(rn, rn')]
  alignedPairs i ([_, _, _], [_]) | i `elem` [VLDMQIA] = []
  alignedPairs i ([_, _, _], [_, _, _, _])
    | i `elem` [T2LDMIA_4] = []
  alignedPairs i ([_, _, _, _, _, _, _], [])
    | i `elem` [T2STMIA_4] = []
  alignedPairs i ([rn, _, _, _, _, _, _], [rn'])
    | i `elem` [T2STMIA_UPD_4] = [(rn, rn')]
  alignedPairs i ([_, _, _, _, _], [])
    | i `elem`
        [FLDMXIA, FSTMXIA, LDMDA, LDMDB, LDMIA, LDMIB, STMDA, STMDB, STMIA,
         STMIB, VLDMDIA, VLDMSIA, VSTMDIA, VSTMSIA, SysLDMDA, SysLDMDB,
         SysLDMIA, SysLDMIB, SysSTMDA, SysSTMDB, SysSTMIA, SysSTMIB,
         T2LDMDB, T2LDMIA, T2STMDB, T2STMIA, TLDMIA]
      = []
  alignedPairs i ([rn, _, _, _, _], [rn'])
    | i `elem`
        [FLDMXDB_UPD, FLDMXIA_UPD, FSTMXDB_UPD, FSTMXIA_UPD, LDMDA_UPD,
         LDMDB_UPD, LDMIA_RET, LDMIA_UPD, LDMIB_UPD, STMDA_UPD, STMDB_UPD,
         STMIA_UPD, STMIB_UPD, VLDMDDB_UPD, VLDMDIA_UPD, VLDMSDB_UPD,
         VLDMSIA_UPD, VSTMDDB_UPD, VSTMDIA_UPD, VSTMSDB_UPD, VSTMSIA_UPD,
         SysLDMDA_UPD, SysLDMDB_UPD, SysLDMIA_UPD, SysLDMIB_UPD,
         SysSTMDA_UPD, SysSTMDB_UPD, SysSTMIA_UPD, SysSTMIB_UPD,
         T2LDMDB_UPD, T2LDMIA_RET, T2LDMIA_UPD, T2STMDB_UPD, T2STMIA_UPD,
         TLDMIA_UPD, TSTMIA_UPD]
      = [(rn, rn')]
  alignedPairs i ([_, _, _, _], [_]) | i `elem` [TMVNs] = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem` [CMNzrsi, CMPrsi, TEQrsi, TSTrsi] = []
  alignedPairs i ([_, _, _, _, _], [_, _])
    | i `elem` [ADDSrsi, RSBSrsi, SUBSrsi] = []
  alignedPairs i ([_, _, _, _, _, _], [_])
    | i `elem` [ADDrsi, ANDrsi, BICrsi, EORrsi, ORRrsi, RSBrsi, SUBrsi]
      = []
  alignedPairs i ([_, _, _, _, _, _, _], [_, _])
    | i `elem` [ADCrsi, RSCrsi, SBCrsi] = []
  alignedPairs i ([_, _, _, _, _, _], [_])
    | i `elem` [CMNzrsr, CMPrsr, TEQrsr, TSTrsr] = []
  alignedPairs i ([_, _, _, _, _, _], [_, _])
    | i `elem` [ADDSrsr, RSBSrsr, SUBSrsr] = []
  alignedPairs i ([_, _, _, _, _, _, _], [_])
    | i `elem` [ADDrsr, ANDrsr, BICrsr, EORrsr, ORRrsr, RSBrsr, SUBrsr]
      = []
  alignedPairs i ([_, _, _, _, _, _, _, _], [_, _])
    | i `elem` [ADCrsr, RSCrsr, SBCrsr] = []
  alignedPairs i ([_, _], []) | i `elem` [TCBNZ, TCBZ] = []
  alignedPairs i ([_, _, _, _, _, _, _], [_])
    | i `elem` [VST1LNd16_UPD, VST1LNd32_UPD, VST1LNd8_UPD] = []
  alignedPairs i ([_, _, _, _, _, _], [_])
    | i `elem`
        [VST1d16Qwb_register, VST1d16Twb_register, VST1d16wb_register,
         VST1d32Qwb_register, VST1d32Twb_register, VST1d32wb_register,
         VST1d64Qwb_register, VST1d64Twb_register, VST1d64wb_register,
         VST1d8Qwb_register, VST1d8Twb_register, VST1d8wb_register,
         VST1q16wb_register, VST1q32wb_register, VST1q64wb_register,
         VST1q8wb_register, VST2b16wb_register, VST2b32wb_register,
         VST2b8wb_register, VST2d16wb_register, VST2d32wb_register,
         VST2d8wb_register, VST2q16wb_register, VST2q32wb_register,
         VST2q8wb_register]
      = []
  alignedPairs i ([_, _, _, _, _, _, _, _], [_])
    | i `elem`
        [VST2LNd16_UPD, VST2LNd32_UPD, VST2LNd8_UPD, VST2LNq16_UPD,
         VST2LNq32_UPD]
      = []
  alignedPairs i ([_, _, _, _, _, _, _, _, _], [_])
    | i `elem`
        [VST3LNd16_UPD, VST3LNd32_UPD, VST3LNd8_UPD, VST3LNq16_UPD,
         VST3LNq32_UPD]
      = []
  alignedPairs i ([_, _, _, _, _, _, _, _], [_])
    | i `elem`
        [VST3d16_UPD, VST3d32_UPD, VST3d8_UPD, VST3q16_UPD, VST3q32_UPD,
         VST3q8_UPD]
      = []
  alignedPairs i ([_, _, _, _, _, _, _, _, _, _], [_])
    | i `elem`
        [VST4LNd16_UPD, VST4LNd32_UPD, VST4LNd8_UPD, VST4LNq16_UPD,
         VST4LNq32_UPD]
      = []
  alignedPairs i ([_, _, _, _, _, _, _, _, _], [_])
    | i `elem`
        [VST4d16_UPD, VST4d32_UPD, VST4d8_UPD, VST4q16_UPD, VST4q32_UPD,
         VST4q8_UPD]
      = []
  alignedPairs i ([_, _, _, _, _], [_, _])
    | i `elem`
        [VLD1DUPd16wb_register, VLD1DUPd32wb_register,
         VLD1DUPd8wb_register, VLD1DUPq16wb_register, VLD1DUPq32wb_register,
         VLD1DUPq8wb_register, VLD1d16Qwb_register, VLD1d16Twb_register,
         VLD1d16wb_register, VLD1d32Qwb_register, VLD1d32Twb_register,
         VLD1d32wb_register, VLD1d64Qwb_register, VLD1d64Twb_register,
         VLD1d64wb_register, VLD1d8Qwb_register, VLD1d8Twb_register,
         VLD1d8wb_register, VLD1q16wb_register, VLD1q32wb_register,
         VLD1q64wb_register, VLD1q8wb_register, VLD2DUPd16wb_register,
         VLD2DUPd16x2wb_register, VLD2DUPd32wb_register,
         VLD2DUPd32x2wb_register, VLD2DUPd8wb_register,
         VLD2DUPd8x2wb_register, VLD2b16wb_register, VLD2b32wb_register,
         VLD2b8wb_register, VLD2d16wb_register, VLD2d32wb_register,
         VLD2d8wb_register, VLD2q16wb_register, VLD2q32wb_register,
         VLD2q8wb_register]
      = []
  alignedPairs i ([_, _, _, _, _], [_, _, _, _])
    | i `elem`
        [VLD3DUPd16_UPD, VLD3DUPd32_UPD, VLD3DUPd8_UPD, VLD3DUPq16_UPD,
         VLD3DUPq32_UPD, VLD3DUPq8_UPD, VLD3d16_UPD, VLD3d32_UPD,
         VLD3d8_UPD, VLD3q16_UPD, VLD3q32_UPD, VLD3q8_UPD]
      = []
  alignedPairs i ([_, _, _, _, _], [_, _, _, _, _])
    | i `elem`
        [VLD4DUPd16_UPD, VLD4DUPd32_UPD, VLD4DUPd8_UPD, VLD4DUPq16_UPD,
         VLD4DUPq32_UPD, VLD4DUPq8_UPD, VLD4d16_UPD, VLD4d32_UPD,
         VLD4d8_UPD, VLD4q16_UPD, VLD4q32_UPD, VLD4q8_UPD]
      = []
  alignedPairs i ([_, _, _, src, _, _, _], [src', _])
    | i `elem` [VLD1LNd16_UPD, VLD1LNd32_UPD, VLD1LNd8_UPD] =
      [(src, src')]
  alignedPairs i ([_, _, _, src1, src2, _, _, _], [src1', src2', _])
    | i `elem`
        [VLD2LNd16_UPD, VLD2LNd32_UPD, VLD2LNd8_UPD, VLD2LNq16_UPD,
         VLD2LNq32_UPD]
      = [(src1, src1'), (src2, src2')]
  alignedPairs i
    ([_, _, _, src1, src2, src3, _, _, _], [src1', src2', src3', _])
    | i `elem`
        [VLD3LNd16_UPD, VLD3LNd32_UPD, VLD3LNd8_UPD, VLD3LNq16_UPD,
         VLD3LNq32_UPD]
      = [(src1, src1'), (src2, src2'), (src3, src3')]
  alignedPairs i
    ([_, _, _, src1, src2, src3, src4, _, _, _],
     [src1', src2', src3', src4', _])
    | i `elem`
        [VLD4LNd16_UPD, VLD4LNd32_UPD, VLD4LNd8_UPD, VLD4LNq16_UPD,
         VLD4LNq32_UPD]
      = [(src1, src1'), (src2, src2'), (src3, src3'), (src4, src4')]
  alignedPairs i ([_, _, _, _, _, _], [])
    | i `elem` [VST1LNd16, VST1LNd32, VST1LNd8] = []
  alignedPairs i ([_, _, _, _, _], [])
    | i `elem`
        [VST1d16, VST1d16Q, VST1d16T, VST1d32, VST1d32Q, VST1d32T, VST1d64,
         VST1d64Q, VST1d64T, VST1d8, VST1d8Q, VST1d8T, VST1q16, VST1q32,
         VST1q64, VST1q8, VST2b16, VST2b32, VST2b8, VST2d16, VST2d32,
         VST2d8, VST2q16, VST2q32, VST2q8]
      = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem`
        [VST1d16Qwb_fixed, VST1d16Twb_fixed, VST1d16wb_fixed,
         VST1d32Qwb_fixed, VST1d32Twb_fixed, VST1d32wb_fixed,
         VST1d64Qwb_fixed, VST1d64Twb_fixed, VST1d64wb_fixed,
         VST1d8Qwb_fixed, VST1d8Twb_fixed, VST1d8wb_fixed, VST1q16wb_fixed,
         VST1q32wb_fixed, VST1q64wb_fixed, VST1q8wb_fixed, VST2b16wb_fixed,
         VST2b32wb_fixed, VST2b8wb_fixed, VST2d16wb_fixed, VST2d32wb_fixed,
         VST2d8wb_fixed, VST2q16wb_fixed, VST2q32wb_fixed, VST2q8wb_fixed]
      = []
  alignedPairs i ([_, _, _, _, _, _, _], [])
    | i `elem` [VST2LNd16, VST2LNd32, VST2LNd8, VST2LNq16, VST2LNq32] =
      []
  alignedPairs i ([_, _, _, _, _, _, _, _], [])
    | i `elem` [VST3LNd16, VST3LNd32, VST3LNd8, VST3LNq16, VST3LNq32] =
      []
  alignedPairs i ([_, _, _, _, _, _, _], [])
    | i `elem` [VST3d16, VST3d32, VST3d8, VST3q16, VST3q32, VST3q8] =
      []
  alignedPairs i ([_, _, _, _, _, _, _, _, _], [])
    | i `elem` [VST4LNd16, VST4LNd32, VST4LNd8, VST4LNq16, VST4LNq32] =
      []
  alignedPairs i ([_, _, _, _, _, _, _, _], [])
    | i `elem` [VST4d16, VST4d32, VST4d8, VST4q16, VST4q32, VST4q8] =
      []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [VLD1DUPd16, VLD1DUPd32, VLD1DUPd8, VLD1DUPq16, VLD1DUPq32,
         VLD1DUPq8, VLD1d16, VLD1d16Q, VLD1d16T, VLD1d32, VLD1d32Q,
         VLD1d32T, VLD1d64, VLD1d64Q, VLD1d64T, VLD1d8, VLD1d8Q, VLD1d8T,
         VLD1q16, VLD1q32, VLD1q64, VLD1q8, VLD2DUPd16, VLD2DUPd16x2,
         VLD2DUPd32, VLD2DUPd32x2, VLD2DUPd8, VLD2DUPd8x2, VLD2b16, VLD2b32,
         VLD2b8, VLD2d16, VLD2d32, VLD2d8, VLD2q16, VLD2q32, VLD2q8]
      = []
  alignedPairs i ([_, _, _, _], [_, _])
    | i `elem`
        [VLD1DUPd16wb_fixed, VLD1DUPd32wb_fixed, VLD1DUPd8wb_fixed,
         VLD1DUPq16wb_fixed, VLD1DUPq32wb_fixed, VLD1DUPq8wb_fixed,
         VLD1d16Qwb_fixed, VLD1d16Twb_fixed, VLD1d16wb_fixed,
         VLD1d32Qwb_fixed, VLD1d32Twb_fixed, VLD1d32wb_fixed,
         VLD1d64Qwb_fixed, VLD1d64Twb_fixed, VLD1d64wb_fixed,
         VLD1d8Qwb_fixed, VLD1d8Twb_fixed, VLD1d8wb_fixed, VLD1q16wb_fixed,
         VLD1q32wb_fixed, VLD1q64wb_fixed, VLD1q8wb_fixed,
         VLD2DUPd16wb_fixed, VLD2DUPd16x2wb_fixed, VLD2DUPd32wb_fixed,
         VLD2DUPd32x2wb_fixed, VLD2DUPd8wb_fixed, VLD2DUPd8x2wb_fixed,
         VLD2b16wb_fixed, VLD2b32wb_fixed, VLD2b8wb_fixed, VLD2d16wb_fixed,
         VLD2d32wb_fixed, VLD2d8wb_fixed, VLD2q16wb_fixed, VLD2q32wb_fixed,
         VLD2q8wb_fixed]
      = []
  alignedPairs i ([_, _, _, _], [_, _, _])
    | i `elem`
        [VLD3DUPd16, VLD3DUPd32, VLD3DUPd8, VLD3DUPq16, VLD3DUPq32,
         VLD3DUPq8, VLD3d16, VLD3d32, VLD3d8, VLD3q16, VLD3q32, VLD3q8]
      = []
  alignedPairs i ([_, _, _, _], [_, _, _, _])
    | i `elem`
        [VLD4DUPd16, VLD4DUPd32, VLD4DUPd8, VLD4DUPq16, VLD4DUPq32,
         VLD4DUPq8, VLD4d16, VLD4d32, VLD4d8, VLD4q16, VLD4q32, VLD4q8]
      = []
  alignedPairs i ([_, _, src, _, _, _], [src'])
    | i `elem` [VLD1LNd16, VLD1LNd32, VLD1LNd8] = [(src, src')]
  alignedPairs i ([_, _, src1, src2, _, _, _], [src1', src2'])
    | i `elem` [VLD2LNd16, VLD2LNd32, VLD2LNd8, VLD2LNq16, VLD2LNq32] =
      [(src1, src1'), (src2, src2')]
  alignedPairs i
    ([_, _, src1, src2, src3, _, _, _], [src1', src2', src3'])
    | i `elem` [VLD3LNd16, VLD3LNd32, VLD3LNd8, VLD3LNq16, VLD3LNq32] =
      [(src1, src1'), (src2, src2'), (src3, src3')]
  alignedPairs i
    ([_, _, src1, src2, src3, src4, _, _, _],
     [src1', src2', src3', src4'])
    | i `elem` [VLD4LNd16, VLD4LNd32, VLD4LNd8, VLD4LNq16, VLD4LNq32] =
      [(src1, src1'), (src2, src2'), (src3, src3'), (src4, src4')]
  alignedPairs i ([_, rn, _, _, _], [rn'])
    | i `elem`
        [T2STRB_POST, T2STRB_preidx, T2STRH_POST, T2STRH_preidx,
         T2STR_POST, T2STR_preidx]
      = [(rn, rn')]
  alignedPairs i ([_, rn, _, _, _, _], [rn'])
    | i `elem`
        [STRBi_preidx, STRBr_preidx, STRH_preidx, STRi_preidx, STRr_preidx]
      = [(rn, rn')]
  alignedPairs i ([_, _, _, _, _, _], [_])
    | i `elem` [T2STRD_POST] = []
  alignedPairs i ([_, _, _, _, _, _, _], [_])
    | i `elem` [STRD_POST] = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem` [T2STLEXD, T2STREXD] = []
  alignedPairs i ([_, _, _, _, _, _, _], []) | i `elem` [STRD] = []
  alignedPairs i ([_, _, _, _, _, _, _], [_])
    | i `elem` [STRD_PRE] = []
  alignedPairs i ([_, _, _, _, _, _], []) | i `elem` [T2STRDi8] = []
  alignedPairs i ([_, _, _, _, _, _], [_])
    | i `elem` [T2STRD_PRE] = []
  alignedPairs i ([_, _, _, _], [_]) | i `elem` [VMOVDRR] = []
  alignedPairs i ([_, _, _, _, _, _], [_]) | i `elem` [STRHTr] = []
  alignedPairs i ([_, _, _, _, _], [_]) | i `elem` [STRHTi] = []
  alignedPairs i ([_, _, _, _, _, _], [_])
    | i `elem`
        [STRBT_POST_IMM, STRBT_POST_REG, STRB_POST_IMM, STRB_POST_REG,
         STRH_POST, STRT_POST_IMM, STRT_POST_REG, STR_POST_IMM,
         STR_POST_REG]
      = []
  alignedPairs i ([_, _, _, _], [])
    | i `elem`
        [STL, STLB, STLH, T2LDRBpcrel, T2LDRHpcrel, T2LDRSBpcrel,
         T2LDRSHpcrel, T2LDRpcrel, T2STL, T2STLB, T2STLH]
      = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [STLEX, STLEXB, STLEXD, STLEXH, STREX, STREXB, STREXD, STREXH,
         T2STLEX, T2STLEXB, T2STLEXH, T2STREXB, T2STREXH]
      = []
  alignedPairs i ([_, _, _, _], [])
    | i `elem` [STRBT_POST, STRT_POST] = []
  alignedPairs i ([_, _, _, _, _, _], [])
    | i `elem`
        [STRH, T2STRBs, T2STRHs, T2STRs, TSTRBrz, TSTRHrz, TSTRrz]
      = []
  alignedPairs i ([_, _, _, _, _, _], [_])
    | i `elem` [STRB_PRE_REG, STRH_PRE, STR_PRE_REG] = []
  alignedPairs i ([_, _, _, _, _], [])
    | i `elem`
        [STRBi12, STRi12, T2STRBi12, T2STRBi12_fi, T2STRBi8, T2STRHi12,
         T2STRHi12_fi, T2STRHi8, T2STRi12, T2STRi12_fi, T2STRi8, TSTRBi,
         TSTRBr, TSTRHi, TSTRHr, TSTRi, TSTRr, TSTRspi]
      = []
  alignedPairs i ([_, _, _, _, _], [_]) | i `elem` [T2STREX] = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem`
        [STRB_PRE_IMM, STR_PRE_IMM, T2STRB_PRE, T2STRH_PRE, T2STR_PRE]
      = []
  alignedPairs i ([_, _, _], [_]) | i `elem` [VMOVSR] = []
  alignedPairs i ([_, _, _, _, _, _], [])
    | i `elem` [STRBrs, STRrs] = []
  alignedPairs i ([_, _, _, _], [_]) | i `elem` [SWP, SWPB] = []
  alignedPairs i ([_, _, _], [_])
    | i `elem`
        [VMOVv16i8, VMOVv1i64, VMOVv2f32, VMOVv2i32, VMOVv2i64, VMOVv4f32,
         VMOVv4i16, VMOVv4i32, VMOVv8i16, VMOVv8i8, VMVNv2i32, VMVNv4i16,
         VMVNv4i32, VMVNv8i16]
      = []
  alignedPairs i ([_, src, _, _], [src'])
    | i `elem`
        [VBICiv2i32, VBICiv4i16, VBICiv4i32, VBICiv8i16, VORRiv2i32,
         VORRiv4i16, VORRiv4i32, VORRiv8i16]
      = [(src, src')]
  alignedPairs i ([_, _, _, _], []) | i `elem` [T2MSR_M] = []
  alignedPairs i ([_, _, _], [_]) | i `elem` [T2MRS_M] = []
  alignedPairs i ([_, _, _, _], []) | i `elem` [VCMPES, VCMPS] = []
  alignedPairs i ([_, _, _, _, _], [])
    | i `elem` [VSTRS, VSTRS_fi] = []
  alignedPairs i ([_, _, _], []) | i `elem` [VCMPEZS, VCMPZS] = []
  alignedPairs i ([sdin, _, _, _, _], [sdin'])
    | i `elem`
        [VFMAS, VFMSS, VFNMAS, VFNMSS, VMLAS, VMLSS, VNMLAS, VNMLSS]
      = [(sdin, sdin')]
  alignedPairs i ([_, _, _, _, _], [_]) | i `elem` [T2MVNs] = []
  alignedPairs i ([_], [_])
    | i `elem`
        [VCVTASS, VCVTAUS, VCVTMSS, VCVTMUS, VCVTNSS, VCVTNUS, VCVTPSS,
         VCVTPUS, VRINTAS, VRINTMS, VRINTNS, VRINTPS]
      = []
  alignedPairs i ([_, _, _], [_])
    | i `elem` [VCVTBHD, VCVTDS, VCVTTHD, VSITOD, VUITOD] = []
  alignedPairs i ([_, _, _], [_])
    | i `elem`
        [VABSS, VCVTBHS, VCVTBSH, VCVTTHS, VCVTTSH, VMOVS, VNEGS, VRINTRS,
         VRINTXS, VRINTZS, VSITOS, VSQRTS, VTOSIRS, VTOSIZS, VTOUIRS,
         VTOUIZS, VUITOS]
      = []
  alignedPairs i ([_, _], [_]) | i `elem` [VMAXNMS, VMINNMS] = []
  alignedPairs i ([_, _, _], [_])
    | i `elem` [VSELEQS, VSELGES, VSELGTS, VSELVSS] = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem` [VADDS, VDIVS, VMULS, VNMULS, VSUBS] = []
  alignedPairs i ([sn, _, _, _], [sn'])
    | i `elem` [VMOVScc] = [(sn, sn')]
  alignedPairs i ([_, _, _], [_]) | i `elem` [VMOVRS] = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem` [VGETLNi32, VGETLNs16, VGETLNs8, VGETLNu16, VGETLNu8] =
      []
  alignedPairs i ([_], [_])
    | i `elem`
        [AESIMC, AESMC, SHA1H, VCVTANSDf, VCVTANSDh, VCVTANSQf, VCVTANSQh,
         VCVTANUDf, VCVTANUDh, VCVTANUQf, VCVTANUQh, VCVTMNSDf, VCVTMNSDh,
         VCVTMNSQf, VCVTMNSQh, VCVTMNUDf, VCVTMNUDh, VCVTMNUQf, VCVTMNUQh,
         VCVTNNSDf, VCVTNNSDh, VCVTNNSQf, VCVTNNSQh, VCVTNNUDf, VCVTNNUDh,
         VCVTNNUQf, VCVTNNUQh, VCVTPNSDf, VCVTPNSDh, VCVTPNSQf, VCVTPNSQh,
         VCVTPNUDf, VCVTPNUDh, VCVTPNUQf, VCVTPNUQh, VRINTANDf, VRINTANDh,
         VRINTANQf, VRINTANQh, VRINTMNDf, VRINTMNDh, VRINTMNQf, VRINTMNQh,
         VRINTNNDf, VRINTNNDh, VRINTNNQf, VRINTNNQh, VRINTPNDf, VRINTPNDh,
         VRINTPNQf, VRINTPNQh, VRINTXNDf, VRINTXNDh, VRINTXNQf, VRINTXNQh,
         VRINTZNDf, VRINTZNDh, VRINTZNQf, VRINTZNQh]
      = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [VCVTf2xsd, VCVTf2xsq, VCVTf2xud, VCVTf2xuq, VCVTh2xsd, VCVTh2xsq,
         VCVTh2xud, VCVTh2xuq, VCVTxs2fd, VCVTxs2fq, VCVTxs2hd, VCVTxs2hq,
         VCVTxu2fd, VCVTxu2fq, VCVTxu2hd, VCVTxu2hq, VQRSHRNsv2i32,
         VQRSHRNsv4i16, VQRSHRNsv8i8, VQRSHRNuv2i32, VQRSHRNuv4i16,
         VQRSHRNuv8i8, VQRSHRUNv2i32, VQRSHRUNv4i16, VQRSHRUNv8i8,
         VQSHLsiv16i8, VQSHLsiv1i64, VQSHLsiv2i32, VQSHLsiv2i64,
         VQSHLsiv4i16, VQSHLsiv4i32, VQSHLsiv8i16, VQSHLsiv8i8,
         VQSHLsuv16i8, VQSHLsuv1i64, VQSHLsuv2i32, VQSHLsuv2i64,
         VQSHLsuv4i16, VQSHLsuv4i32, VQSHLsuv8i16, VQSHLsuv8i8,
         VQSHLuiv16i8, VQSHLuiv1i64, VQSHLuiv2i32, VQSHLuiv2i64,
         VQSHLuiv4i16, VQSHLuiv4i32, VQSHLuiv8i16, VQSHLuiv8i8,
         VQSHRNsv2i32, VQSHRNsv4i16, VQSHRNsv8i8, VQSHRNuv2i32,
         VQSHRNuv4i16, VQSHRNuv8i8, VQSHRUNv2i32, VQSHRUNv4i16, VQSHRUNv8i8,
         VRSHRNv2i32, VRSHRNv4i16, VRSHRNv8i8, VRSHRsv16i8, VRSHRsv1i64,
         VRSHRsv2i32, VRSHRsv2i64, VRSHRsv4i16, VRSHRsv4i32, VRSHRsv8i16,
         VRSHRsv8i8, VRSHRuv16i8, VRSHRuv1i64, VRSHRuv2i32, VRSHRuv2i64,
         VRSHRuv4i16, VRSHRuv4i32, VRSHRuv8i16, VRSHRuv8i8, VSHLLi16,
         VSHLLi32, VSHLLi8, VSHLLsv2i64, VSHLLsv4i32, VSHLLsv8i16,
         VSHLLuv2i64, VSHLLuv4i32, VSHLLuv8i16, VSHLiv16i8, VSHLiv1i64,
         VSHLiv2i32, VSHLiv2i64, VSHLiv4i16, VSHLiv4i32, VSHLiv8i16,
         VSHLiv8i8, VSHRNv2i32, VSHRNv4i16, VSHRNv8i8, VSHRsv16i8,
         VSHRsv1i64, VSHRsv2i32, VSHRsv2i64, VSHRsv4i16, VSHRsv4i32,
         VSHRsv8i16, VSHRsv8i8, VSHRuv16i8, VSHRuv1i64, VSHRuv2i32,
         VSHRuv2i64, VSHRuv4i16, VSHRuv4i32, VSHRuv8i16, VSHRuv8i8]
      = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [VQRSHLsv16i8, VQRSHLsv1i64, VQRSHLsv2i32, VQRSHLsv2i64,
         VQRSHLsv4i16, VQRSHLsv4i32, VQRSHLsv8i16, VQRSHLsv8i8,
         VQRSHLuv16i8, VQRSHLuv1i64, VQRSHLuv2i32, VQRSHLuv2i64,
         VQRSHLuv4i16, VQRSHLuv4i32, VQRSHLuv8i16, VQRSHLuv8i8, VQSHLsv16i8,
         VQSHLsv1i64, VQSHLsv2i32, VQSHLsv2i64, VQSHLsv4i16, VQSHLsv4i32,
         VQSHLsv8i16, VQSHLsv8i8, VQSHLuv16i8, VQSHLuv1i64, VQSHLuv2i32,
         VQSHLuv2i64, VQSHLuv4i16, VQSHLuv4i32, VQSHLuv8i16, VQSHLuv8i8,
         VRSHLsv16i8, VRSHLsv1i64, VRSHLsv2i32, VRSHLsv2i64, VRSHLsv4i16,
         VRSHLsv4i32, VRSHLsv8i16, VRSHLsv8i8, VRSHLuv16i8, VRSHLuv1i64,
         VRSHLuv2i32, VRSHLuv2i64, VRSHLuv4i16, VRSHLuv4i32, VRSHLuv8i16,
         VRSHLuv8i8, VSHLsv16i8, VSHLsv1i64, VSHLsv2i32, VSHLsv2i64,
         VSHLsv4i16, VSHLsv4i32, VSHLsv8i16, VSHLsv8i8, VSHLuv16i8,
         VSHLuv1i64, VSHLuv2i32, VSHLuv2i64, VSHLuv4i16, VSHLuv4i32,
         VSHLuv8i16, VSHLuv8i8]
      = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [VDUPLN16d, VDUPLN16q, VDUPLN32d, VDUPLN32q, VDUPLN8d, VDUPLN8q]
      = []
  alignedPairs i ([_, _, _], [_])
    | i `elem`
        [VABSfd, VABSfq, VABShd, VABShq, VABSv16i8, VABSv2i32, VABSv4i16,
         VABSv4i32, VABSv8i16, VABSv8i8, VCEQzv16i8, VCEQzv2f32, VCEQzv2i32,
         VCEQzv4f16, VCEQzv4f32, VCEQzv4i16, VCEQzv4i32, VCEQzv8f16,
         VCEQzv8i16, VCEQzv8i8, VCGEzv16i8, VCGEzv2f32, VCGEzv2i32,
         VCGEzv4f16, VCGEzv4f32, VCGEzv4i16, VCGEzv4i32, VCGEzv8f16,
         VCGEzv8i16, VCGEzv8i8, VCGTzv16i8, VCGTzv2f32, VCGTzv2i32,
         VCGTzv4f16, VCGTzv4f32, VCGTzv4i16, VCGTzv4i32, VCGTzv8f16,
         VCGTzv8i16, VCGTzv8i8, VCLEzv16i8, VCLEzv2f32, VCLEzv2i32,
         VCLEzv4f16, VCLEzv4f32, VCLEzv4i16, VCLEzv4i32, VCLEzv8f16,
         VCLEzv8i16, VCLEzv8i8, VCLSv16i8, VCLSv2i32, VCLSv4i16, VCLSv4i32,
         VCLSv8i16, VCLSv8i8, VCLTzv16i8, VCLTzv2f32, VCLTzv2i32,
         VCLTzv4f16, VCLTzv4f32, VCLTzv4i16, VCLTzv4i32, VCLTzv8f16,
         VCLTzv8i16, VCLTzv8i8, VCLZv16i8, VCLZv2i32, VCLZv4i16, VCLZv4i32,
         VCLZv8i16, VCLZv8i8, VCNTd, VCNTq, VCVTf2h, VCVTf2sd, VCVTf2sq,
         VCVTf2ud, VCVTf2uq, VCVTh2f, VCVTh2sd, VCVTh2sq, VCVTh2ud,
         VCVTh2uq, VCVTs2fd, VCVTs2fq, VCVTs2hd, VCVTs2hq, VCVTu2fd,
         VCVTu2fq, VCVTu2hd, VCVTu2hq, VMOVLsv2i64, VMOVLsv4i32,
         VMOVLsv8i16, VMOVLuv2i64, VMOVLuv4i32, VMOVLuv8i16, VMOVNv2i32,
         VMOVNv4i16, VMOVNv8i8, VMVNd, VMVNq, VNEGf32q, VNEGfd, VNEGhd,
         VNEGhq, VNEGs16d, VNEGs16q, VNEGs32d, VNEGs32q, VNEGs8d, VNEGs8q,
         VPADDLsv16i8, VPADDLsv2i32, VPADDLsv4i16, VPADDLsv4i32,
         VPADDLsv8i16, VPADDLsv8i8, VPADDLuv16i8, VPADDLuv2i32,
         VPADDLuv4i16, VPADDLuv4i32, VPADDLuv8i16, VPADDLuv8i8, VQABSv16i8,
         VQABSv2i32, VQABSv4i16, VQABSv4i32, VQABSv8i16, VQABSv8i8,
         VQMOVNsuv2i32, VQMOVNsuv4i16, VQMOVNsuv8i8, VQMOVNsv2i32,
         VQMOVNsv4i16, VQMOVNsv8i8, VQMOVNuv2i32, VQMOVNuv4i16, VQMOVNuv8i8,
         VQNEGv16i8, VQNEGv2i32, VQNEGv4i16, VQNEGv4i32, VQNEGv8i16,
         VQNEGv8i8, VRECPEd, VRECPEfd, VRECPEfq, VRECPEhd, VRECPEhq,
         VRECPEq, VREV16d8, VREV16q8, VREV32d16, VREV32d8, VREV32q16,
         VREV32q8, VREV64d16, VREV64d32, VREV64d8, VREV64q16, VREV64q32,
         VREV64q8, VRSQRTEd, VRSQRTEfd, VRSQRTEfq, VRSQRTEhd, VRSQRTEhq,
         VRSQRTEq]
      = []
  alignedPairs i ([_, _], [_])
    | i `elem`
        [VMAXNMNDf, VMAXNMNDh, VMAXNMNQf, VMAXNMNQh, VMINNMNDf, VMINNMNDh,
         VMINNMNQf, VMINNMNQh, VMULLp64]
      = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem`
        [VEXTd16, VEXTd32, VEXTd8, VEXTq16, VEXTq32, VEXTq64, VEXTq8]
      = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem`
        [VMULLslsv2i32, VMULLslsv4i16, VMULLsluv2i32, VMULLsluv4i16,
         VMULslfd, VMULslfq, VMULslhd, VMULslhq, VMULslv2i32, VMULslv4i16,
         VMULslv4i32, VMULslv8i16, VQDMULHslv2i32, VQDMULHslv4i16,
         VQDMULHslv4i32, VQDMULHslv8i16, VQDMULLslv2i32, VQDMULLslv4i16,
         VQRDMULHslv2i32, VQRDMULHslv4i16, VQRDMULHslv4i32, VQRDMULHslv8i16]
      = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [VABDLsv2i64, VABDLsv4i32, VABDLsv8i16, VABDLuv2i64, VABDLuv4i32,
         VABDLuv8i16, VABDfd, VABDfq, VABDhd, VABDhq, VABDsv16i8,
         VABDsv2i32, VABDsv4i16, VABDsv4i32, VABDsv8i16, VABDsv8i8,
         VABDuv16i8, VABDuv2i32, VABDuv4i16, VABDuv4i32, VABDuv8i16,
         VABDuv8i8, VACGEfd, VACGEfq, VACGEhd, VACGEhq, VACGTfd, VACGTfq,
         VACGThd, VACGThq, VADDHNv2i32, VADDHNv4i16, VADDHNv8i8,
         VADDLsv2i64, VADDLsv4i32, VADDLsv8i16, VADDLuv2i64, VADDLuv4i32,
         VADDLuv8i16, VADDWsv2i64, VADDWsv4i32, VADDWsv8i16, VADDWuv2i64,
         VADDWuv4i32, VADDWuv8i16, VADDfd, VADDfq, VADDhd, VADDhq,
         VADDv16i8, VADDv1i64, VADDv2i32, VADDv2i64, VADDv4i16, VADDv4i32,
         VADDv8i16, VADDv8i8, VANDd, VANDq, VBICd, VBICq, VCEQfd, VCEQfq,
         VCEQhd, VCEQhq, VCEQv16i8, VCEQv2i32, VCEQv4i16, VCEQv4i32,
         VCEQv8i16, VCEQv8i8, VCGEfd, VCGEfq, VCGEhd, VCGEhq, VCGEsv16i8,
         VCGEsv2i32, VCGEsv4i16, VCGEsv4i32, VCGEsv8i16, VCGEsv8i8,
         VCGEuv16i8, VCGEuv2i32, VCGEuv4i16, VCGEuv4i32, VCGEuv8i16,
         VCGEuv8i8, VCGTfd, VCGTfq, VCGThd, VCGThq, VCGTsv16i8, VCGTsv2i32,
         VCGTsv4i16, VCGTsv4i32, VCGTsv8i16, VCGTsv8i8, VCGTuv16i8,
         VCGTuv2i32, VCGTuv4i16, VCGTuv4i32, VCGTuv8i16, VCGTuv8i8, VEORd,
         VEORq, VHADDsv16i8, VHADDsv2i32, VHADDsv4i16, VHADDsv4i32,
         VHADDsv8i16, VHADDsv8i8, VHADDuv16i8, VHADDuv2i32, VHADDuv4i16,
         VHADDuv4i32, VHADDuv8i16, VHADDuv8i8, VHSUBsv16i8, VHSUBsv2i32,
         VHSUBsv4i16, VHSUBsv4i32, VHSUBsv8i16, VHSUBsv8i8, VHSUBuv16i8,
         VHSUBuv2i32, VHSUBuv4i16, VHSUBuv4i32, VHSUBuv8i16, VHSUBuv8i8,
         VMAXfd, VMAXfq, VMAXhd, VMAXhq, VMAXsv16i8, VMAXsv2i32, VMAXsv4i16,
         VMAXsv4i32, VMAXsv8i16, VMAXsv8i8, VMAXuv16i8, VMAXuv2i32,
         VMAXuv4i16, VMAXuv4i32, VMAXuv8i16, VMAXuv8i8, VMINfd, VMINfq,
         VMINhd, VMINhq, VMINsv16i8, VMINsv2i32, VMINsv4i16, VMINsv4i32,
         VMINsv8i16, VMINsv8i8, VMINuv16i8, VMINuv2i32, VMINuv4i16,
         VMINuv4i32, VMINuv8i16, VMINuv8i8, VMULLp8, VMULLsv2i64,
         VMULLsv4i32, VMULLsv8i16, VMULLuv2i64, VMULLuv4i32, VMULLuv8i16,
         VMULfd, VMULfq, VMULhd, VMULhq, VMULpd, VMULpq, VMULv16i8,
         VMULv2i32, VMULv4i16, VMULv4i32, VMULv8i16, VMULv8i8, VORNd, VORNq,
         VORRd, VORRq, VPADDf, VPADDh, VPADDi16, VPADDi32, VPADDi8, VPMAXf,
         VPMAXh, VPMAXs16, VPMAXs32, VPMAXs8, VPMAXu16, VPMAXu32, VPMAXu8,
         VPMINf, VPMINh, VPMINs16, VPMINs32, VPMINs8, VPMINu16, VPMINu32,
         VPMINu8, VQADDsv16i8, VQADDsv1i64, VQADDsv2i32, VQADDsv2i64,
         VQADDsv4i16, VQADDsv4i32, VQADDsv8i16, VQADDsv8i8, VQADDuv16i8,
         VQADDuv1i64, VQADDuv2i32, VQADDuv2i64, VQADDuv4i16, VQADDuv4i32,
         VQADDuv8i16, VQADDuv8i8, VQDMULHv2i32, VQDMULHv4i16, VQDMULHv4i32,
         VQDMULHv8i16, VQDMULLv2i64, VQDMULLv4i32, VQRDMULHv2i32,
         VQRDMULHv4i16, VQRDMULHv4i32, VQRDMULHv8i16, VQSUBsv16i8,
         VQSUBsv1i64, VQSUBsv2i32, VQSUBsv2i64, VQSUBsv4i16, VQSUBsv4i32,
         VQSUBsv8i16, VQSUBsv8i8, VQSUBuv16i8, VQSUBuv1i64, VQSUBuv2i32,
         VQSUBuv2i64, VQSUBuv4i16, VQSUBuv4i32, VQSUBuv8i16, VQSUBuv8i8,
         VRADDHNv2i32, VRADDHNv4i16, VRADDHNv8i8, VRECPSfd, VRECPSfq,
         VRECPShd, VRECPShq, VRHADDsv16i8, VRHADDsv2i32, VRHADDsv4i16,
         VRHADDsv4i32, VRHADDsv8i16, VRHADDsv8i8, VRHADDuv16i8,
         VRHADDuv2i32, VRHADDuv4i16, VRHADDuv4i32, VRHADDuv8i16,
         VRHADDuv8i8, VRSQRTSfd, VRSQRTSfq, VRSQRTShd, VRSQRTShq,
         VRSUBHNv2i32, VRSUBHNv4i16, VRSUBHNv8i8, VSUBHNv2i32, VSUBHNv4i16,
         VSUBHNv8i8, VSUBLsv2i64, VSUBLsv4i32, VSUBLsv8i16, VSUBLuv2i64,
         VSUBLuv4i32, VSUBLuv8i16, VSUBWsv2i64, VSUBWsv4i32, VSUBWsv8i16,
         VSUBWuv2i64, VSUBWuv4i32, VSUBWuv8i16, VSUBfd, VSUBfq, VSUBhd,
         VSUBhq, VSUBv16i8, VSUBv1i64, VSUBv2i32, VSUBv2i64, VSUBv4i16,
         VSUBv4i32, VSUBv8i16, VSUBv8i8, VTBL1, VTBL2, VTBL3, VTBL4,
         VTSTv16i8, VTSTv2i32, VTSTv4i16, VTSTv4i32, VTSTv8i16, VTSTv8i8]
      = []
  alignedPairs i ([_, _, _, _], [_]) | i `elem` [PICADD] = []
  alignedPairs i ([a, _, _, _], [a'])
    | i `elem`
        [VSHTOD, VSHTOS, VSLTOD, VSLTOS, VTOSHD, VTOSHS, VTOSLD, VTOSLS,
         VTOUHD, VTOUHS, VTOULD, VTOULS, VUHTOD, VUHTOS, VULTOD, VULTOS]
      = [(a, a')]
  alignedPairs i ([_], [_])
    | i `elem`
        [LDRLIT_ga_pcrel, LDRLIT_ga_pcrel_ldr, MOV_ga_pcrel,
         MOV_ga_pcrel_ldr, T2MOV_ga_pcrel, TLDRLIT_ga_pcrel]
      = []
  alignedPairs i ([_, _, _, _, _], [_, _])
    | i `elem` [LDRHTr, LDRSBTr, LDRSHTr] = []
  alignedPairs i ([_, _], [_])
    | i `elem` [T2LDRpci_pic, TLDRpci_pic] = []
  alignedPairs i ([_, _], [_])
    | i `elem` [MOVi16_ga_pcrel, T2MOVi16_ga_pcrel] = []
  alignedPairs i ([_, _, _, _], [_, _, _])
    | i `elem` [T2LDRD_POST] = []
  alignedPairs i ([_, _, _, _], [_, _])
    | i `elem` [LDRHTi, LDRSBTi, LDRSHTi] = []
  alignedPairs i ([_, _, _, _, _], [_, _, _])
    | i `elem` [LDRD_POST] = []
  alignedPairs i ([_, _, _, _, _], [_, _])
    | i `elem`
        [LDRBT_POST_IMM, LDRBT_POST_REG, LDRB_POST_IMM, LDRB_POST_REG,
         LDRH_POST, LDRSB_POST, LDRSH_POST, LDRT_POST_IMM, LDRT_POST_REG,
         LDR_POST_IMM, LDR_POST_REG]
      = []
  alignedPairs i ([_, _, _], []) | i `elem` [T2PLDpci, T2PLIpci] = []
  alignedPairs i ([_, _, _], [_]) | i `elem` [T2ADR, TADR] = []
  alignedPairs i ([_, _, _], [_])
    | i `elem`
        [LDA, LDAB, LDAEX, LDAEXB, LDAEXD, LDAEXH, LDAH, LDREX, LDREXB,
         LDREXD, LDREXH, T2LDA, T2LDAB, T2LDAEX, T2LDAEXB, T2LDAEXH, T2LDAH,
         T2LDRBpci, T2LDREXB, T2LDREXH, T2LDRHpci, T2LDRSBpci, T2LDRSHpci,
         T2LDRpci, TLDRpci]
      = []
  alignedPairs i ([_, _, _], [_, _])
    | i `elem` [T2LDAEXD, T2LDREXD] = []
  alignedPairs i ([_, _, _], [_])
    | i `elem` [LDRBT_POST, LDRT_POST] = []
  alignedPairs i ([_, _], [])
    | i `elem` [PLDWi12, PLDi12, PLIi12] = []
  alignedPairs i ([_, _, _, _, _], [])
    | i `elem` [T2PLDWs, T2PLDs, T2PLIs] = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem`
        [LDRH, LDRSB, LDRSH, T2LDRBs, T2LDRHs, T2LDRSBs, T2LDRSHs, T2LDRs,
         TLDRBrz, TLDRHrz, TLDRSBz, TLDRSHz, TLDRrz]
      = []
  alignedPairs i ([_, _, _, _, _], [_, _]) | i `elem` [LDRD] = []
  alignedPairs i ([_, _, _, _, _], [_, _, _])
    | i `elem` [LDRD_PRE] = []
  alignedPairs i ([_, _, _, _, _], [_, _])
    | i `elem`
        [LDRB_PRE_REG, LDRH_PRE, LDRSB_PRE, LDRSH_PRE, LDR_PRE_REG]
      = []
  alignedPairs i ([_, _, _, _, _], [_, _])
    | i `elem`
        [VLD1d64QPseudoWB_register, VLD1d64TPseudoWB_register,
         VLD2q16PseudoWB_register, VLD2q32PseudoWB_register,
         VLD2q8PseudoWB_register, VLD3DUPd16Pseudo_UPD,
         VLD3DUPd32Pseudo_UPD, VLD3DUPd8Pseudo_UPD, VLD3d16Pseudo_UPD,
         VLD3d32Pseudo_UPD, VLD3d8Pseudo_UPD, VLD4DUPd16Pseudo_UPD,
         VLD4DUPd32Pseudo_UPD, VLD4DUPd8Pseudo_UPD, VLD4d16Pseudo_UPD,
         VLD4d32Pseudo_UPD, VLD4d8Pseudo_UPD]
      = []
  alignedPairs i ([_, _, _, _, _, _, _], [_])
    | i `elem`
        [VST1LNq16Pseudo_UPD, VST1LNq32Pseudo_UPD, VST1LNq8Pseudo_UPD,
         VST2LNd16Pseudo_UPD, VST2LNd32Pseudo_UPD, VST2LNd8Pseudo_UPD,
         VST2LNq16Pseudo_UPD, VST2LNq32Pseudo_UPD, VST3LNd16Pseudo_UPD,
         VST3LNd32Pseudo_UPD, VST3LNd8Pseudo_UPD, VST3LNq16Pseudo_UPD,
         VST3LNq32Pseudo_UPD, VST4LNd16Pseudo_UPD, VST4LNd32Pseudo_UPD,
         VST4LNd8Pseudo_UPD, VST4LNq16Pseudo_UPD, VST4LNq32Pseudo_UPD]
      = []
  alignedPairs i ([_, _, _, src, _, _, _], [src', _])
    | i `elem`
        [VLD1LNq16Pseudo_UPD, VLD1LNq32Pseudo_UPD, VLD1LNq8Pseudo_UPD,
         VLD2LNd16Pseudo_UPD, VLD2LNd32Pseudo_UPD, VLD2LNd8Pseudo_UPD,
         VLD2LNq16Pseudo_UPD, VLD2LNq32Pseudo_UPD, VLD3LNd16Pseudo_UPD,
         VLD3LNd32Pseudo_UPD, VLD3LNd8Pseudo_UPD, VLD3LNq16Pseudo_UPD,
         VLD3LNq32Pseudo_UPD, VLD4LNd16Pseudo_UPD, VLD4LNd32Pseudo_UPD,
         VLD4LNd8Pseudo_UPD, VLD4LNq16Pseudo_UPD, VLD4LNq32Pseudo_UPD]
      = [(src, src')]
  alignedPairs i ([_, _, _, _, _, _], [_])
    | i `elem`
        [VST1d64QPseudoWB_register, VST1d64TPseudoWB_register,
         VST2q16PseudoWB_register, VST2q32PseudoWB_register,
         VST2q8PseudoWB_register, VST3d16Pseudo_UPD, VST3d32Pseudo_UPD,
         VST3d8Pseudo_UPD, VST3q16Pseudo_UPD, VST3q16oddPseudo_UPD,
         VST3q32Pseudo_UPD, VST3q32oddPseudo_UPD, VST3q8Pseudo_UPD,
         VST3q8oddPseudo_UPD, VST4d16Pseudo_UPD, VST4d32Pseudo_UPD,
         VST4d8Pseudo_UPD, VST4q16Pseudo_UPD, VST4q16oddPseudo_UPD,
         VST4q32Pseudo_UPD, VST4q32oddPseudo_UPD, VST4q8Pseudo_UPD,
         VST4q8oddPseudo_UPD]
      = []
  alignedPairs i ([_, _, _, src, _, _], [src', _])
    | i `elem`
        [VLD3q16Pseudo_UPD, VLD3q16oddPseudo_UPD, VLD3q32Pseudo_UPD,
         VLD3q32oddPseudo_UPD, VLD3q8Pseudo_UPD, VLD3q8oddPseudo_UPD,
         VLD4q16Pseudo_UPD, VLD4q16oddPseudo_UPD, VLD4q32Pseudo_UPD,
         VLD4q32oddPseudo_UPD, VLD4q8Pseudo_UPD, VLD4q8oddPseudo_UPD]
      = [(src, src')]
  alignedPairs i ([_, _, _, _], [])
    | i `elem`
        [T2PLDWi12, T2PLDWi8, T2PLDi12, T2PLDi8, T2PLIi12, T2PLIi8, T2TBB,
         T2TBH]
      = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [VLDRD, VLDRD_cpi, VLDRD_cpi_source_cpi, VLDRD_fi,
         VLDRD_fi_source_fi]
      = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [LDRBi12, LDRcp, LDRi12, PICLDRB, PICLDRH, PICLDRSB, PICLDRSH,
         T2LDRBT, T2LDRBi12, T2LDRBi12_fi, T2LDRBi12_fi_source_fi, T2LDRBi8,
         T2LDREX, T2LDRHT, T2LDRHi12, T2LDRHi12_fi, T2LDRHi8, T2LDRSBT,
         T2LDRSBi12, T2LDRSBi8, T2LDRSHT, T2LDRSHi12, T2LDRSHi12_fi,
         T2LDRSHi8, T2LDRT, T2LDRi12, T2LDRi12_fi, T2LDRi12_fi_source_fi,
         T2LDRi8, T2STRBT, T2STRHT, T2STRT, TLDRBi, TLDRBr, TLDRHi, TLDRHr,
         TLDRSB, TLDRSH, TLDRi, TLDRr, TLDRspi]
      = []
  alignedPairs i ([_, _, _, _], [_, _]) | i `elem` [T2LDRDi8] = []
  alignedPairs i ([_, _, _, _], [_, _, _])
    | i `elem` [T2LDRD_PRE] = []
  alignedPairs i ([_, _, _, _], [_, _])
    | i `elem`
        [LDRB_PRE_IMM, LDR_PRE_IMM, T2LDRB_PRE, T2LDRH_PRE, T2LDRSB_PRE,
         T2LDRSH_PRE, T2LDR_PRE]
      = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [VLDRS, VLDRS_cpi, VLDRS_cpi_source_cpi, VLDRS_fi,
         VLDRS_fi_source_fi]
      = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [PICLDR, VLD1d64QPseudo, VLD1d64TPseudo, VLD2q16Pseudo,
         VLD2q32Pseudo, VLD2q8Pseudo, VLD3DUPd16Pseudo, VLD3DUPd32Pseudo,
         VLD3DUPd8Pseudo, VLD3d16Pseudo, VLD3d32Pseudo, VLD3d8Pseudo,
         VLD4DUPd16Pseudo, VLD4DUPd32Pseudo, VLD4DUPd8Pseudo, VLD4d16Pseudo,
         VLD4d32Pseudo, VLD4d8Pseudo]
      = []
  alignedPairs i ([_, _, _, _], [_, _])
    | i `elem`
        [VLD1d64QPseudoWB_fixed, VLD1d64TPseudoWB_fixed,
         VLD2q16PseudoWB_fixed, VLD2q32PseudoWB_fixed, VLD2q8PseudoWB_fixed]
      = []
  alignedPairs i ([_, _, _, _, _, _], [])
    | i `elem`
        [VST1LNq16Pseudo, VST1LNq32Pseudo, VST1LNq8Pseudo, VST2LNd16Pseudo,
         VST2LNd32Pseudo, VST2LNd8Pseudo, VST2LNq16Pseudo, VST2LNq32Pseudo,
         VST3LNd16Pseudo, VST3LNd32Pseudo, VST3LNd8Pseudo, VST3LNq16Pseudo,
         VST3LNq32Pseudo, VST4LNd16Pseudo, VST4LNd32Pseudo, VST4LNd8Pseudo,
         VST4LNq16Pseudo, VST4LNq32Pseudo]
      = []
  alignedPairs i ([_, _, src, _, _, _], [src'])
    | i `elem`
        [VLD1LNq16Pseudo, VLD1LNq32Pseudo, VLD1LNq8Pseudo, VLD2LNd16Pseudo,
         VLD2LNd32Pseudo, VLD2LNd8Pseudo, VLD2LNq16Pseudo, VLD2LNq32Pseudo,
         VLD3LNd16Pseudo, VLD3LNd32Pseudo, VLD3LNd8Pseudo, VLD3LNq16Pseudo,
         VLD3LNq32Pseudo, VLD4LNd16Pseudo, VLD4LNd32Pseudo, VLD4LNd8Pseudo,
         VLD4LNq16Pseudo, VLD4LNq32Pseudo]
      = [(src, src')]
  alignedPairs i ([_, _, _, _, _], [])
    | i `elem`
        [VST1d64QPseudo, VST1d64TPseudo, VST2q16Pseudo, VST2q32Pseudo,
         VST2q8Pseudo, VST3d16Pseudo, VST3d32Pseudo, VST3d8Pseudo,
         VST3q16oddPseudo, VST3q32oddPseudo, VST3q8oddPseudo, VST4d16Pseudo,
         VST4d32Pseudo, VST4d8Pseudo, VST4q16oddPseudo, VST4q32oddPseudo,
         VST4q8oddPseudo]
      = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem`
        [VST1d64QPseudoWB_fixed, VST1d64TPseudoWB_fixed,
         VST2q16PseudoWB_fixed, VST2q32PseudoWB_fixed, VST2q8PseudoWB_fixed]
      = []
  alignedPairs i ([_, _, src, _, _], [src'])
    | i `elem`
        [VLD3q16oddPseudo, VLD3q32oddPseudo, VLD3q8oddPseudo,
         VLD4q16oddPseudo, VLD4q32oddPseudo, VLD4q8oddPseudo]
      = [(src, src')]
  alignedPairs i ([_], []) | i `elem` [TADJCALLSTACKDOWN] = []
  alignedPairs i ([_, _, _], []) | i `elem` [ADJCALLSTACKDOWN] = []
  alignedPairs i ([_, _], []) | i `elem` [TADJCALLSTACKUP] = []
  alignedPairs i ([_, _, _, _], []) | i `elem` [ADJCALLSTACKUP] = []
  alignedPairs i ([_, _, _, _], [])
    | i `elem` [MSRbanked, T2MSRbanked] = []
  alignedPairs i ([_, _, _], [_])
    | i `elem` [MRSbanked, T2MRSbanked] = []
  alignedPairs i ([_, _, _, _], [])
    | i `elem` [T2TBB_JT, T2TBH_JT] = []
  alignedPairs i ([_, _], [_, _]) | i `elem` [TADDframe] = []
  alignedPairs i ([_, _, _, _], []) | i `elem` [BCCZi64] = []
  alignedPairs i ([_, _, _, _, _, _], []) | i `elem` [BCCi64] = []
  alignedPairs i ([_, _], []) | i `elem` [ITasm, T2IT] = []
  alignedPairs i ([_, _, _, _], [])
    | i `elem` [LDC2L_POST, LDC2_POST, STC2L_POST, STC2_POST] = []
  alignedPairs i ([_, _, _, _, _, _], [])
    | i `elem`
        [LDCL_POST, LDC_POST, STCL_POST, STC_POST, T2LDC2L_POST,
         T2LDC2_POST, T2LDCL_POST, T2LDC_POST, T2STC2L_POST, T2STC2_POST,
         T2STCL_POST, T2STC_POST]
      = []
  alignedPairs i ([_, _, _, _], [])
    | i `elem` [LDC2L_OPTION, LDC2_OPTION, STC2L_OPTION, STC2_OPTION] =
      []
  alignedPairs i ([_, _, _, _, _, _], [])
    | i `elem`
        [LDCL_OPTION, LDC_OPTION, STCL_OPTION, STC_OPTION, T2LDC2L_OPTION,
         T2LDC2_OPTION, T2LDCL_OPTION, T2LDC_OPTION, T2STC2L_OPTION,
         T2STC2_OPTION, T2STCL_OPTION, T2STC_OPTION]
      = []
  alignedPairs i ([_, _, _, _], [])
    | i `elem`
        [LDC2L_OFFSET, LDC2L_PRE, LDC2_OFFSET, LDC2_PRE, STC2L_OFFSET,
         STC2L_PRE, STC2_OFFSET, STC2_PRE]
      = []
  alignedPairs i ([_, _, _, _, _, _], [])
    | i `elem`
        [LDCL_OFFSET, LDCL_PRE, LDC_OFFSET, LDC_PRE, STCL_OFFSET, STCL_PRE,
         STC_OFFSET, STC_PRE, T2LDC2L_OFFSET, T2LDC2L_PRE, T2LDC2_OFFSET,
         T2LDC2_PRE, T2LDCL_OFFSET, T2LDCL_PRE, T2LDC_OFFSET, T2LDC_PRE,
         T2STC2L_OFFSET, T2STC2L_PRE, T2STC2_OFFSET, T2STC2_PRE,
         T2STCL_OFFSET, T2STCL_PRE, T2STC_OFFSET, T2STC_PRE]
      = []
  alignedPairs i ([_, _, _, _, _, _], []) | i `elem` [CDP2] = []
  alignedPairs i ([_, _, _, _, _, _, _, _], [])
    | i `elem` [CDP, T2CDP, T2CDP2] = []
  alignedPairs i ([_, _, _, _, _], [_, _])
    | i `elem` [MRRC, T2MRRC, T2MRRC2] = []
  alignedPairs i ([_, _, _, _, _], [_]) | i `elem` [MRC2] = []
  alignedPairs i ([_, _, _, _, _, _, _], [_])
    | i `elem` [MRC, T2MRC, T2MRC2] = []
  alignedPairs i ([_, _, _, _, _, _], []) | i `elem` [MCR2] = []
  alignedPairs i ([_, _, _, _, _, _, _, _], [])
    | i `elem` [MCR, T2MCR, T2MCR2] = []
  alignedPairs i ([_, _, _, _, _], []) | i `elem` [MCRR2, MRRC2] = []
  alignedPairs i ([_, _, _, _, _, _, _], [])
    | i `elem` [MCRR, T2MCRR, T2MCRR2] = []
  alignedPairs i ([_], [_]) | i `elem` [WIN__DBZCHK] = []
  alignedPairs i ([_], [])
    | i `elem`
        [BX, MOVPCRX, TAILJMPd, TAILJMPr, TCRETURNdi, TCRETURNri,
         TTAILJMPr]
      = []
  alignedPairs i ([_, _, _], [])
    | i `elem` [BX_pred, TTAILJMPd, TTAILJMPdND] = []
  alignedPairs i ([dst, src, _], [dst', src', _, _, _, _])
    | i `elem` [MEMCPY_4] = [(dst, dst'), (src, src')]
  alignedPairs i ([dst, src, _, _], [dst', src'])
    | i `elem` [MEMCPY] = [(dst, dst'), (src, src')]
  alignedPairs i ([_, _, _, _], [])
    | i `elem` [COPY_STRUCT_BYVAL_I32] = []
  alignedPairs i ([_], []) | i `elem` [SETEND, TSETEND] = []
  alignedPairs i ([_, _, _], [])
    | i `elem` [Register_class_decl_dummy] = []
  alignedPairs i ([false', _, _, _, _], [false''])
    | i `elem` [T2MOVCCasr, T2MOVCClsl, T2MOVCClsr, T2MOVCCror] =
      [(false', false'')]
  alignedPairs i ([false', _, _, _], [false''])
    | i `elem` [MOVCCr, T2MOVCCr] = [(false', false'')]
  alignedPairs i ([false', _, _, _], [false''])
    | i `elem`
        [MOVCCi, MOVCCi16, MVNCCi, T2MOVCCi, T2MOVCCi16, T2MVNCCi]
      = [(false', false'')]
  alignedPairs i ([false', _, _, _, _], [false''])
    | i `elem` [MOVCCsi] = [(false', false'')]
  alignedPairs i ([false', _, _, _, _, _], [false''])
    | i `elem` [MOVCCsr] = [(false', false'')]
  alignedPairs i ([false', _, _, _], [false''])
    | i `elem` [MOVCCi32imm, T2MOVCCi32imm] = [(false', false'')]
  alignedPairs i ([_, _, _, _], [_]) | i `elem` [TMOVCCr_pseudo] = []
  alignedPairs i ([_], [])
    | i `elem`
        [BL, BLX, BMOVPCB_CALL, BMOVPCRX_CALL, BX_CALL, TBX_CALL]
      = []
  alignedPairs i ([_, _, _], [])
    | i `elem` [BLX_pred, BL_pred, BXJ, T2BXJ] = []
  alignedPairs i ([_], [])
    | i `elem`
        [CFI_INSTRUCTION, EH_LABEL, GC_LABEL, LIFETIME_END, LIFETIME_START]
      = []
  alignedPairs i ([_, _, _, _, _, _], [_])
    | i `elem` [PATCHPOINT] = []
  alignedPairs i ([_, _, _], []) | i `elem` [STACKMAP] = []
  alignedPairs i ([_], [])
    | i `elem` [HVC, SETPAN, T2SETPAN, TADDspi_pseudo, TSUBspi_pseudo]
      = []
  alignedPairs i ([_, _, _], [])
    | i `elem` [HINT, T2HINT, T2SUBS_PC_LR, THINT, TSVC] = []
  alignedPairs i ([_, _, _], [_]) | i `elem` [FCONSTD] = []
  alignedPairs i ([_, _, _], [_])
    | i `elem` [MOVi16, T2MOVi16, T2MOVi16_source] = []
  alignedPairs i ([_, _, _], [_]) | i `elem` [FCONSTS] = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem`
        [MOVi, MVNi, T2MOVi, T2MOVi_source, T2MVNi, T2MVNi_source]
      = []
  alignedPairs i ([_], []) | i `elem` [UDF, T2HVC, T2UDF] = []
  alignedPairs i ([_], []) | i `elem` [TUDF] = []
  alignedPairs i ([_, _, _], [_, _]) | i `elem` [TMOVi8] = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem` [TMOVi8s, TMOVi8s_source] = []
  alignedPairs i ([_, _], []) | i `elem` [CPS2p, T2CPS2p, TCPS] = []
  alignedPairs i ([_, _, _], []) | i `elem` [CPS3p, T2CPS3p] = []
  alignedPairs i ([_, _, _], [_]) | i `elem` [SUBREG_TO_REG] = []
  alignedPairs i ([in1, in2, _, _], [in1', in2'])
    | i `elem` [VSWPd, VSWPq] = [(in1, in1'), (in2, in2')]
  alignedPairs i ([_, _, _], [])
    | i `elem`
        [CONSTPOOL_ENTRY, JUMPTABLE_ADDRS, JUMPTABLE_INSTS, JUMPTABLE_TBB,
         JUMPTABLE_TBH]
      = []
  alignedPairs i ([_, _, _], [_])
    | i `elem`
        [ADR, LEApcrel, LEApcrelJT, T2LEApcrel, T2LEApcrelJT,
         T2LEApcrelJT_source, T2LEApcrel_cpi, T2LEApcrel_cpi_source_cpi,
         TLEApcrel, TLEApcrelJT]
      = []
  alignedPairs i ([lhs, _], [lhs'])
    | i `elem` [TPICADD] = [(lhs, lhs')]
  alignedPairs i ([_, _, _, _, _, _], [])
    | i `elem`
        [VLD3DUPdWB_register_Asm_16, VLD3DUPdWB_register_Asm_32,
         VLD3DUPdWB_register_Asm_8, VLD3DUPqWB_register_Asm_16,
         VLD3DUPqWB_register_Asm_32, VLD3DUPqWB_register_Asm_8,
         VLD3dWB_register_Asm_16, VLD3dWB_register_Asm_32,
         VLD3dWB_register_Asm_8, VLD3qWB_register_Asm_16,
         VLD3qWB_register_Asm_32, VLD3qWB_register_Asm_8,
         VLD4DUPdWB_register_Asm_16, VLD4DUPdWB_register_Asm_32,
         VLD4DUPdWB_register_Asm_8, VLD4DUPqWB_register_Asm_16,
         VLD4DUPqWB_register_Asm_32, VLD4DUPqWB_register_Asm_8,
         VLD4dWB_register_Asm_16, VLD4dWB_register_Asm_32,
         VLD4dWB_register_Asm_8, VLD4qWB_register_Asm_16,
         VLD4qWB_register_Asm_32, VLD4qWB_register_Asm_8,
         VST3dWB_register_Asm_16, VST3dWB_register_Asm_32,
         VST3dWB_register_Asm_8, VST3qWB_register_Asm_16,
         VST3qWB_register_Asm_32, VST3qWB_register_Asm_8,
         VST4dWB_register_Asm_16, VST4dWB_register_Asm_32,
         VST4dWB_register_Asm_8, VST4qWB_register_Asm_16,
         VST4qWB_register_Asm_32, VST4qWB_register_Asm_8]
      = []
  alignedPairs i ([_, _, _, _, _], [])
    | i `elem`
        [VLD3DUPdAsm_16, VLD3DUPdAsm_32, VLD3DUPdAsm_8,
         VLD3DUPdWB_fixed_Asm_16, VLD3DUPdWB_fixed_Asm_32,
         VLD3DUPdWB_fixed_Asm_8, VLD3DUPqAsm_16, VLD3DUPqAsm_32,
         VLD3DUPqAsm_8, VLD3DUPqWB_fixed_Asm_16, VLD3DUPqWB_fixed_Asm_32,
         VLD3DUPqWB_fixed_Asm_8, VLD3dAsm_16, VLD3dAsm_32, VLD3dAsm_8,
         VLD3dWB_fixed_Asm_16, VLD3dWB_fixed_Asm_32, VLD3dWB_fixed_Asm_8,
         VLD3qAsm_16, VLD3qAsm_32, VLD3qAsm_8, VLD3qWB_fixed_Asm_16,
         VLD3qWB_fixed_Asm_32, VLD3qWB_fixed_Asm_8, VLD4DUPdAsm_16,
         VLD4DUPdAsm_32, VLD4DUPdAsm_8, VLD4DUPdWB_fixed_Asm_16,
         VLD4DUPdWB_fixed_Asm_32, VLD4DUPdWB_fixed_Asm_8, VLD4DUPqAsm_16,
         VLD4DUPqAsm_32, VLD4DUPqAsm_8, VLD4DUPqWB_fixed_Asm_16,
         VLD4DUPqWB_fixed_Asm_32, VLD4DUPqWB_fixed_Asm_8, VLD4dAsm_16,
         VLD4dAsm_32, VLD4dAsm_8, VLD4dWB_fixed_Asm_16,
         VLD4dWB_fixed_Asm_32, VLD4dWB_fixed_Asm_8, VLD4qAsm_16,
         VLD4qAsm_32, VLD4qAsm_8, VLD4qWB_fixed_Asm_16,
         VLD4qWB_fixed_Asm_32, VLD4qWB_fixed_Asm_8, VST3dAsm_16,
         VST3dAsm_32, VST3dAsm_8, VST3dWB_fixed_Asm_16,
         VST3dWB_fixed_Asm_32, VST3dWB_fixed_Asm_8, VST3qAsm_16,
         VST3qAsm_32, VST3qAsm_8, VST3qWB_fixed_Asm_16,
         VST3qWB_fixed_Asm_32, VST3qWB_fixed_Asm_8, VST4dAsm_16,
         VST4dAsm_32, VST4dAsm_8, VST4dWB_fixed_Asm_16,
         VST4dWB_fixed_Asm_32, VST4dWB_fixed_Asm_8, VST4qAsm_16,
         VST4qAsm_32, VST4qAsm_8, VST4qWB_fixed_Asm_16,
         VST4qWB_fixed_Asm_32, VST4qWB_fixed_Asm_8]
      = []
  alignedPairs i ([_, _, _, _, _, _, _], [])
    | i `elem`
        [VLD1LNdWB_register_Asm_16, VLD1LNdWB_register_Asm_32,
         VLD1LNdWB_register_Asm_8, VLD2LNdWB_register_Asm_16,
         VLD2LNdWB_register_Asm_32, VLD2LNdWB_register_Asm_8,
         VLD2LNqWB_register_Asm_16, VLD2LNqWB_register_Asm_32,
         VLD3LNdWB_register_Asm_16, VLD3LNdWB_register_Asm_32,
         VLD3LNdWB_register_Asm_8, VLD3LNqWB_register_Asm_16,
         VLD3LNqWB_register_Asm_32, VLD4LNdWB_register_Asm_16,
         VLD4LNdWB_register_Asm_32, VLD4LNdWB_register_Asm_8,
         VLD4LNqWB_register_Asm_16, VLD4LNqWB_register_Asm_32,
         VST1LNdWB_register_Asm_16, VST1LNdWB_register_Asm_32,
         VST1LNdWB_register_Asm_8, VST2LNdWB_register_Asm_16,
         VST2LNdWB_register_Asm_32, VST2LNdWB_register_Asm_8,
         VST2LNqWB_register_Asm_16, VST2LNqWB_register_Asm_32,
         VST3LNdWB_register_Asm_16, VST3LNdWB_register_Asm_32,
         VST3LNdWB_register_Asm_8, VST3LNqWB_register_Asm_16,
         VST3LNqWB_register_Asm_32, VST4LNdWB_register_Asm_16,
         VST4LNdWB_register_Asm_32, VST4LNdWB_register_Asm_8,
         VST4LNqWB_register_Asm_16, VST4LNqWB_register_Asm_32]
      = []
  alignedPairs i ([_, _, _, _, _, _], [])
    | i `elem`
        [VLD1LNdAsm_16, VLD1LNdAsm_32, VLD1LNdAsm_8,
         VLD1LNdWB_fixed_Asm_16, VLD1LNdWB_fixed_Asm_32,
         VLD1LNdWB_fixed_Asm_8, VLD2LNdAsm_16, VLD2LNdAsm_32, VLD2LNdAsm_8,
         VLD2LNdWB_fixed_Asm_16, VLD2LNdWB_fixed_Asm_32,
         VLD2LNdWB_fixed_Asm_8, VLD2LNqAsm_16, VLD2LNqAsm_32,
         VLD2LNqWB_fixed_Asm_16, VLD2LNqWB_fixed_Asm_32, VLD3LNdAsm_16,
         VLD3LNdAsm_32, VLD3LNdAsm_8, VLD3LNdWB_fixed_Asm_16,
         VLD3LNdWB_fixed_Asm_32, VLD3LNdWB_fixed_Asm_8, VLD3LNqAsm_16,
         VLD3LNqAsm_32, VLD3LNqWB_fixed_Asm_16, VLD3LNqWB_fixed_Asm_32,
         VLD4LNdAsm_16, VLD4LNdAsm_32, VLD4LNdAsm_8, VLD4LNdWB_fixed_Asm_16,
         VLD4LNdWB_fixed_Asm_32, VLD4LNdWB_fixed_Asm_8, VLD4LNqAsm_16,
         VLD4LNqAsm_32, VLD4LNqWB_fixed_Asm_16, VLD4LNqWB_fixed_Asm_32,
         VST1LNdAsm_16, VST1LNdAsm_32, VST1LNdAsm_8, VST1LNdWB_fixed_Asm_16,
         VST1LNdWB_fixed_Asm_32, VST1LNdWB_fixed_Asm_8, VST2LNdAsm_16,
         VST2LNdAsm_32, VST2LNdAsm_8, VST2LNdWB_fixed_Asm_16,
         VST2LNdWB_fixed_Asm_32, VST2LNdWB_fixed_Asm_8, VST2LNqAsm_16,
         VST2LNqAsm_32, VST2LNqWB_fixed_Asm_16, VST2LNqWB_fixed_Asm_32,
         VST3LNdAsm_16, VST3LNdAsm_32, VST3LNdAsm_8, VST3LNdWB_fixed_Asm_16,
         VST3LNdWB_fixed_Asm_32, VST3LNdWB_fixed_Asm_8, VST3LNqAsm_16,
         VST3LNqAsm_32, VST3LNqWB_fixed_Asm_16, VST3LNqWB_fixed_Asm_32,
         VST4LNdAsm_16, VST4LNdAsm_32, VST4LNdAsm_8, VST4LNdWB_fixed_Asm_16,
         VST4LNdWB_fixed_Asm_32, VST4LNdWB_fixed_Asm_8, VST4LNqAsm_16,
         VST4LNqAsm_32, VST4LNqWB_fixed_Asm_16, VST4LNqWB_fixed_Asm_32]
      = []
  alignedPairs i ([_, _, _, _], []) | i `elem` [MSR, T2MSR_AR] = []
  alignedPairs i ([_, _, _, _], []) | i `elem` [MSRi] = []
  alignedPairs i ([_], [])
    | i `elem`
        [CPS1p, SRSDA, SRSDA_UPD, SRSDB, SRSDB_UPD, SRSIA, SRSIA_UPD,
         SRSIB, SRSIB_UPD, T2CPS1p]
      = []
  alignedPairs i ([_, _, _], [])
    | i `elem` [T2SRSDB, T2SRSDB_UPD, T2SRSIA, T2SRSIA_UPD] = []
  alignedPairs i ([_, _, _], []) | i `elem` [SUBS_PC_LR] = []
  alignedPairs i ([_], []) | i `elem` [DMB, DSB, ISB] = []
  alignedPairs i ([_, _, _], [])
    | i `elem` [DBG, SMC, T2DBG, T2DMB, T2DSB, T2ISB, T2SMC] = []
  alignedPairs i ([orig, _, _, _, _], [orig'])
    | i `elem` [VTBX1, VTBX2, VTBX3, VTBX4] = [(orig, orig')]
  alignedPairs i ([orig, _, _, _, _], [orig'])
    | i `elem` [VTBX3Pseudo, VTBX4Pseudo] = [(orig, orig')]
  alignedPairs i ([_, _], [])
    | i `elem`
        [BX_RET, ERET, MOVPCLR, T2CLREX, T2DCPS1, T2DCPS2, T2DCPS3,
         TBX_RET, TPOP_RET_4, TPOP_RET_4_5, TPOP_RET_4_6, TPOP_RET_4_7,
         TPUSH_4, TPUSH_4_5, TPUSH_4_6, TPUSH_4_7]
      = []
  alignedPairs i ([_, _], [_]) | i `elem` [FMSTAT] = []
  alignedPairs i ([_, _], [_])
    | i `elem` [MRS, MRSsys, T2MRS_AR, T2MRSsys_AR] = []
  alignedPairs i ([_, _], [_])
    | i `elem`
        [VMRS, VMRS_FPEXC, VMRS_FPINST, VMRS_FPINST2, VMRS_FPSID,
         VMRS_MVFR0, VMRS_MVFR1, VMRS_MVFR2]
      = []
  alignedPairs i ([_, _], [_])
    | i `elem` [FMSTAT_cpsr, FMSTAT_cpsr_source] = []
  alignedPairs i ([_, _, _], []) | i `elem` [TBL, TBLXi, TBLXr] = []
  alignedPairs i ([_, _, _, _], [])
    | i `elem` [TPOP, TPOP_RET, TPUSH] = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem` [SSAT16, USAT16, T2SSAT16, T2USAT16] = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem` [SSAT, USAT, T2SSAT, T2USAT] = []
  alignedPairs i ([_, _, _, _, _], [_]) | i `elem` [MVNsi] = []
  alignedPairs i ([_, _, _], [])
    | i `elem` [PLDWrs, PLDrs, PLIrs] = []
  alignedPairs i ([_, _, _, _, _], [_])
    | i `elem` [LDRBrs, LDRrs] = []
  alignedPairs i ([_, _, _, _, _, _], [_]) | i `elem` [MVNsr] = []
  alignedPairs i ([_, _], [_]) | i `elem` [SPACE] = []
  alignedPairs i ([_, _, _, _], [_]) | i `elem` [TADDrSP] = []
  alignedPairs i ([_, _, _, _], [_]) | i `elem` [TADDrSPi, TFP] = []
  alignedPairs i ([_], [_])
    | i `elem`
        [COPY, FMSTAT_cpsr_demat, FMSTAT_cpsr_remat, LDRLIT_ga_abs, LOAD,
         LOAD_D, LOAD_T, MOVE, MOVE_ALL, MOVE_D, MOVi32imm, STORE, STORE_D,
         STORE_T, VLDMDIA_UPD_d8_15, VLDRD_cpi_demat_cpi,
         VLDRD_cpi_remat_cpi, VLDRD_fi_demat_fi, VLDRD_fi_remat_fi,
         VLDRS_cpi_demat_cpi, VLDRS_cpi_remat_cpi, VLDRS_fi_demat_fi,
         VLDRS_fi_remat_fi, VSTMDDB_UPD_d8_15, Load_merge,
         T2ADDri_fi_demat_fi, T2ADDri_fi_remat_fi, T2LDRBi12_fi_demat_fi,
         T2LDRBi12_fi_remat_fi, T2LDRi12_fi_demat_fi, T2LDRi12_fi_remat_fi,
         T2LEApcrelJT_demat, T2LEApcrelJT_remat, T2LEApcrel_cpi_demat_cpi,
         T2LEApcrel_cpi_remat_cpi, T2MOVi16_demat, T2MOVi16_remat,
         T2MOVi32imm, T2MOVi32imm_demat, T2MOVi32imm_remat,
         T2MOVi32imm_source, T2MOVi_demat, T2MOVi_remat, T2MVNi_demat,
         T2MVNi_remat, TLDRLIT_ga_abs, TMOVi8s_demat, TMOVi8s_remat,
         TPOP_r4_7, TPOP_r8_11, TPUSH_r4_7, TPUSH_r8_11]
      = []
  alignedPairs i ([_], [_, _])
    | i `elem` [ABS, MOVsra_flag, MOVsrl_flag, T2ABS] = []
  alignedPairs i ([src, _, _, _, _], [src'])
    | i `elem` [BFI, T2BFI] = [(src, src')]
  alignedPairs i ([_, _, _, _], []) | i `elem` [VSTMQIA] = []
  alignedPairs i ([src, _], [src'])
    | i `elem` [AESD, AESE, SHA1SU1, SHA256SU0] = [(src, src')]
  alignedPairs i ([src, _, _], [src'])
    | i `elem`
        [SHA1C, SHA1M, SHA1P, SHA1SU0, SHA256H, SHA256H2, SHA256SU1]
      = [(src, src')]
  alignedPairs i ([src, _, _], [src'])
    | i `elem` [MOVTi16_ga_pcrel, T2MOVTi16_ga_pcrel] = [(src, src')]
  alignedPairs i ([_, _, _, _, _], [])
    | i `elem` [PICSTR, PICSTRB, PICSTRH] = []
  alignedPairs i ([src, _, _, _], [src'])
    | i `elem` [BFC, MOVTi16, T2BFC, T2MOVTi16] = [(src, src')]
  alignedPairs i ([_, _, _], [])
    | i `elem`
        [VMSR, VMSR_FPEXC, VMSR_FPINST, VMSR_FPINST2, VMSR_FPSID]
      = []
  alignedPairs i ([_, _], [_]) | i `elem` [COPY_TO_REGCLASS] = []
  alignedPairs i ([_, _], [])
    | i `elem`
        [Int_eh_sjlj_longjmp, TInt_WIN_eh_sjlj_longjmp,
         TInt_eh_sjlj_longjmp]
      = []
  alignedPairs i ([_, _], [_])
    | i `elem`
        [Int_eh_sjlj_setjmp, Int_eh_sjlj_setjmp_nofp, T2Int_eh_sjlj_setjmp,
         T2Int_eh_sjlj_setjmp_nofp, TInt_eh_sjlj_setjmp]
      = []
  alignedPairs i ([src1, _, _, _, _], [src1'])
    | i `elem` [VSETLNi16, VSETLNi32, VSETLNi8] = [(src1, src1')]
  alignedPairs i ([src1, _, _, _, _], [src1'])
    | i `elem`
        [VRSRAsv16i8, VRSRAsv1i64, VRSRAsv2i32, VRSRAsv2i64, VRSRAsv4i16,
         VRSRAsv4i32, VRSRAsv8i16, VRSRAsv8i8, VRSRAuv16i8, VRSRAuv1i64,
         VRSRAuv2i32, VRSRAuv2i64, VRSRAuv4i16, VRSRAuv4i32, VRSRAuv8i16,
         VRSRAuv8i8, VSLIv16i8, VSLIv1i64, VSLIv2i32, VSLIv2i64, VSLIv4i16,
         VSLIv4i32, VSLIv8i16, VSLIv8i8, VSRAsv16i8, VSRAsv1i64, VSRAsv2i32,
         VSRAsv2i64, VSRAsv4i16, VSRAsv4i32, VSRAsv8i16, VSRAsv8i8,
         VSRAuv16i8, VSRAuv1i64, VSRAuv2i32, VSRAuv2i64, VSRAuv4i16,
         VSRAuv4i32, VSRAuv8i16, VSRAuv8i8, VSRIv16i8, VSRIv1i64, VSRIv2i32,
         VSRIv2i64, VSRIv4i16, VSRIv4i32, VSRIv8i16, VSRIv8i8]
      = [(src1, src1')]
  alignedPairs i ([src1, _, _, _], [src1'])
    | i `elem`
        [VPADALsv16i8, VPADALsv2i32, VPADALsv4i16, VPADALsv4i32,
         VPADALsv8i16, VPADALsv8i8, VPADALuv16i8, VPADALuv2i32,
         VPADALuv4i16, VPADALuv4i32, VPADALuv8i16, VPADALuv8i8]
      = [(src1, src1')]
  alignedPairs i ([src1, _, _, _, _, _], [src1'])
    | i `elem`
        [VMLALslsv2i32, VMLALslsv4i16, VMLALsluv2i32, VMLALsluv4i16,
         VMLAslfd, VMLAslfq, VMLAslhd, VMLAslhq, VMLAslv2i32, VMLAslv4i16,
         VMLAslv4i32, VMLAslv8i16, VMLSLslsv2i32, VMLSLslsv4i16,
         VMLSLsluv2i32, VMLSLsluv4i16, VMLSslfd, VMLSslfq, VMLSslhd,
         VMLSslhq, VMLSslv2i32, VMLSslv4i16, VMLSslv4i32, VMLSslv8i16,
         VQDMLALslv2i32, VQDMLALslv4i16, VQDMLSLslv2i32, VQDMLSLslv4i16,
         VQRDMLAHslv2i32, VQRDMLAHslv4i16, VQRDMLAHslv4i32, VQRDMLAHslv8i16,
         VQRDMLSHslv2i32, VQRDMLSHslv4i16, VQRDMLSHslv4i32, VQRDMLSHslv8i16]
      = [(src1, src1')]
  alignedPairs i ([src1, _, _, _, _], [src1'])
    | i `elem`
        [VABALsv2i64, VABALsv4i32, VABALsv8i16, VABALuv2i64, VABALuv4i32,
         VABALuv8i16, VABAsv16i8, VABAsv2i32, VABAsv4i16, VABAsv4i32,
         VABAsv8i16, VABAsv8i8, VABAuv16i8, VABAuv2i32, VABAuv4i16,
         VABAuv4i32, VABAuv8i16, VABAuv8i8, VBIFd, VBIFq, VBITd, VBITq,
         VBSLd, VBSLq, VFMAfd, VFMAfq, VFMAhd, VFMAhq, VFMSfd, VFMSfq,
         VFMShd, VFMShq, VMLALsv2i64, VMLALsv4i32, VMLALsv8i16, VMLALuv2i64,
         VMLALuv4i32, VMLALuv8i16, VMLAfd, VMLAfq, VMLAhd, VMLAhq,
         VMLAv16i8, VMLAv2i32, VMLAv4i16, VMLAv4i32, VMLAv8i16, VMLAv8i8,
         VMLSLsv2i64, VMLSLsv4i32, VMLSLsv8i16, VMLSLuv2i64, VMLSLuv4i32,
         VMLSLuv8i16, VMLSfd, VMLSfq, VMLShd, VMLShq, VMLSv16i8, VMLSv2i32,
         VMLSv4i16, VMLSv4i32, VMLSv8i16, VMLSv8i8, VQDMLALv2i64,
         VQDMLALv4i32, VQDMLSLv2i64, VQDMLSLv4i32, VQRDMLAHv2i32,
         VQRDMLAHv4i16, VQRDMLAHv4i32, VQRDMLAHv8i16, VQRDMLSHv2i32,
         VQRDMLSHv4i16, VQRDMLSHv4i32, VQRDMLSHv8i16]
      = [(src1, src1')]
  alignedPairs i ([_, _], [_, _])
    | i `elem`
        [TPOP2_r4_11, TPOP2_r4_11_RET, TPOP2_r4_7, TPOP2_r4_7_RET,
         TPUSH2_r4_11, TPUSH2_r4_7]
      = []
  alignedPairs i ([_, _, _, _], [_, _]) | i `elem` [VMOVRRS] = []
  alignedPairs i ([_, _, _, _], [_, _]) | i `elem` [VMOVSRR] = []
  alignedPairs i ([src1, src2, _, _], [src1', src2'])
    | i `elem`
        [VTRNd16, VTRNd32, VTRNd8, VTRNq16, VTRNq32, VTRNq8, VUZPd16,
         VUZPd8, VUZPq16, VUZPq32, VUZPq8, VZIPd16, VZIPd8, VZIPq16,
         VZIPq32, VZIPq8]
      = [(src1, src1'), (src2, src2')]
  alignedPairs i ([_, _, _, _, _], [_]) | i `elem` [MOVsi] = []
  alignedPairs i ([_, _, _, _, _, _], [_]) | i `elem` [MOVsr] = []
  alignedPairs i ([_, _], [_]) | i `elem` [EXTRACT_SUBREG] = []
  alignedPairs i ([supersrc, _, _], [supersrc'])
    | i `elem` [INSERT_SUBREG] = [(supersrc, supersrc')]
  alignedPairs i ([_, _], [_]) | i `elem` [REG_SEQUENCE] = []
  alignedPairs i ([_, _, _], []) | i `elem` [SVC] = []
  alignedPairs i ([_, _], []) | i `elem` [LOCAL_ESCAPE] = []
  alignedPairs i ([_], []) | i `elem` [B, BLXi] = []
  alignedPairs i ([_, _, _], []) | i `elem` [BR_JTadd] = []
  alignedPairs i ([_, _, _], []) | i `elem` [T2BR_JT] = []
  alignedPairs i ([_, _], []) | i `elem` [BR_JTr, TBR_JTr] = []
  alignedPairs i ([_, _, _], [])
    | i `elem` [Bcc, T2B, T2Bcc, TB, TBcc, TBfar] = []
  alignedPairs i ([_, _, _, _], []) | i `elem` [BR_JTm] = []
  alignedPairs i ([_, _, _, _], [_])
    | i `elem` [VTBL3Pseudo, VTBL4Pseudo] = []
  alignedPairs i ([_], [])
    | i `elem` [BUNDLE, DBG_VALUE, INLINEASM, KILL, PHI, STATEPOINT] =
      []
  alignedPairs i ([_], [_]) | i `elem` [FAULTING_LOAD_OP] = []
  alignedPairs i ([_], []) | i `elem` [BKPT, HLT, TBKPT, THLT] = []
  alignedPairs _ _ = []
  
  