https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93877

--- Comment #7 from John Paul Adrian Glaubitz <glaubitz at physik dot 
fu-berlin.de> ---
Created attachment 47907
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47907&action=edit
Source and preprocessed source plus assembly, second case

Here are the saved temps for the second case for which
-fno-move-loop-invariants does not help:

/usr/bin/c++ -save-temps  -DBUILDING_GTK__=1 -DBUILDING_WEBKIT
-DBUILDING_WITH_CMAKE=1 -DBUILDING_WebCore -DGETTEXT_PACKAGE=\"WebKit2GTK-4.0\"
-DHAVE_CONFIG_H=1 -DJSC_GLIB_API_ENABLED -DSTATICALLY_LINKED_WITH_PAL=1
-DWEBKITGTK_API_VERSION_STRING=\"4.0\" -IDerivedSources/ForwardingHeaders
-I../Source/WebCore/platform/graphics/libwpe -I. -IDerivedSources/WebCore
-I../Source/WebCore -I../Source/WebCore/Modules/airplay
-I../Source/WebCore/Modules/applepay
-I../Source/WebCore/Modules/applepay/paymentrequest
-I../Source/WebCore/Modules/applicationmanifest
-I../Source/WebCore/Modules/beacon -I../Source/WebCore/Modules/cache
-I../Source/WebCore/Modules/credentialmanagement
-I../Source/WebCore/Modules/encryptedmedia
-I../Source/WebCore/Modules/encryptedmedia/legacy
-I../Source/WebCore/Modules/entriesapi -I../Source/WebCore/Modules/fetch
-I../Source/WebCore/Modules/geolocation -I../Source/WebCore/Modules/indexeddb
-I../Source/WebCore/Modules/indexeddb/client
-I../Source/WebCore/Modules/indexeddb/server
-I../Source/WebCore/Modules/indexeddb/shared
-I../Source/WebCore/Modules/mediacapabilities
-I../Source/WebCore/Modules/mediacontrols
-I../Source/WebCore/Modules/mediarecorder
-I../Source/WebCore/Modules/mediasession
-I../Source/WebCore/Modules/mediasource -I../Source/WebCore/Modules/mediastream
-I../Source/WebCore/Modules/mediastream/libwebrtc
-I../Source/WebCore/Modules/navigatorcontentutils
-I../Source/WebCore/Modules/notifications
-I../Source/WebCore/Modules/paymentrequest -I../Source/WebCore/Modules/plugins
-I../Source/WebCore/Modules/quota -I../Source/WebCore/Modules/speech
-I../Source/WebCore/Modules/streams -I../Source/WebCore/Modules/webaudio
-I../Source/WebCore/Modules/webauthn -I../Source/WebCore/Modules/webauthn/cbor
-I../Source/WebCore/Modules/webauthn/fido
-I../Source/WebCore/Modules/webdatabase -I../Source/WebCore/Modules/webdriver
-I../Source/WebCore/Modules/webgpu -I../Source/WebCore/Modules/webgpu/WHLSL
-I../Source/WebCore/Modules/webgpu/WHLSL/AST
-I../Source/WebCore/Modules/websockets -I../Source/WebCore/Modules/webvr
-I../Source/WebCore/accessibility
-I../Source/WebCore/accessibility/isolatedtree -I../Source/WebCore/animation
-I../Source/WebCore/bindings -I../Source/WebCore/bindings/js
-I../Source/WebCore/bridge -I../Source/WebCore/bridge/c
-I../Source/WebCore/bridge/jsc -I../Source/WebCore/contentextensions
-I../Source/WebCore/crypto -I../Source/WebCore/crypto/algorithms
-I../Source/WebCore/crypto/keys -I../Source/WebCore/crypto/parameters
-I../Source/WebCore/css -I../Source/WebCore/css/parser
-I../Source/WebCore/css/typedom -I../Source/WebCore/cssjit
-I../Source/WebCore/dom -I../Source/WebCore/dom/messageports
-I../Source/WebCore/domjit -I../Source/WebCore/editing
-I../Source/WebCore/fileapi -I../Source/WebCore/history
-I../Source/WebCore/html -I../Source/WebCore/html/canvas
-I../Source/WebCore/html/forms -I../Source/WebCore/html/parser
-I../Source/WebCore/html/shadow -I../Source/WebCore/html/track
-I../Source/WebCore/inspector -I../Source/WebCore/inspector/agents
-I../Source/WebCore/inspector/agents/page
-I../Source/WebCore/inspector/agents/worker -I../Source/WebCore/layout
-I../Source/WebCore/layout/blockformatting
-I../Source/WebCore/layout/displaytree -I../Source/WebCore/layout/floats
-I../Source/WebCore/layout/inlineformatting
-I../Source/WebCore/layout/inlineformatting/text
-I../Source/WebCore/layout/layouttree -I../Source/WebCore/loader
-I../Source/WebCore/loader/appcache -I../Source/WebCore/loader/archive
-I../Source/WebCore/loader/archive/mhtml -I../Source/WebCore/loader/cache
-I../Source/WebCore/loader/icon -I../Source/WebCore/mathml
-I../Source/WebCore/page -I../Source/WebCore/page/animation
-I../Source/WebCore/page/csp -I../Source/WebCore/page/scrolling
-I../Source/WebCore/platform -I../Source/WebCore/platform/animation
-I../Source/WebCore/platform/audio -I../Source/WebCore/platform/encryptedmedia
-I../Source/WebCore/platform/gamepad -I../Source/WebCore/platform/graphics
-I../Source/WebCore/platform/graphics/cpu/arm
-I../Source/WebCore/platform/graphics/cpu/arm/filters
-I../Source/WebCore/platform/graphics/displaylists
-I../Source/WebCore/platform/graphics/filters
-I../Source/WebCore/platform/graphics/iso
-I../Source/WebCore/platform/graphics/opentype
-I../Source/WebCore/platform/graphics/transforms
-I../Source/WebCore/platform/mediacapabilities
-I../Source/WebCore/platform/mediarecorder
-I../Source/WebCore/platform/mediasession
-I../Source/WebCore/platform/mediastream
-I../Source/WebCore/platform/mediastream/libwebrtc
-I../Source/WebCore/platform/mock -I../Source/WebCore/platform/mock/mediasource
-I../Source/WebCore/platform/network -I../Source/WebCore/platform/sql
-I../Source/WebCore/platform/text -I../Source/WebCore/platform/vr
-I../Source/WebCore/plugins -I../Source/WebCore/rendering
-I../Source/WebCore/rendering/line -I../Source/WebCore/rendering/mathml
-I../Source/WebCore/rendering/shapes -I../Source/WebCore/rendering/style
-I../Source/WebCore/rendering/svg -I../Source/WebCore/rendering/updating
-I../Source/WebCore/replay -I../Source/WebCore/storage
-I../Source/WebCore/style -I../Source/WebCore/svg
-I../Source/WebCore/svg/animation -I../Source/WebCore/svg/graphics
-I../Source/WebCore/svg/graphics/filters -I../Source/WebCore/svg/properties
-I../Source/WebCore/websockets -I../Source/WebCore/workers
-I../Source/WebCore/workers/service -I../Source/WebCore/workers/service/context
-I../Source/WebCore/workers/service/server -I../Source/WebCore/worklets
-I../Source/WebCore/xml -I../Source/WebCore/xml/parser
-I../Source/WebCore/platform/graphics/gpu -I../Source/ThirdParty/xdgmime/src
-I../Source/WebCore/platform/graphics/cairo
-I../Source/WebCore/platform/graphics/freetype
-I../Source/WebCore/platform/graphics/harfbuzz
-I../Source/WebCore/platform/graphics/harfbuzz/ng
-I../Source/WebCore/platform/graphics/gstreamer
-I../Source/WebCore/platform/graphics/gstreamer/mse
-I../Source/WebCore/platform/graphics/gstreamer/eme
-I../Source/WebCore/platform/audio/gstreamer
-I../Source/WebCore/platform/image-decoders
-I../Source/WebCore/platform/image-decoders/bmp
-I../Source/WebCore/platform/image-decoders/gif
-I../Source/WebCore/platform/image-decoders/ico
-I../Source/WebCore/platform/image-decoders/jpeg
-I../Source/WebCore/platform/image-decoders/jpeg2000
-I../Source/WebCore/platform/image-decoders/png
-I../Source/WebCore/platform/image-decoders/webp
-I../Source/WebCore/platform/network/soup
-I../Source/WebCore/platform/graphics/texmap
-I../Source/WebCore/platform/graphics/nicosia
-I../Source/WebCore/page/scrolling/nicosia
-I../Source/WebCore/platform/graphics/texmap/coordinated
-I../Source/WebCore/platform/graphics/nicosia/cairo
-I../Source/WebCore/platform/graphics/nicosia/texmap
-I../Source/WebCore/accessibility/atk -I../Source/WebCore/editing/atk
-I../Source/WebCore/page/gtk -I../Source/WebCore/platform/generic
-I../Source/WebCore/platform/gtk -I../Source/WebCore/platform/graphics/egl
-I../Source/WebCore/platform/graphics/glx
-I../Source/WebCore/platform/graphics/gtk
-I../Source/WebCore/platform/graphics/opengl
-I../Source/WebCore/platform/graphics/wayland
-I../Source/WebCore/platform/graphics/x11
-I../Source/WebCore/platform/mediastream/gtk
-I../Source/WebCore/platform/mediastream/gstreamer
-I../Source/WebCore/platform/network/gtk -I../Source/WebCore/platform/text/gtk
-IDerivedSources -I../Source/ThirdParty -isystem /usr/include/libxml2 -isystem
/usr/include/cairo -isystem /usr/include/freetype2 -isystem
/usr/include/harfbuzz -isystem /usr/include/gstreamer-1.0 -isystem
/usr/include/glib-2.0 -isystem /usr/lib/sh4-linux-gnu/glib-2.0/include -isystem
/usr/include/orc-0.4 -isystem /usr/lib/sh4-linux-gnu/gstreamer-1.0/include
-isystem /usr/include/libdrm -isystem /usr/include/openjpeg-2.3 -isystem
/usr/include/libsoup-2.4 -isystem /usr/include/atk-1.0 -isystem
/usr/include/enchant-2 -isystem /usr/include/gtk-3.0 -isystem
/usr/include/gio-unix-2.0 -isystem /usr/include/pango-1.0 -isystem
/usr/include/fribidi -isystem /usr/include/gdk-pixbuf-2.0 -isystem
/usr/include/libmount -isystem /usr/include/blkid -isystem
/usr/include/pixman-1 -isystem /usr/include/uuid -isystem /usr/include/libpng16
-isystem /usr/include/at-spi2-atk/2.0 -isystem /usr/include/at-spi-2.0 -isystem
/usr/include/dbus-1.0 -isystem /usr/lib/sh4-linux-gnu/dbus-1.0/include -isystem
/usr/include/libsecret-1 -isystem /usr/include/wpe-1.0
-fdiagnostics-color=always -Wextra -Wall -Wno-expansion-to-defined -Wno-psabi
-Wno-noexcept-type -Wno-maybe-uninitialized -Wwrite-strings -Wundef
-Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -g1
-fdebug-prefix-map=//build/webkit2gtk-QyBTFj/webkit2gtk-2.26.4/build=.
-specs=/usr/share/dpkg/pie-compile.specs -fstack-protector-strong -Wformat
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -mlra
-fno-move-loop-invariants -DNDEBUG -DG_DISABLE_CAST_CHECKS -fno-strict-aliasing
-fno-exceptions -fno-rtti -fPIC   -std=c++17 -MD -MT
Source/WebCore/CMakeFiles/WebCore.dir/__/__/DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-7.cpp.o
-MF
Source/WebCore/CMakeFiles/WebCore.dir/__/__/DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-7.cpp.o.d
-o
Source/WebCore/CMakeFiles/WebCore.dir/__/__/DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-7.cpp.o
-c DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-7.cpp -O2 
In file included from
DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h:33,
                 from
