[Webkit-unassigned] [Bug 282901] [RISCV] Using lshift64 in MacroAssembler for RISCV

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Dec 9 02:56:06 PST 2024


https://bugs.webkit.org/show_bug.cgi?id=282901

david.abd+webkit at gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |david.abd+webkit at gmail.com

--- Comment #4 from david.abd+webkit at gmail.com ---
I am compiling webkitgtk-2.47.2 and still see this or similar issue. I checked `Source/JavaScriptCore/assembler/MacroAssembler.h` to make sure that the file is OK.

It seems there are 6 implementations for lshift32 and 5 for lshift64. I assume it needs `void lshift64(TrustedImm32 imm, RegisterID shiftAmount, RegisterID dest)`, which is not implemented. ARM64 has all 6 implemented.  Same for X86_64. I didn't check the rest.

Error:
```
builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp
In file included from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:28:
In file included from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/bytecode/ArithProfile.h:28:
In file included from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/jit/GPRInfo.h:28:
In file included from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/assembler/MacroAssembler.h:85:
/builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h:4612:17: warning: enumeration value 'Carry' not handled in switch [-Wswitch]
 4612 |         switch (cond) {
      |                 ^~~~
In file included from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp:28:
In file included from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/bytecode/ArithProfile.h:28:
In file included from /builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/jit/GPRInfo.h:28:
/builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/assembler/MacroAssembler.h:1054:9: error: no matching member function for call to 'lshift64'
 1054 |         lshift64(imm, shiftAmount, dest);
      |         ^~~~~~~~
/builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h:678:10: note: candidate function not viable: no known conversion from 'TrustedImm32' to 'RegisterID' (aka 'JSC::RISCV64Registers::RegisterID') for 1st argument
  678 |     void lshift64(RegisterID src, RegisterID shiftAmount, RegisterID dest)
      |          ^        ~~~~~~~~~~~~~~
/builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h:695:10: note: candidate function not viable: no known conversion from 'TrustedImm32' to 'Address' for 1st argument
  695 |     void lshift64(Address src, RegisterID shiftAmount, RegisterID dest)
      |          ^        ~~~~~~~~~~~
/builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h:688:10: note: candidate function not viable: no known conversion from 'TrustedImm32' to 'RegisterID' (aka 'JSC::RISCV64Registers::RegisterID') for 1st argument
  688 |     void lshift64(RegisterID src, TrustedImm32 imm, RegisterID dest)
      |          ^        ~~~~~~~~~~~~~~
/builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h:683:10: note: candidate function not viable: requires 2 arguments, but 3 were provided
  683 |     void lshift64(TrustedImm32 shiftAmount, RegisterID dest)
      |          ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/webkitgtk-2.47.2-build/webkitgtk-2.47.2/Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h:673:10: note: candidate function not viable: requires 2 arguments, but 3 were provided
  673 |     void lshift64(RegisterID shiftAmount, RegisterID dest)
      |          ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning and 1 error generated.
```

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20241209/7ed62b01/attachment-0001.htm>


More information about the webkit-unassigned mailing list