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