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

Georg-Johann Lay <gjl at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |4.7.2, 4.8.1, 4.9.0

--- Comment #9 from Georg-Johann Lay <gjl at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #7)
> Can you please investigate the behavior on current trunk and the top of the
> 4.8 branch?

Same applies to the 4.8 branch, again it is insn 26 that is wrong:

func1:
 ; (insn 10 5 25 (set (reg:HI 18 r18 [orig:44 D.1447 ] [44])
 ;         (mult:HI (zero_extend:HI (reg:QI 24 r24 [ a ]))
 ;             (zero_extend:HI (reg/v:QI 22 r22 [orig:50 b ] [50]))))
pr57503.c:4 168 {umulqihi3}
 ;      (expr_list:REG_DEAD (reg:QI 24 r24 [ a ])
 ;         (expr_list:REG_DEAD (reg/v:QI 22 r22 [orig:50 b ] [50])
 ;             (nil))))
    mul r24,r22     ;  10    umulqihi3    [length = 3]
    movw r18,r0
    clr __zero_reg__
 ; (insn 25 10 26 (set (reg:HI 26 r26)
 ;         (reg/v:HI 20 r20 [orig:51 c ] [51])) pr57503.c:5 82 {*movhi}
 ;      (expr_list:REG_DEAD (reg/v:HI 20 r20 [orig:51 c ] [51])
 ;         (nil)))
    movw r26,r20     ;  25    *movhi/1    [length = 1]
 ; (insn 26 25 21 (set (reg:SI 22 r22)
 ;         (mult:SI (sign_extend:SI (reg:HI 18 r18))
 ;             (sign_extend:SI (reg:HI 26 r26)))) pr57503.c:5 231
{*mulhisi3_call}
 ;      (expr_list:REG_DEAD (reg:HI 26 r26)
 ;         (expr_list:REG_DEAD (reg:HI 18 r18)
 ;             (nil))))
    rcall __mulhisi3     ;  26    *mulhisi3_call    [length = 1]
 ; (jump_insn 31 21 30 (return) pr57503.c:6 451 {return}
 ;      (nil)
 ;  -> return)
    ret     ;  31    return    [length = 1]
    .size    func1, .-func1
    .ident    "GCC: (GNU) 4.8.2 20131007 (prerelease)"

Reply via email to