Lines Matching defs:rn
3916 val rn =
3925 DataProcessingALU(opc,(rn,(imm32,#C((!CPSR) : PSR))))
3946 val rn =
3954 val (result,_) = DataProcessingALU(opc,(rn,(imm32,#C((!CPSR) : PSR))))
4108 val rn = R n
4110 val result = BitsN.*(rn,rm)
4119 ((!CPSR),(L3.K false) (rn,(rm,#C((!CPSR) : PSR)))))
4129 val rn = R n
4132 val result = BitsN.+(BitsN.*(rn,rm),ra)
4142 (L3.K false) (rn,(rm,(ra,#C((!CPSR) : PSR))))))
4152 val rn = R n
4159 then BitsN.*(BitsN.signExtend 64 rn,BitsN.signExtend 64 rm)
4160 else BitsN.*(BitsN.zeroExtend 64 rn,BitsN.zeroExtend 64 rm),
4173 (rn,(rm,(rdhi,(rdlo,#C((!CPSR) : PSR)))))))
4178 (rn,(rm,(rdhi,(rdlo,#V((!CPSR) : PSR)))))))
23759 Option.SOME(rd,rn) =>
23765 (opc,(setflags,(rd,(rn,(rm,(SRType_LSL,0))))))))
23772 (opc,(setflags,(rd,(rn,imm12))))))
23778 (Option.SOME(rd,(rn,rm)),("",(typ,NAT n))) =>
23779 OK(c,Data(Register(opc,(setflags,(rd,(rn,(rm,(typ,n))))))))
23780 | (Option.SOME(rd,(rn,rm)),("",(typ,REGISTER rs))) =>
23784 (opc,(setflags,(rd,(rn,(rm,(typ,rs))))))))
23802 Option.SOME rn =>
23807 (TestCompareRegister(opc,(rn,(rm,(SRType_LSL,0))))))
23811 OK(c,Data(TestCompareImmediate(opc,(rn,imm12))))
23817 (Option.SOME(rn,rm),("",(typ,NAT n))) =>
23818 OK(c,Data(TestCompareRegister(opc,(rn,(rm,(typ,n))))))
23819 | (Option.SOME(rn,rm),("",(typ,REGISTER rs))) =>
23824 (true,(BitsN.B(0x0,4),(rn,(rm,(typ,rs))))))))
23861 Option.SOME(rd,rn) =>
23867 (false,(setflags,(rd,(rn,(typ,rm)))))))
23877 (false,(setflags,(rd,(rn,(typ,n)))))))
24012 (Option.SOME c,(Option.SOME(rd,rn),Option.SOME(true,imm12))) =>
24013 OK(c,Data(AddSub(sub,(rd,(rn,imm12)))))
24021 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24022 OK(c,Multiply(Multiply32(setflags,(rd,(rn,rm)))))
24027 (Option.SOME c,Option.SOME(rd,(rn,(rm,ra)))) =>
24028 OK(c,Multiply(MultiplyAccumulate(setflags,(rd,(rn,(rm,ra))))))
24033 (Option.SOME c,Option.SOME(rdlo,(rdhi,(rn,rm)))) =>
24036 (MultiplyLong(acc,(signed,(setflags,(rdhi,(rdlo,(rn,rm))))))))
24041 (Option.SOME c,Option.SOME(rdlo,(rdhi,(rn,rm)))) =>
24042 OK(c,Multiply(MultiplyAccumulateAccumulate(rdhi,(rdlo,(rn,rm)))))
24047 (Option.SOME c,Option.SOME(rd,(rn,(rm,ra)))) =>
24048 OK(c,Multiply(MultiplySubtract(rd,(rn,(rm,ra)))))
24053 (Option.SOME c,Option.SOME(rd,(rn,(rm,ra)))) =>
24057 (m_high,(n_high,(rd,(rn,(rm,ra)))))))
24062 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24064 Multiply(Signed16Multiply32Result(m_high,(n_high,(rd,(rn,rm))))))
24069 (Option.SOME c,Option.SOME(rd,(rn,(rm,ra)))) =>
24072 (Signed16x32Multiply32Accumulate(m_high,(rd,(rn,(rm,ra))))))
24077 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24078 OK(c,Multiply(Signed16x32Multiply32Result(m_high,(rd,(rn,rm)))))
24083 (Option.SOME c,Option.SOME(rdlo,(rdhi,(rn,rm)))) =>
24087 (m_high,(n_high,(rdhi,(rdlo,(rn,rm)))))))
24092 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24095 (SignedMultiplyDual(sub,(swap,(rd,(rn,(rm,BitsN.B(0xF,4))))))))
24100 (Option.SOME c,Option.SOME(rd,(rn,(rm,ra)))) =>
24101 OK(c,Multiply(SignedMultiplyDual(sub,(swap,(rd,(rn,(rm,ra)))))))
24106 (Option.SOME c,Option.SOME(rdlo,(rdhi,(rn,rm)))) =>
24109 (SignedMultiplyLongDual(sub,(swap,(rdhi,(rdlo,(rn,rm)))))))
24114 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24118 (round,(rd,(rn,(rm,BitsN.B(0xF,4)))))))
24123 (Option.SOME c,Option.SOME(rd,(rn,(rm,ra)))) =>
24125 Multiply(SignedMostSignificantMultiply(round,(rd,(rn,(rm,ra))))))
24130 (Option.SOME c,Option.SOME(rd,(rn,(rm,ra)))) =>
24134 (round,(rd,(rn,(rm,ra))))))
24139 (Option.SOME c,Option.SOME(rd,(rm,rn))) =>
24140 OK(c,Media(SaturatingAddSubtract(opc,(rd,(rm,rn)))))
24145 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24146 OK(c,SIMD(SignedAddSub16(opc,(rd,(rn,rm)))))
24151 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24152 OK(c,SIMD(SignedSaturatingAddSub16(opc,(rd,(rn,rm)))))
24157 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24158 OK(c,SIMD(SignedHalvingAddSub16(opc,(rd,(rn,rm)))))
24163 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24164 OK(c,SIMD(SignedAddSub8(sub,(rd,(rn,rm)))))
24169 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24170 OK(c,SIMD(SignedSaturatingAddSub8(sub,(rd,(rn,rm)))))
24175 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24176 OK(c,SIMD(SignedHalvingAddSub8(sub,(rd,(rn,rm)))))
24181 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24182 OK(c,SIMD(UnsignedAddSub16(opc,(rd,(rn,rm)))))
24187 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24188 OK(c,SIMD(UnsignedSaturatingAddSub16(opc,(rd,(rn,rm)))))
24193 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24194 OK(c,SIMD(UnsignedHalvingAddSub16(opc,(rd,(rn,rm)))))
24199 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24200 OK(c,SIMD(UnsignedAddSub8(sub,(rd,(rn,rm)))))
24205 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24206 OK(c,SIMD(UnsignedSaturatingAddSub8(sub,(rd,(rn,rm)))))
24211 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24212 OK(c,SIMD(UnsignedHalvingAddSub8(sub,(rd,(rn,rm)))))
24217 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24220 (UnsignedSumAbsoluteDifferences(rd,(rn,(rm,BitsN.B(0xF,4))))))
24225 (Option.SOME c,Option.SOME(rd,(rn,(rm,ra)))) =>
24226 OK(c,SIMD(UnsignedSumAbsoluteDifferences(rd,(rn,(rm,ra)))))
24233 Option.SOME(rd,(rn,rm)) =>
24235 val (rn,rm) = if tbform then (rm,rn) else (rn,rm)
24238 Media(PackHalfword(SRType_LSL,(0,(false,(rd,(rn,rm)))))))
24243 Option.SOME(rd,(rn,rm)) =>
24256 (SRType_ASR,(n,(true,(rd,(rn,rm)))))))
24268 (SRType_LSL,(n,(false,(rd,(rn,rm)))))))
24286 ("",Option.SOME(rd,rn)) =>
24292 (SRType_LSL,(0,(sat_to,(unsigned,(rd,rn)))))))
24300 (n,(sat_to,(unsigned,(rd,rn)))))))
24305 (SRType_ASR,(n,(sat_to,(unsigned,(rd,rn)))))))
24324 ("",Option.SOME(rd,rn)) =>
24325 OK(c,Media(Saturate16(sat_to,(unsigned,(rd,rn)))))
24356 Option.SOME(rd,(rn,rm)) =>
24357 OK(c,pick_sxtb(opc,(unsigned,(rd,(rn,(rm,0))))))
24361 (Option.SOME(rd,(rn,rm)),("",r)) =>
24362 OK(c,pick_sxtb(opc,(unsigned,(rd,(rn,(rm,r))))))
24369 (Option.SOME c,Option.SOME(rd,(rn,rm))) =>
24370 OK(c,Media(SelectBytes(rd,(rn,rm))))
24399 Option.SOME(rd,rn) =>
24407 (unsigned,(rd,(rn,(l,Nat.-(w,1)))))))
24436 Option.SOME(rd,rn) =>
24444 (rd,(rn,(l,Nat.-(Nat.+(l,w),1))))))
24469 Option.SOME rn =>
24480 (wb,(rn,immediate_form1 imm32)))))
24491 (rn,
24507 (rn,register_form1(rm,(typ,n)))))))
24517 (Option.SOME rn,[]) =>
24523 (rn,immediate_form1(BitsN.B(0x0,32)))))))
24524 | (Option.SOME rn,[offset]) =>
24534 (rn,immediate_form1 imm32)))))
24545 (rn,
24549 | (Option.SOME rn,[offset,sh]) =>
24560 (rn,
24595 (Option.SOME rn,Option.SOME(true,imm32)) =>
24596 ("",Option.SOME(rn,Option.SOME imm32))
24607 Option.SOME rn => ("",Option.SOME(rn,NONE))
24614 fun pick_ldr_str (opc,(add,(index,(wback,(rt,(rn,offset)))))) =
24616 val r = (add,(index,(wback,(rt,(rn,offset)))))
24620 (case (index,(wback,(rn,offset))) of
24635 ("",Option.SOME(add,(index,(wback,(rn,offset))))) =>
24638 (opc,(add,(index,(wback,(rt,(rn,offset)))))))
24661 (byte,(unsigned,(add,(index,(wback,(rt,(rn,offset))))))) =
24662 case (index,(wback,(rn,offset))) of
24671 val r = (unsigned,(add,(index,(wback,(rt,(rn,offset))))))
24682 ("",Option.SOME(add,(index,(wback,(rn,offset))))) =>
24686 (unsigned,(add,(index,(wback,(rt,(rn,offset))))))))
24707 fun pick_ldrd_strd (load,(add,(index,(wback,(rt1,(rt2,(rn,offset))))))) =
24709 val r = (add,(index,(wback,(rt1,(rt2,(rn,offset))))))
24712 then case (index,(wback,(rn,offset))) of
24725 ("",Option.SOME(add,(index,(wback,(rn,offset))))) =>
24729 (add,(index,(wback,(rt1,(rt2,(rn,offset))))))))
24812 (Option.SOME rt,("",Option.SOME(rn,Option.SOME imm32))) =>
24813 OK(c,Load(LoadExclusive(rt,(rn,imm32))))
24814 | (Option.SOME rt,("",Option.SOME(rn,NONE))) =>
24815 OK(c,Load(LoadExclusive(rt,(rn,BitsN.B(0x0,32)))))
24824 (Option.SOME rt,("",Option.SOME(rn,NONE))) =>
24828 then LoadExclusiveByte(rt,rn)
24829 else LoadExclusiveHalf(rt,rn)))
24837 (Option.SOME(rt1,rt2),("",Option.SOME(rn,NONE))) =>
24838 OK(c,Load(LoadExclusiveDoubleword(rt1,(rt2,rn))))
24846 (Option.SOME(rd,rt),("",Option.SOME(rn,Option.SOME imm32))) =>
24847 OK(c,Store(StoreExclusive(rd,(rt,(rn,imm32)))))
24848 | (Option.SOME(rd,rt),("",Option.SOME(rn,NONE))) =>
24849 OK(c,Store(StoreExclusive(rd,(rt,(rn,BitsN.B(0x0,32))))))
24857 (Option.SOME(rd,rt),("",Option.SOME(rn,NONE))) =>
24861 then StoreExclusiveByte(rd,(rt,rn))
24862 else StoreExclusiveHalf(rd,(rt,rn))))
24870 (Option.SOME(rd,(rt1,rt2)),("",Option.SOME(rn,NONE))) =>
24871 OK(c,Store(StoreExclusiveDoubleword(rd,(rt1,(rt2,rn)))))
24879 (Option.SOME(rt1,rt2),("",Option.SOME(rn,NONE))) =>
24880 OK(c,Swap(byte,(rt1,(rt2,rn))))
24913 (Option.SOME rn,(Option.SOME(false,w),true)) =>
24915 val r = (inc,(index,(wb = "!",(rn,w))))
24922 | (Option.SOME rn,(Option.SOME(true,w),true)) =>
24930 (wb = "!",(rn,BitsN.bits(14,0) w))))))
24936 (index = inc,(rn,BitsN.bits(14,0) w)))))
24943 (inc,(index = inc,(rn,w)))))
24957 (Option.SOME rn,(Option.SOME(single,(d,imm8)),true)) =>
24960 val a = (single,(inc,(wback,(d,(rn,imm8)))))