Index: src/compiler/wasm-linkage.cc |
diff --git a/src/compiler/wasm-linkage.cc b/src/compiler/wasm-linkage.cc |
index 98ec2c84bb1132a37c4b6138054aeaab68eeddbe..2cd02a6cc47a9cb45795c55a3a89b57a9097cb3f 100644 |
--- a/src/compiler/wasm-linkage.cc |
+++ b/src/compiler/wasm-linkage.cc |
@@ -178,7 +178,11 @@ struct Allocator { |
return type == kAstF32 || type == kAstF64; |
} |
int Words(LocalType type) { |
- if (kPointerSize < 8 && (type == kAstI64 || type == kAstF64)) { |
+ // The code generation for pushing parameters on the stack does not |
+ // distinguish between float32 and float64. Therefore also float32 needs |
+ // two words. |
+ if (kPointerSize < 8 && |
+ (type == kAstI64 || type == kAstF64 || type == kAstF32)) { |
return 2; |
} |
return 1; |