s390:[wasm-simd] fix unpack low/high on the simulator
Change-Id: I1c7715d5133bc9fb0711c8d9922e2ca31ed37042 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2426947 Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#70100}
This commit is contained in:
parent
4263f8a5e8
commit
06a1a689a9
@ -3407,7 +3407,7 @@ template <class S, class D>
|
||||
void VectorUnpackHigh(void* dst, void* src) {
|
||||
D value = 0;
|
||||
for (size_t i = 0; i < kSimd128Size / sizeof(D); i++) {
|
||||
value = *(reinterpret_cast<S*>(src) + i + (sizeof(S) / 2));
|
||||
value = *(reinterpret_cast<S*>(src) + i);
|
||||
memcpy(reinterpret_cast<D*>(dst) + i, &value, sizeof(D));
|
||||
}
|
||||
}
|
||||
@ -3463,9 +3463,10 @@ EVALUATE(VUPLH) {
|
||||
template <class S, class D>
|
||||
void VectorUnpackLow(void* dst, void* src) {
|
||||
D value = 0;
|
||||
for (size_t i = kSimd128Size / sizeof(D); i > 0; i--) {
|
||||
value = *(reinterpret_cast<S*>(src) + i - 1);
|
||||
memcpy(reinterpret_cast<D*>(dst) + i - 1, &value, sizeof(D));
|
||||
size_t count = kSimd128Size / sizeof(D);
|
||||
for (size_t i = 0; i < count; i++) {
|
||||
value = *(reinterpret_cast<S*>(src) + i + count);
|
||||
memcpy(reinterpret_cast<D*>(dst) + i, &value, sizeof(D));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user