diff options
Diffstat (limited to 'src/arch/x86')
-rw-r--r-- | src/arch/x86/isa.hh | 6 | ||||
-rw-r--r-- | src/arch/x86/registers.hh | 28 |
2 files changed, 26 insertions, 8 deletions
diff --git a/src/arch/x86/isa.hh b/src/arch/x86/isa.hh index b61face09..7ad464643 100644 --- a/src/arch/x86/isa.hh +++ b/src/arch/x86/isa.hh @@ -117,6 +117,12 @@ namespace X86ISA } int + flattenVecPredIndex(int reg) const + { + return reg; + } + + int flattenCCIndex(int reg) const { return reg; diff --git a/src/arch/x86/registers.hh b/src/arch/x86/registers.hh index 509f7a111..893822263 100644 --- a/src/arch/x86/registers.hh +++ b/src/arch/x86/registers.hh @@ -41,6 +41,7 @@ #ifndef __ARCH_X86_REGISTERS_HH__ #define __ARCH_X86_REGISTERS_HH__ +#include "arch/generic/vec_pred_reg.hh" #include "arch/generic/vec_reg.hh" #include "arch/x86/generated/max_inst_regs.hh" #include "arch/x86/regs/int.hh" @@ -77,6 +78,11 @@ enum DependenceTags { Max_Reg_Index = Misc_Reg_Base + NumMiscRegs }; +const int NumVecRegs = 1; // Not applicable to x86 + // (1 to prevent warnings) +const int NumVecPredRegs = 1; // Not applicable to x86 + // (1 to prevent warnings) + // semantically meaningful register indices //There is no such register in X86 const int ZeroReg = NUM_INTREGS; @@ -94,14 +100,20 @@ typedef RegVal IntReg; typedef uint64_t CCReg; typedef RegVal MiscReg; -// dummy typedefs since we don't have vector regs -constexpr unsigned NumVecElemPerVecReg = 2; -using VecElem = uint32_t; -using VecReg = ::VecRegT<VecElem, NumVecElemPerVecReg, false>; -using ConstVecReg = ::VecRegT<VecElem, NumVecElemPerVecReg, true>; -using VecRegContainer = VecReg::Container; -// This has to be one to prevent warnings that are treated as errors -constexpr unsigned NumVecRegs = 1; +// Not applicable to x86 +using VecElem = ::DummyVecElem; +using VecReg = ::DummyVecReg; +using ConstVecReg = ::DummyConstVecReg; +using VecRegContainer = ::DummyVecRegContainer; +constexpr unsigned NumVecElemPerVecReg = ::DummyNumVecElemPerVecReg; +constexpr size_t VecRegSizeBytes = ::DummyVecRegSizeBytes; + +// Not applicable to x86 +using VecPredReg = ::DummyVecPredReg; +using ConstVecPredReg = ::DummyConstVecPredReg; +using VecPredRegContainer = ::DummyVecPredRegContainer; +constexpr size_t VecPredRegSizeBits = ::DummyVecPredRegSizeBits; +constexpr bool VecPredRegHasPackedRepr = ::DummyVecPredRegHasPackedRepr; //These floating point types are correct for mmx, but not //technically for x87 (80 bits) or at all for xmm (128 bits) |