Fix codegen for non-power-of-2 simd reprs. #72
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The fix to change
Vec3
and other non-power-of-2 simd vectors intorepr_c
temporarily didn't quite end up covering everything. Specifically, the actual codegen for therepr_simd
types was left untouched, so when you tried to compile something that was previously usingrepr_simd::Vec3
, it would fail at link time. Moreover, just changing the affected ones torepr_c
in client code while leaving the others asrepr_simd
would entail a lot of code changes, since conversions between stuff likerepr_c::Vec3
andrepr_simd::Vec4
don't exist. This patch fixes things so thatrepr_simd::Vec3
and others provides an identical interface to what it did before.