#include #include template std::size_t packed_sizes() { return sizeof(T); } template std::size_t packed_sizes() { return sizeof(T) + packed_sizes(); } template std::size_t sizes() { return migraphx::gpu::pack_args({Ts{}...}).size(); } template std::size_t padding() { EXPECT(sizes() >= packed_sizes()); return sizes() - packed_sizes(); } struct float_struct { float x, y; }; TEST_CASE(alignment_padding) { EXPECT(padding() == 0); EXPECT(padding() == 0); EXPECT(padding() == 2); EXPECT(padding() == 2); EXPECT(padding() == 1); } int main(int argc, const char* argv[]) { test::run(argc, argv); }