DerivedSources/ForwardingHeaders/wtf/text/UniquedStringImpl.h:28,
                 from
DerivedSources/ForwardingHeaders/wtf/text/AtomStringImpl.h:23,
                 from
DerivedSources/ForwardingHeaders/wtf/text/AtomString.h:25,
                 from
DerivedSources/ForwardingHeaders/wtf/text/StringHash.h:25,
                 from DerivedSources/ForwardingHeaders/wtf/JSONValues.h:36,
                 from ../Source/WebCore/platform/graphics/IntSize.h:29,
                 from ../Source/WebCore/platform/graphics/IntPoint.h:28,
                 from ../Source/WebCore/platform/graphics/FloatSize.h:30,
                 from ../Source/WebCore/platform/DragImage.h:28,
                 from ../Source/WebCore/platform/Pasteboard.h:28,
                 from ../Source/WebCore/platform/StaticPasteboard.h:28,
                 from ../Source/WebCore/platform/StaticPasteboard.cpp:27,
                 from
DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-7.cpp:1:
DerivedSources/ForwardingHeaders/wtf/text/ASCIIFastPath.h: In instantiation of
‘bool WTF::charactersAreAllASCII(const CharacterType*, size_t) [with
CharacterType = unsigned char; size_t = unsigned int]’:
DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h:812:61:   required from
here
DerivedSources/ForwardingHeaders/wtf/text/ASCIIFastPath.h:95:26: warning: cast
from ‘const unsigned char*’ to ‘const MachineWord*’ {aka ‘const unsigned int*’}
increases required alignment of target type [-Wcast-align]
   95 |         allCharBits |= *(reinterpret_cast_ptr<const
MachineWord*>(characters));
      |                        
