NEW284361
[riscv] `riscv64RaiseMismatchedOperands': Unable to match operands [RegisterID, LabelReference] (due to WebAssembly.asm:744) (LoweringError)
https://bugs.webkit.org/show_bug.cgi?id=284361
Summary [riscv] `riscv64RaiseMismatchedOperands': Unable to match operands [RegisterI...
david.abd+webkit
Reported 2024-12-10 01:27:33 PST
Compiling webkitgtk-2.47.2 in Fedora/RISCV fails with the following error: ``` FAILED: JavaScriptCore/DerivedSources/LLIntAssembly.h /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/redhat-linux-build/webkitgtk-6.0/JavaScriptCore/DerivedSources/LLIntAssembly.h cd /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/redhat-linux-build/webkitgtk-6.0/JavaScriptCore/DerivedSources && /usr/bin/cmake -E env CMAKE_CXX_COMPILER_ID=Clang GCC_OFFLINEASM_SOURCE_MAP=OFF /usr/bin/ruby /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb -I/builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/redhat-linux-build/webkitgtk-6.0/JavaScriptCore/DerivedSources/ /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/llint/LowLevelInterpreter.asm /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/redhat-linux-build/webkitgtk-6.0/bin/LLIntOffsetsExtractor /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/redhat-linux-build/webkitgtk-6.0/JavaScriptCore/DerivedSources/LLIntAssembly.h normal --binary-format=ELF && /usr/bin/cmake -E touch_nocreate /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/redhat-linux-build/webkitgtk-6.0/JavaScriptCore/DerivedSources/LLIntAssembly.h /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/riscv64.rb:132:in `riscv64RaiseMismatchedOperands': Unable to match operands [RegisterID, LabelReference] (due to WebAssembly.asm:744) (LoweringError) from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/riscv64.rb:136:in `riscv64ValidateOperands' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/riscv64.rb:1630:in `lowerRISCV64' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:126:in `lower' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:184:in `block in lower' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:182:in `each' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:182:in `lower' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:399:in `block (5 levels) in <main>' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:101:in `inAsm' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:398:in `block (4 levels) in <main>' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/settings.rb:201:in `emitCodeInConfiguration' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:396:in `block (3 levels) in <main>' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/settings.rb:107:in `forSettings' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:381:in `block (2 levels) in <main>' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:377:in `each' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:377:in `block in <main>' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:361:in `open' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:361:in `<main>' /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/riscv64.rb:132:in `riscv64RaiseMismatchedOperands': Unable to match operands [RegisterID, LabelReference] (RuntimeError) from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/riscv64.rb:136:in `riscv64ValidateOperands' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/riscv64.rb:1630:in `lowerRISCV64' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:126:in `lower' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:184:in `block in lower' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:182:in `each' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/backends.rb:182:in `lower' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:399:in `block (5 levels) in <main>' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:101:in `inAsm' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:398:in `block (4 levels) in <main>' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/settings.rb:201:in `emitCodeInConfiguration' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:396:in `block (3 levels) in <main>' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/settings.rb:107:in `forSettings' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:381:in `block (2 levels) in <main>' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:377:in `each' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:377:in `block in <main>' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:361:in `open' from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/offlineasm/asm.rb:361:in `<main>' ninja: build stopped: subcommand failed. ```
Attachments
Radar WebKit Bug Importer
Comment 1 2024-12-17 01:28:12 PST
Andreas Schwab
Comment 2 2025-03-23 06:49:45 PDT
Broken by commit d5ba7ea242f0.
Andreas Schwab
Comment 3 2025-03-23 07:56:42 PDT
diff --git a/Source/JavaScriptCore/llint/WebAssembly.asm b/Source/JavaScriptCore/llint/WebAssembly.asm index 94481578bd0b..fef48859dc2d 100644 --- a/Source/JavaScriptCore/llint/WebAssembly.asm +++ b/Source/JavaScriptCore/llint/WebAssembly.asm @@ -744,7 +744,9 @@ end move sp, a0 cCall3(_operationJSToWasmEntryWrapperBuildFrame) - btpnz r1, _wasm_throw_from_slow_path_trampoline + btpz r1, .nothrow + jmp _wasm_throw_from_slow_path_trampoline +.nothrow: move r0, ws0 # Arguments @@ -890,7 +892,9 @@ end if ARMv7 branchIfWasmException(_wasm_throw_from_slow_path_trampoline) else - btpnz r1, _wasm_throw_from_slow_path_trampoline + btpz r1, .nothrow + jmp _wasm_throw_from_slow_path_trampoline +.nothrow: end # Clean up and return
Note You need to log in before you can comment on or make changes to this bug.