Display the effect of aligned_double4 in dynamic allocating. #1
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.
Please check the change in
aligned_heap_vectorization.cpp
.We added
x
beforedata
andy
z
afterdata
. Then print the address for all these fields.The output in my computer is:
You can see
x
data
andy
are all 32-byte aligned, butz
is not.x
is 32-byte aligned because it's the first field in the object and the object is 32-byte aligned.data
is 32-byte aligned because thealigned_double4
still take effect, which forms the relative location for thedata
in the object.y
is 32-byte aligned because thedata
happens to occupy 32 bytes. Soy
just locate behind it.z
is not 32-byte aligned becausey
only occupies 4 bytes.z
itself doesn't declare any alignment attributes, so it is put right behindy
.