summaryrefslogtreecommitdiff
path: root/src/passes/I64ToI32Lowering.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/passes/I64ToI32Lowering.cpp')
-rw-r--r--src/passes/I64ToI32Lowering.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/passes/I64ToI32Lowering.cpp b/src/passes/I64ToI32Lowering.cpp
index e2d3cc414..26f40c284 100644
--- a/src/passes/I64ToI32Lowering.cpp
+++ b/src/passes/I64ToI32Lowering.cpp
@@ -366,7 +366,7 @@ struct I64ToI32Lowering : public WalkerPass<PostWalker<I64ToI32Lowering>> {
builder->makeLoad(4,
curr->signed_,
curr->offset + 4,
- 1,
+ std::min(uint32_t(curr->align), uint32_t(4)),
builder->makeGetLocal(ptrTemp, i32),
i32));
} else if (curr->signed_) {
@@ -409,7 +409,7 @@ struct I64ToI32Lowering : public WalkerPass<PostWalker<I64ToI32Lowering>> {
Store* storeHigh =
builder->makeStore(4,
curr->offset + 4,
- 1,
+ std::min(uint32_t(curr->align), uint32_t(4)),
builder->makeGetLocal(ptrTemp, i32),
builder->makeGetLocal(highBits, i32),
i32);