From 8c132633c86a7e496f84e3458c47520d0cc4d938 Mon Sep 17 00:00:00 2001 From: Raul Herbster Date: Thu, 30 Aug 2007 23:34:14 +0000 Subject: [PATCH] Instruction formats added used to generate multiply instructions of V5TE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41629 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMInstrInfo.h | 91 ++++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 39 deletions(-) diff --git a/lib/Target/ARM/ARMInstrInfo.h b/lib/Target/ARM/ARMInstrInfo.h index 626c2b2232b..51cea19dcfc 100644 --- a/lib/Target/ARM/ARMInstrInfo.h +++ b/lib/Target/ARM/ARMInstrInfo.h @@ -68,48 +68,61 @@ namespace ARMII { FormShift = 13, FormMask = 31 << FormShift, -// Pseudo instructions + // Pseudo instructions Pseudo = 1 << FormShift, -// Multiply instructions + // Multiply instructions MulFrm = 2 << FormShift, - -// Branch instructions - Branch = 3 << FormShift, - BranchMisc = 4 << FormShift, - -// Data Processing instructions - DPRdIm = 5 << FormShift, - DPRdReg = 6 << FormShift, - DPRdSoReg = 7 << FormShift, - DPRdMisc = 8 << FormShift, - - DPRnIm = 9 << FormShift, - DPRnReg = 10 << FormShift, - DPRnSoReg = 11 << FormShift, - - DPRIm = 12 << FormShift, - DPRReg = 13 << FormShift, - DPRSoReg = 14 << FormShift, - - DPRImS = 15 << FormShift, - DPRRegS = 16 << FormShift, - DPRSoRegS = 17 << FormShift, - -// Load and Store - LdFrm = 18 << FormShift, - StFrm = 19 << FormShift, - -// Miscellaneous arithmetic instructions - ArithMisc = 20 << FormShift, - -// Thumb format - ThumbFrm = 21 << FormShift, - -// VFP format - VPFFrm = 22 << FormShift - - + MulSMLAW = 3 << FormShift, + MulSMULW = 4 << FormShift, + MulSMLA = 5 << FormShift, + MulSMUL = 6 << FormShift, + + // Branch instructions + Branch = 7 << FormShift, + BranchMisc = 8 << FormShift, + + // Data Processing instructions + DPRdIm = 9 << FormShift, + DPRdReg = 10 << FormShift, + DPRdSoReg = 11 << FormShift, + DPRdMisc = 12 << FormShift, + + DPRnIm = 13 << FormShift, + DPRnReg = 14 << FormShift, + DPRnSoReg = 15 << FormShift, + + DPRIm = 16 << FormShift, + DPRReg = 17 << FormShift, + DPRSoReg = 18 << FormShift, + + DPRImS = 19 << FormShift, + DPRRegS = 20 << FormShift, + DPRSoRegS = 21 << FormShift, + + // Load and Store + LdFrm = 22 << FormShift, + StFrm = 23 << FormShift, + + // Miscellaneous arithmetic instructions + ArithMisc = 24 << FormShift, + + // Thumb format + ThumbFrm = 25 << FormShift, + + // VFP format + VPFFrm = 26 << FormShift, + + // Field shifts - such shifts are used to set field while generating + // machine instructions. + RegRsShift = 8, + RegRdShift = 12, + RegRnShift = 16, + L_BitShift = 20, + S_BitShift = 20, + U_BitShift = 23, + IndexShift = 24, + I_BitShift = 25 }; } -- 2.34.1