~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DerivedSources/ForwardingHeaders/wtf/text/ASCIIFastPath.h: In instantiation of
‘bool WTF::charactersAreAllASCII(const CharacterType*, size_t) [with
CharacterType = char16_t; size_t = unsigned int]’:
DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h:813:58:   required from
here
DerivedSources/ForwardingHeaders/wtf/text/ASCIIFastPath.h:95:26: warning: cast
from ‘const char16_t*’ to ‘const MachineWord*’ {aka ‘const unsigned int*’}
increases required alignment of target type [-Wcast-align]
In file included from
DerivedSources/ForwardingHeaders/wtf/text/UniquedStringImpl.h:28,
                 from
DerivedSources/ForwardingHeaders/wtf/text/AtomStringImpl.h:23,
                 from
DerivedSources/ForwardingHeaders/wtf/text/AtomString.h:25,
                 from
DerivedSources/ForwardingHeaders/wtf/text/StringHash.h:25,
                 from DerivedSources/ForwardingHeaders/wtf/JSONValues.h:36,
                 from ../Source/WebCore/platform/graphics/IntSize.h:29,
                 from ../Source/WebCore/platform/graphics/IntPoint.h:28,
                 from ../Source/WebCore/platform/graphics/FloatSize.h:30,
                 from ../Source/WebCore/platform/DragImage.h:28,
                 from ../Source/WebCore/platform/Pasteboard.h:28,
                 from ../Source/WebCore/platform/StaticPasteboard.h:28,
                 from ../Source/WebCore/platform/StaticPasteboard.cpp:27,
                 from
DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-7.cpp:1:
DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h: In instantiation of ‘T*
WTF::StringImpl::tailPointer() [with T = char16_t]’:
DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h:853:71:   required from
here
DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h:1161:12: warning: cast
from ‘uint8_t*’ {aka ‘unsigned char*’} to ‘char16_t*’ increases required
alignment of target type [-Wcast-align]
 1161 |     return reinterpret_cast_ptr<T*>(reinterpret_cast<uint8_t*>(this) +
tailOffset<T>());
      |           
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h: In instantiation of
‘const T* WTF::StringImpl::tailPointer() const [with T = char16_t]’:
DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h:1151:43:   required from
here
DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h:1156:12: warning: cast
from ‘const uint8_t*’ {aka ‘const unsigned char*’} to ‘const char16_t*’
increases required alignment of target type [-Wcast-align]
 1156 |     return reinterpret_cast_ptr<const T*>(reinterpret_cast<const
uint8_t*>(this) + tailOffset<T>());
      |           
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h: In instantiation of
‘const T* WTF::StringImpl::tailPointer() const [with T = WTF::StringImpl*]’:
DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h:1168:38:   required from
here
DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h:1156:12: warning: cast
from ‘const uint8_t*’ {aka ‘const unsigned char*’} to ‘WTF::StringImpl* const*’
increases required alignment of target type [-Wcast-align]
DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h: In instantiation of ‘T*
WTF::StringImpl::tailPointer() [with T = WTF::StringImpl*]’:
DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h:1175:38:   required from
here
DerivedSources/ForwardingHeaders/wtf/text/StringImpl.h:1161:12: warning: cast
from ‘uint8_t*’ {aka ‘unsigned char*’} to ‘WTF::StringImpl**’ increases
required alignment of target type [-Wcast-align]
 1161 |     return reinterpret_cast_ptr<T*>(reinterpret_cast<uint8_t*>(this) +
tailOffset<T>());
      |           
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from
../Source/WebCore/platform/graphics/FontCascadeDescription.h:29,
                 from ../Source/WebCore/platform/graphics/FontCascade.h:29,
                 from ../Source/WebCore/platform/graphics/GraphicsContext.h:31,
                 from ../Source/WebCore/platform/Theme.cpp:29,
                 from
DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-7.cpp:2:
DerivedSources/ForwardingHeaders/wtf/RefCountedArray.h: In instantiation of ‘T*
WTF::RefCountedArray<T, PtrTraits>::Header::payload() [with T =
WTF::AtomString; PtrTraits = WTF::DumbPtrTraits<WTF::AtomString>]’:
DerivedSources/ForwardingHeaders/wtf/RefCountedArray.h:70:12:   required from
‘WTF::RefCountedArray<T, PtrTraits>::RefCountedArray(size_t) [with T =
WTF::AtomString; PtrTraits = WTF::DumbPtrTraits<WTF::AtomString>; size_t =
unsigned int]’
../Source/WebCore/platform/graphics/FontCascadeDescription.h:138:48:   required
from here
DerivedSources/ForwardingHeaders/wtf/RefCountedArray.h:225:20: warning: cast
from ‘char*’ to ‘WTF::AtomString*’ increases required alignment of target type
[-Wcast-align]
  225 |             return reinterpret_cast_ptr<T*>(result);
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
DerivedSources/ForwardingHeaders/wtf/RefCountedArray.h: In instantiation of
‘static WTF::RefCountedArray<T, PtrTraits>::Header* WTF::RefCountedArray<T,
PtrTraits>::Header::fromPayload(T*) [with T = WTF::AtomString; PtrTraits =
WTF::DumbPtrTraits<WTF::AtomString>]’:
DerivedSources/ForwardingHeaders/wtf/RefCountedArray.h:72:28:   required from
‘WTF::RefCountedArray<T, PtrTraits>::RefCountedArray(size_t) [with T =
WTF::AtomString; PtrTraits = WTF::DumbPtrTraits<WTF::AtomString>; size_t =
unsigned int]’
../Source/WebCore/platform/graphics/FontCascadeDescription.h:138:48:   required
from here
DerivedSources/ForwardingHeaders/wtf/RefCountedArray.h:230:20: warning: cast
from ‘char*’ to ‘WTF::RefCountedArray<WTF::AtomString>::Header*’ increases
required alignment of target type [-Wcast-align]
  230 |             return
reinterpret_cast_ptr<Header*>(reinterpret_cast<char*>(payload) - size());
      |                   
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from
DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-7.cpp:2:
../Source/WebCore/platform/Theme.cpp: In function ‘virtual void
WebCore::Theme::drawNamedImage(const WTF::String&, WebCore::GraphicsContext&,
const WebCore::FloatRect&) const’:
../Source/WebCore/platform/Theme.cpp:155:1: error: insn does not satisfy its
constraints:
  155 | }
      | ^
(insn 1370 1369 63 2 (parallel [
            (set (reg:SF 65 fr1 [1270])
                (reg:SF 0 r0 [1271]))
            (use (reg:SI 154 fpscr0))
            (clobber (scratch:SI))
        ]) "../Source/WebCore/platform/graphics/FloatPoint.h":69:49 214
{movsf_ie}
     (expr_list:REG_DEAD (reg:SF 0 r0 [1271])
        (nil)))
during RTL pass: cprop_hardreg
../Source/WebCore/platform/Theme.cpp:155:1: internal compiler error: in
extract_constrain_insn, at recog.c:2211

Reply via email to