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

--- Comment #5 from Uros Bizjak <ubizjak at gmail dot com> 2011-04-19 09:59:59 
UTC ---
(In reply to comment #4)
> Might be a good idea, though IMHO just for 4.7, not for 4.6.
> Would you be ok with this patch (plus testcase obviously) for 4.6?  If yes, is
> it ok temporarily for 4.7 too and you'd then go ahead and adjust it for 
> pinsr*?
> The movstrict{hi,qi}_1 pattern then would probably need to have variant with x
> and either have # for that alternative or something similar.  The expander
> would still need to reject 256-bit vector modes and XFmode, other floating
> point modes for non-SSE math, etc.

Yes, IMO this is OK ATM.

BTW: While experimenting with pinsr pattern, I got following expansion:

(insn 117 116 0 (set (strict_low_part (subreg:HI (reg/v:V2DI 129 [ b ]) 8))
        (mem/s/j:HI (plus:DI (plus:DI (mult:DI (reg:DI 189)
                        (const_int 2 [0x2]))
                    (reg/f:DI 54 virtual-stack-vars))
                (const_int -64 [0xffffffffffffffc0])) [0 array S2 A16]))
no_register_error.cpp:49 -1
     (nil))

Not exactly a "strict_low_part" with 8-byte offset...

Reply via email to