This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/55247] [4.8 Regression] internal compiler error: Max. number of generated reload insns per insn is achieved (90)


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55247

--- Comment #8 from Uros Bizjak <ubizjak at gmail dot com> 2012-11-10 09:22:03 UTC ---
(In reply to comment #3)
> There are 2 issues here:
> 
> 1. Should we use
> 
>     movdqu    (%eax), %xmm0    # 19    *movti_internal_rex64/4    [length = 5]
>     movdqa    %xmm0, (%rsp)    # 29    *movti_internal_rex64/5    [length = 5]
>
> to copy 16 bytes?

Yes, and this is the intention of all these "!" marks.

> 2. Should we split *movti_internal_rex64 if -mno-sse is used?

Movti is used for TARGET_64BIT only. Please keep in mind that *_doubleword
instructions operate on TImode values, so we rely completely on register
allocator to NOT allocate XMM register moves in this case. According to the
documentation, "!" means that alternative is OK if no reloading is needed, so
this fits our purpose to use SSE moves unless we move value directly to TImode
arithmetic operation (*_doubleword patterns).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]