https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70078
Bug ID: 70078 Summary: gccint: define_split "not" allowed to create pseudos Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: vogt at linux dot vnet.ibm.com Target Milestone: --- The section "Defining How to Split Instructions" in the gccint manual claims The preparation-statements are similar to those statements that are specified for define_expand. ... Unlike those in define_expand, however, these statements must not generate any new pseudo-registers. Once reload has completed, they also must not allocate any space in the stack frame. Splitters seem to be allowed to generate new pseudos under certain circumstances (some splitters call can_create_psudo_p()). So, is this correct instead? ... Unlike those in define_expand, however, once reload has completed these statements must neither generate any new pseudo-registers nor allocate any space in the stack frame. This can be checked by calling can_create_pseudo_p.