The store queue doesn't need to be ISA specific and architectures can
frequently store more than an int registers worth of data. A 128 bits seems
more common, but even 256 bits may be appropriate. Pretty much anything less
than a cache line size is buildable.
*/
template <class Impl>
class LSQUnit {
- protected:
- typedef TheISA::IntReg IntReg;
public:
typedef typename Impl::O3CPU O3CPU;
typedef typename Impl::DynInstPtr DynInstPtr;
/** The size of the store. */
int size;
/** The store data. */
- char data[sizeof(IntReg)];
+ char data[16];
/** Whether or not the store is split into two requests. */
bool isSplit;
/** Whether or not the store can writeback. */