/gem5/src/arch/generic/ |
H A D | vec_reg.hh | 57 * a type (VecElem) to which bytes are casted, and the amount of such 59 * calculated as sizeof(VecElem) * NumElems must match the size of the 62 * references to particular bytes understood as a VecElem. 66 * identified by a type (VecElem) and an index (although the view is 167 * VecElem. 168 * @tparam VecElem Type of each element of the vector. 173 template <typename VecElem, size_t NumElems, bool Const> 177 static constexpr size_t SIZE = sizeof(VecElem) * NumElems; 185 using MyClass = VecRegT<VecElem, NumElems, Const>; 207 const VecElem [all...] |
H A D | vec_pred_reg.hh | 59 /// @tparam VecElem Type of the vector elements. 69 template <typename VecElem, size_t NumElems, bool Packed, bool Const> 75 sizeof(VecElem) * NumElems; 86 using MyClass = VecPredRegT<VecElem, NumElems, Packed, Const>; 114 return container[idx * (Packed ? 1 : sizeof(VecElem))]; 121 return container[idx * (Packed ? 1 : sizeof(VecElem))]; 129 return container.get_bits(idx * (Packed ? 1 : sizeof(VecElem)), 130 (Packed ? 1 : sizeof(VecElem))); 138 container.set_bits(idx * (Packed ? 1 : sizeof(VecElem)), 139 (Packed ? 1 : sizeof(VecElem)), va [all...] |
/gem5/src/arch/arm/ |
H A D | registers.hh | 64 // Number of VecElem per Vector Register considering only pre-SVE 67 // Number of VecElem per Vector Register, computed based on the vector length 70 using VecElem = uint32_t; 71 using VecReg = ::VecRegT<VecElem, NumVecElemPerVecReg, false>; 72 using ConstVecReg = ::VecRegT<VecElem, NumVecElemPerVecReg, true>; 75 using VecPredReg = ::VecPredRegT<VecElem, NumVecElemPerVecReg, 77 using ConstVecPredReg = ::VecPredRegT<VecElem, NumVecElemPerVecReg,
|
H A D | remote_gdb.hh | 100 VecElem v[NumVecV8ArchRegs * NumVecElemPerNeonVecReg];
|
H A D | remote_gdb.cc | 214 auto v = (context->readVecReg(RegId(VecRegClass, i))).as<VecElem>(); 243 RegId(VecRegClass, i))).as<VecElem>();
|
/gem5/src/cpu/ |
H A D | inst_res.hh | 50 using VecElem = TheISA::VecElem; 57 VecElem vecElem; 64 VecElem, member in class:InstResult::ResultType 107 case ResultType::VecElem: 133 case ResultType::VecElem: 157 bool isVecElem() const { return type == ResultType::VecElem; } 188 const VecElem&
|
H A D | exec_context.hh | 78 using VecElem = TheISA::VecElem; 163 virtual VecElem readVecElemOperand(const StaticInst *si, 168 const VecElem val) = 0;
|
H A D | thread_context.hh | 96 using VecElem = TheISA::VecElem; 245 virtual const VecElem& readVecElem(const RegId& reg) const = 0; 259 virtual void setVecElem(const RegId& reg, const VecElem& val) = 0; 337 virtual const VecElem& readVecElemFlat(RegIndex idx, 340 const VecElem& val) = 0;
|
H A D | simple_thread.hh | 100 using VecElem = TheISA::VecElem; 407 const VecElem & 412 const VecElem& regVal = readVecElemFlat(flatIndex, reg.elemIndex()); 492 setVecElem(const RegId ®, const VecElem &val) override 652 const VecElem & 655 return vecRegs[reg].as<TheISA::VecElem>()[elemIndex]; 660 const VecElem &val) override 662 vecRegs[reg].as<TheISA::VecElem>()[elemIndex] = val;
|
/gem5/src/cpu/o3/ |
H A D | regfile.hh | 67 using VecElem = TheISA::VecElem; 229 template <typename VecElem, int LaneIdx> 230 VecLaneT<VecElem, true> 233 return readVecReg(phys_reg).laneView<VecElem, LaneIdx>(); 237 template <typename VecElem> 238 VecLaneT<VecElem, true> 241 return readVecReg(phys_reg).laneView<VecElem>(phys_reg->elemIndex()); 259 const VecElem & 263 auto ret = vectorRegFile[phys_reg->index()].as<VecElem>(); [all...] |
H A D | cpu.hh | 106 using VecElem = TheISA::VecElem; 376 template<typename VecElem, int LaneIdx> 377 VecLaneT<VecElem, true> 381 return regFile.readVecLane<VecElem, LaneIdx>(phys_reg); 387 template<typename VecElem> 388 VecLaneT<VecElem, true> 392 return regFile.readVecLane<VecElem>(phys_reg); 404 const VecElem& readVecElem(PhysRegIdPtr reg_idx) const; 418 void setVecElem(PhysRegIdPtr reg_idx, const VecElem [all...] |
H A D | thread_context.hh | 286 const VecElem & 332 setVecElem(const RegId& reg, const VecElem& val) override 461 template <typename VecElem> 462 VecLaneT<VecElem, true> 465 return cpu->template readArchVecLane<VecElem>(idx, lId, 476 const VecElem &readVecElemFlat(RegIndex idx, 479 const VecElem& val) override;
|
H A D | dyn_inst.hh | 70 using VecElem = TheISA::VecElem; 360 VecElem readVecElemOperand(const StaticInst *si, int idx) const override 409 const VecElem val) override
|
H A D | thread_context_impl.hh | 235 const TheISA::VecElem& 294 const ElemIndex& elemIndex, const VecElem& val)
|
H A D | rename_map.cc | 207 VecReg dst = new_RF[i].as<TheISA::VecElem>();
|
/gem5/src/arch/null/ |
H A D | registers.hh | 53 using VecElem = ::DummyVecElem;
|
/gem5/src/arch/sparc/ |
H A D | registers.hh | 50 using VecElem = ::DummyVecElem;
|
/gem5/src/arch/power/ |
H A D | registers.hh | 50 using VecElem = ::DummyVecElem;
|
/gem5/src/arch/x86/ |
H A D | registers.hh | 100 using VecElem = ::DummyVecElem;
|
/gem5/src/arch/alpha/ |
H A D | registers.hh | 50 using VecElem = ::DummyVecElem;
|
/gem5/src/cpu/simple/ |
H A D | exec_context.hh | 64 using VecElem = TheISA::VecElem; 252 template <typename VecElem> 253 VecLaneT<VecElem, true> 259 return thread->readVecLane<VecElem>(reg); 319 VecElem 331 const VecElem val) override
|
/gem5/src/arch/mips/ |
H A D | registers.hh | 287 using VecElem = ::DummyVecElem;
|
/gem5/src/cpu/checker/ |
H A D | thread_context.hh | 322 const VecElem & 368 setVecElem(const RegId& reg, const VecElem& val) override 523 const VecElem & 531 const ElemIndex& elem_idx, const VecElem& val) override
|
H A D | cpu.hh | 302 VecElem 354 InstResult::ResultType::VecElem)); member in class:CheckerCPU::InstResult::ResultType 404 const VecElem val) override
|
/gem5/src/cpu/minor/ |
H A D | exec_context.hh | 175 TheISA::VecElem 312 const TheISA::VecElem val) override
|