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).

Reply via email to