diff --git a/lld/test/wasm/data-segments.ll b/lld/test/wasm/data-segments.ll --- a/lld/test/wasm/data-segments.ll +++ b/lld/test/wasm/data-segments.ll @@ -222,7 +222,7 @@ ; PIC-DIS-NEXT: global.get 1 ; PIC-DIS-NEXT: [[PTR]].add ; DIS-NEXT: i32.const 0 -; DIS-NEXT: i32.const 10000 +; DIS-NEXT: [[PTR]].const 10000 ; DIS-NEXT: memory.fill 0 ; NOPIC-DIS-NEXT: [[PTR]].const 11064 diff --git a/lld/wasm/Writer.cpp b/lld/wasm/Writer.cpp --- a/lld/wasm/Writer.cpp +++ b/lld/wasm/Writer.cpp @@ -1226,7 +1226,7 @@ if (s->isBss) { writeI32Const(os, 0, "fill value"); - writeI32Const(os, s->size, "memory region size"); + writePtrConst(os, s->size, is64, "memory region size"); writeU8(os, WASM_OPCODE_MISC_PREFIX, "bulk-memory prefix"); writeUleb128(os, WASM_OPCODE_MEMORY_FILL, "memory.fill"); writeU8(os, 0, "memory index immediate");