@@ -206,9 +206,9 @@ def ARMasrl : SDNode<"ARMISD::ASRL", SDT_ARMIntShiftParts, []>;
206206def ARMlsrl : SDNode<"ARMISD::LSRL", SDT_ARMIntShiftParts, []>;
207207def ARMlsll : SDNode<"ARMISD::LSLL", SDT_ARMIntShiftParts, []>;
208208
209- def ARMsrl_glue : SDNode<"ARMISD::SRL_GLUE ", SDTIntUnaryOpWithFlagsOut>;
210- def ARMsra_glue : SDNode<"ARMISD::SRA_GLUE ", SDTIntUnaryOpWithFlagsOut>;
211- def ARMrrx : SDNode<"ARMISD::RRX" , SDTIntUnaryOpWithFlagsIn>;
209+ def ARMlsrs1 : SDNode<"ARMISD::LSRS1 ", SDTIntUnaryOpWithFlagsOut>;
210+ def ARMasrs1 : SDNode<"ARMISD::ASRS1 ", SDTIntUnaryOpWithFlagsOut>;
211+ def ARMrrx : SDNode<"ARMISD::RRX" , SDTIntUnaryOpWithFlagsIn>;
212212
213213def ARMaddc : SDNode<"ARMISD::ADDC", SDTBinaryArithWithFlags,
214214 [SDNPCommutative]>;
@@ -3745,20 +3745,17 @@ def : ARMPat<(or GPR:$src, 0xffff0000), (MOVTi16 GPR:$src, 0xffff)>,
37453745 Requires<[IsARM, HasV6T2]>;
37463746
37473747let Uses = [CPSR] in
3748- def RRX: PseudoInst<(outs GPR:$Rd), (ins GPR:$Rm), IIC_iMOVsi,
3749- [(set GPR:$Rd, (ARMrrx GPR:$Rm, CPSR))]>,
3750- UnaryDP, Requires<[IsARM]>, Sched<[WriteALU]>;
3751-
3752- // These aren't really mov instructions, but we have to define them this way
3753- // due to glue operands.
3748+ def RRX : PseudoInst<(outs GPR:$Rd), (ins GPR:$Rm), IIC_iMOVsi,
3749+ [(set GPR:$Rd, (ARMrrx GPR:$Rm, CPSR))]>,
3750+ UnaryDP, Requires<[IsARM]>, Sched<[WriteALU]>;
37543751
37553752let Defs = [CPSR] in {
3756- def MOVsrl_glue : PseudoInst<(outs GPR:$dst), (ins GPR:$src), IIC_iMOVsi,
3757- [(set GPR:$dst, CPSR, (ARMsrl_glue GPR:$src))]>,
3758- UnaryDP, Sched<[WriteALU]>, Requires<[IsARM]>;
3759- def MOVsra_glue : PseudoInst<(outs GPR:$dst), (ins GPR:$src), IIC_iMOVsi,
3760- [(set GPR:$dst, CPSR, (ARMsra_glue GPR:$src))]>,
3761- UnaryDP, Sched<[WriteALU]>, Requires<[IsARM]>;
3753+ def LSRs1 : PseudoInst<(outs GPR:$dst), (ins GPR:$src), IIC_iMOVsi,
3754+ [(set GPR:$dst, CPSR, (ARMlsrs1 GPR:$src))]>,
3755+ UnaryDP, Sched<[WriteALU]>, Requires<[IsARM]>;
3756+ def ASRs1 : PseudoInst<(outs GPR:$dst), (ins GPR:$src), IIC_iMOVsi,
3757+ [(set GPR:$dst, CPSR, (ARMasrs1 GPR:$src))]>,
3758+ UnaryDP, Sched<[WriteALU]>, Requires<[IsARM]>;
37623759}
37633760
37643761//===----------------------------------------------------------------------===//
0 commit comments