Rearrange pointers to fix the reinterpret_cast issue (#3077)

This commit is contained in:
Rostyslav Geyyer
2025-10-23 12:54:13 -05:00
committed by GitHub
parent fbd101b1ac
commit 6df69abeef

View File

@@ -789,12 +789,12 @@ struct store_C_col_major<CType, CFragT, 32, 32>
CScalarFragT chunks[vectorSize(CFragT{}) / VW];
} fragC{cFrag}; // Initialize with input fragment
*(reinterpret_cast<CScalarFragT*>(output + startOffset)) = fragC.chunks[0];
*(reinterpret_cast<CScalarFragT*>(output + startOffset + kMajorOffset)) = fragC.chunks[1];
*(reinterpret_cast<CScalarFragT*>(output + startOffset + 2 * kMajorOffset)) =
fragC.chunks[2];
*(reinterpret_cast<CScalarFragT*>(output + startOffset + 3 * kMajorOffset)) =
fragC.chunks[3];
CScalarFragT* fragPtr;
for(uint32_t idx = 0; idx < vectorSize(CFragT{}) / VW; ++idx)
{
fragPtr = reinterpret_cast<CScalarFragT*>(output + startOffset + idx * kMajorOffset);
*fragPtr = fragC.chunks[idx];
}
}
};