------- Comment #6 from hjl dot tools at gmail dot com  2010-06-30 18:15 -------
Created an attachment (id=21045)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21045&action=view)
A patch

Using

(set (match_operand:HI "register_operand" "=a")
    (ior:HI (ashift:HI
        (zero_extend:HI (umod:QI (match_operand:QI "register_operand" "0")
                                 (match_operand:QI "register_operand" "q")))
            (const_int 8 [0x8]))
        (zero_extend:HI (udiv:QI (match_dup 1) (match_dup 2))))

before reload and split to

(set (match_dup 0)
    (ior:HI (ashift:HI (umod:HI (match_dup 0)
                 (zero_extend:HI (match_dup 2)))
        (const_int 8 [0x8]))
    (udiv:HI (match_dup 0)
            (zero_extend:HI (match_dup 2))))

will generate extra QI->HI extend during split. This patch
uses subreg instead. Does it look OK?


-- 

hjl dot tools at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #21033|0                           |1
        is obsolete|                            |


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

Reply via email to