Merge pull request #12410 from lioncash/ignored

Common/Crypto: Resolve -Wignored-attributes warnings
This commit is contained in:
Tilka 2023-12-13 18:39:22 +00:00 committed by GitHub
commit cdf4193e67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 3 deletions

View File

@ -250,7 +250,19 @@ public:
}
private:
std::array<__m128i, NUM_ROUND_KEYS> round_keys;
// Ensures alignment specifiers are respected.
struct XmmReg
{
__m128i data;
XmmReg& operator=(const __m128i& m)
{
data = m;
return *this;
}
operator __m128i() const { return data; }
};
std::array<XmmReg, NUM_ROUND_KEYS> round_keys;
};
#endif

View File

@ -166,7 +166,20 @@ public:
}
private:
using WorkBlock = CyclicArray<__m128i, 4>;
struct XmmReg
{
// Allows aliasing attributes to be respected in the
// face of templates.
__m128i data;
XmmReg& operator=(const __m128i& d)
{
data = d;
return *this;
}
operator __m128i() const { return data; }
};
using WorkBlock = CyclicArray<XmmReg, 4>;
ATTRIBUTE_TARGET("ssse3")
static inline __m128i byterev_16B(__m128i x)
@ -244,7 +257,7 @@ private:
virtual bool HwAccelerated() const override { return true; }
std::array<__m128i, 2> state{};
std::array<XmmReg, 2> state{};
};
#endif