arch: Fix VecReg container alignement to 128bits view
This Patch will fix the alignment problem that appears sometimes when we try to create a view of 128 bits over the VecRegContainer object. That container is initially created as std::array<uint8_t, SIZE>, so there is no obligation to be aligned to 16 bytes. This patches forces all containers to be aligned to 16 bytes. The problem has been observed in the Jira Issue: https://gem5.atlassian.net/browse/GEM5-320 Change-Id: Id9fdd427bd7a4dc904edd519f31cc29c5b29c5e6 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27968 Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Reviewed-by: Ciro Santilli <ciro.santilli@arm.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -279,7 +279,8 @@ class VecRegContainer
|
||||
static constexpr inline size_t size() { return SIZE; };
|
||||
using Container = std::array<uint8_t, SIZE>;
|
||||
private:
|
||||
Container container;
|
||||
// 16-byte aligned to support 128bit element view
|
||||
alignas(16) Container container;
|
||||
using MyClass = VecRegContainer<SIZE>;
|
||||
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user