Lines Matching refs:InstARM32
370 class InstARM32 : public InstTarget {
371 InstARM32() = delete;
372 InstARM32(const InstARM32 &) = delete;
373 InstARM32 &operator=(const InstARM32 &) = delete;
485 const InstARM32 *Instr, const Cfg *Func,
488 const InstARM32 *Instr, const Cfg *Func);
496 InstARM32(Cfg *Func, InstKindARM32 Kind, SizeT Maxsrcs, Variable *Dest) in InstARM32() function
509 class InstARM32Pred : public InstARM32 {
517 : InstARM32(Func, Kind, Maxsrcs, Dest), Predicate(Predicate) {} in InstARM32Pred()
550 template <InstARM32::InstKindARM32 K, bool NeedsWidthSuffix>
591 template <InstARM32::InstKindARM32 K>
632 template <InstARM32::InstKindARM32 K>
646 void setSignType(InstARM32::FPSign SignType) { this->Sign = SignType; } in setSignType()
655 template <InstARM32::InstKindARM32 K>
698 template <InstARM32::InstKindARM32 K>
736 template <InstARM32::InstKindARM32 K>
787 template <InstARM32::InstKindARM32 K>
788 class InstARM32ThreeAddrFP : public InstARM32 {
823 : InstARM32(Func, K, 2, Dest) { in InstARM32ThreeAddrFP()
832 return K == InstARM32::Vceq || K == InstARM32::Vcgt || K == InstARM32::Vcge; in isVectorCompare()
836 template <InstARM32::InstKindARM32 K>
859 void setSignType(InstARM32::FPSign SignType) { this->Sign = SignType; } in setSignType()
868 template <InstARM32::InstKindARM32 K>
918 template <InstARM32::InstKindARM32 K>
919 class InstARM32FourAddrFP : public InstARM32 {
952 : InstARM32(Func, K, 3, Dest) { in InstARM32FourAddrFP()
963 template <InstARM32::InstKindARM32 K>
1003 using InstARM32Adc = InstARM32ThreeAddrGPR<InstARM32::Adc>;
1004 using InstARM32Add = InstARM32ThreeAddrGPR<InstARM32::Add>;
1005 using InstARM32And = InstARM32ThreeAddrGPR<InstARM32::And>;
1006 using InstARM32Asr = InstARM32ThreeAddrGPR<InstARM32::Asr>;
1007 using InstARM32Bic = InstARM32ThreeAddrGPR<InstARM32::Bic>;
1008 using InstARM32Eor = InstARM32ThreeAddrGPR<InstARM32::Eor>;
1009 using InstARM32Lsl = InstARM32ThreeAddrGPR<InstARM32::Lsl>;
1010 using InstARM32Lsr = InstARM32ThreeAddrGPR<InstARM32::Lsr>;
1011 using InstARM32Mul = InstARM32ThreeAddrGPR<InstARM32::Mul>;
1012 using InstARM32Orr = InstARM32ThreeAddrGPR<InstARM32::Orr>;
1013 using InstARM32Rsb = InstARM32ThreeAddrGPR<InstARM32::Rsb>;
1014 using InstARM32Rsc = InstARM32ThreeAddrGPR<InstARM32::Rsc>;
1015 using InstARM32Sbc = InstARM32ThreeAddrGPR<InstARM32::Sbc>;
1016 using InstARM32Sdiv = InstARM32ThreeAddrGPR<InstARM32::Sdiv>;
1017 using InstARM32Sub = InstARM32ThreeAddrGPR<InstARM32::Sub>;
1018 using InstARM32Udiv = InstARM32ThreeAddrGPR<InstARM32::Udiv>;
1019 using InstARM32Vadd = InstARM32ThreeAddrFP<InstARM32::Vadd>;
1020 using InstARM32Vand = InstARM32ThreeAddrFP<InstARM32::Vand>;
1021 using InstARM32Vbsl = InstARM32ThreeAddrFP<InstARM32::Vbsl>;
1022 using InstARM32Vceq = InstARM32ThreeAddrFP<InstARM32::Vceq>;
1023 using InstARM32Vcge = InstARM32ThreeAddrSignAwareFP<InstARM32::Vcge>;
1024 using InstARM32Vcgt = InstARM32ThreeAddrSignAwareFP<InstARM32::Vcgt>;
1025 using InstARM32Vdiv = InstARM32ThreeAddrFP<InstARM32::Vdiv>;
1026 using InstARM32Veor = InstARM32ThreeAddrFP<InstARM32::Veor>;
1027 using InstARM32Vmla = InstARM32FourAddrFP<InstARM32::Vmla>;
1028 using InstARM32Vmls = InstARM32FourAddrFP<InstARM32::Vmls>;
1029 using InstARM32Vmovl = InstARM32ThreeAddrFP<InstARM32::Vmovl>;
1030 using InstARM32Vmovh = InstARM32ThreeAddrFP<InstARM32::Vmovh>;
1031 using InstARM32Vmovhl = InstARM32ThreeAddrFP<InstARM32::Vmovhl>;
1032 using InstARM32Vmovlh = InstARM32ThreeAddrFP<InstARM32::Vmovlh>;
1033 using InstARM32Vmul = InstARM32ThreeAddrFP<InstARM32::Vmul>;
1034 using InstARM32Vmvn = InstARM32UnaryopFP<InstARM32::Vmvn>;
1035 using InstARM32Vneg = InstARM32UnaryopSignAwareFP<InstARM32::Vneg>;
1036 using InstARM32Vorr = InstARM32ThreeAddrFP<InstARM32::Vorr>;
1037 using InstARM32Vqadd = InstARM32ThreeAddrSignAwareFP<InstARM32::Vqadd>;
1038 using InstARM32Vqsub = InstARM32ThreeAddrSignAwareFP<InstARM32::Vqsub>;
1039 using InstARM32Vqmovn2 = InstARM32ThreeAddrSignAwareFP<InstARM32::Vqmovn2>;
1040 using InstARM32Vmulh = InstARM32ThreeAddrSignAwareFP<InstARM32::Vmulh>;
1041 using InstARM32Vmlap = InstARM32ThreeAddrFP<InstARM32::Vmlap>;
1042 using InstARM32Vshl = InstARM32ThreeAddrSignAwareFP<InstARM32::Vshl>;
1043 using InstARM32Vshr = InstARM32ThreeAddrSignAwareFP<InstARM32::Vshr>;
1044 using InstARM32Vsub = InstARM32ThreeAddrFP<InstARM32::Vsub>;
1045 using InstARM32Ldr = InstARM32LoadBase<InstARM32::Ldr>;
1046 using InstARM32Ldrex = InstARM32LoadBase<InstARM32::Ldrex>;
1047 using InstARM32Vldr1d = InstARM32LoadBase<InstARM32::Vldr1d>;
1048 using InstARM32Vldr1q = InstARM32LoadBase<InstARM32::Vldr1q>;
1049 using InstARM32Vzip = InstARM32ThreeAddrFP<InstARM32::Vzip>;
1052 using InstARM32Movt = InstARM32TwoAddrGPR<InstARM32::Movt>;
1053 using InstARM32Movw = InstARM32UnaryopGPR<InstARM32::Movw, false>;
1054 using InstARM32Clz = InstARM32UnaryopGPR<InstARM32::Clz, false>;
1055 using InstARM32Mvn = InstARM32UnaryopGPR<InstARM32::Mvn, false>;
1056 using InstARM32Rbit = InstARM32UnaryopGPR<InstARM32::Rbit, false>;
1057 using InstARM32Rev = InstARM32UnaryopGPR<InstARM32::Rev, false>;
1061 using InstARM32Sxt = InstARM32UnaryopGPR<InstARM32::Sxt, true>;
1062 using InstARM32Uxt = InstARM32UnaryopGPR<InstARM32::Uxt, true>;
1063 using InstARM32Vsqrt = InstARM32UnaryopFP<InstARM32::Vsqrt>;
1064 using InstARM32Mla = InstARM32FourAddrGPR<InstARM32::Mla>;
1065 using InstARM32Mls = InstARM32FourAddrGPR<InstARM32::Mls>;
1066 using InstARM32Cmn = InstARM32CmpLike<InstARM32::Cmn>;
1067 using InstARM32Cmp = InstARM32CmpLike<InstARM32::Cmp>;
1068 using InstARM32Tst = InstARM32CmpLike<InstARM32::Tst>;
1073 class InstARM32Label : public InstARM32 {
1174 class InstARM32Call : public InstARM32 {
1194 class InstARM32RegisterStackOp : public InstARM32 {
1208 : InstARM32(Func, Kind, Maxsrcs, Dest) {} in InstARM32RegisterStackOp()
1292 class InstARM32Ret : public InstARM32 {
1412 class InstARM32Trap : public InstARM32 {
1558 : InstARM32Pred(Func, InstARM32::Extract, 1, Dest, Predicate), in InstARM32Extract()
1587 : InstARM32Pred(Func, InstARM32::Insert, 1, Dest, Predicate), in InstARM32Insert()