https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118886
Bug ID: 118886
Summary: Invalid fusions on RISC-V
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: law at gcc dot gnu.org
Target Milestone: ---
Inspection of the fusion code showed 3 distinct bugs.
First in LUI+LD fusion we accept (const_int 0) even though that won't use a LUI
instruction at code generation time.
Second in the same hunk of code we do not verify that the destination of the
constant load is used in the memory load.
Third we are allowing fusion of address calculations into loads for
non-scalar-int modes.