https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93876
Bug ID: 93876 Summary: [9 10 Regression] [SH] webkit2gtk fails to build with "error: unable to find a register to spill in class 'R0_REGS'" Product: gcc Version: 9.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: glaubitz at physik dot fu-berlin.de CC: gcc-bugzilla at mkarcher dot dialup.fu-berlin.de, jrtc27 at jrtc27 dot com, kkojima at gcc dot gnu.org, olegendo at gcc dot gnu.org Target Milestone: --- Target: sh*-*-* Trying to build webkit2gtk on Debian sh4 with gcc-9/gcc-10 fails with: ../Source/JavaScriptCore/runtime/JSArrayBufferView.cpp: In member function 'JSC::ArrayBuffer* JSC::JSArrayBufferView::slowDownAndWasteMemory()': ../Source/JavaScriptCore/runtime/JSArrayBufferView.cpp:298:1: error: unable to find a register to spill in class 'R0_REGS' 298 | } | ^ ../Source/JavaScriptCore/runtime/JSArrayBufferView.cpp:298:1: error: this is the insn: (insn 419 418 425 47 (parallel [ (set (subreg:SI (reg:QI 433) 0) (unspec_volatile:SI [ (mem/v:QI (reg/f:SI 3 r3 [orig:487 _347 ] [487]) [-1 S1 A8]) (reg:QI 7 r7 [425]) (subreg:QI (reg:SI 5 r5 [432]) 0) ] UNSPECV_CMPXCHG_1)) (set (mem/v:QI (reg/f:SI 3 r3 [orig:487 _347 ] [487]) [-1 S1 A8]) (unspec_volatile:QI [ (const_int 0 [0]) ] UNSPECV_CMPXCHG_2)) (set (reg:SI 147 t) (unspec_volatile:SI [ (const_int 0 [0]) ] UNSPECV_CMPXCHG_3)) (clobber (scratch:SI)) (clobber (reg:SI 0 r0)) (clobber (reg:SI 1 r1)) ]) "/usr/include/c++/10/bits/atomic_base.h":464:36 405 {atomic_compare_and_swapqi_soft_gusa} (expr_list:REG_DEAD (reg:SI 5 r5 [432]) (expr_list:REG_DEAD (reg:QI 7 r7 [425]) (expr_list:REG_UNUSED (reg:QI 433) (expr_list:REG_UNUSED (reg:SI 1 r1) (expr_list:REG_UNUSED (reg:SI 0 r0) (nil))))))) ../Source/JavaScriptCore/runtime/JSArrayBufferView.cpp:298: confused by earlier errors, bailing out