On Tue, Jun 27, 2006 at 11:53:52AM +0200, Roland Persson wrote:

> I've been trying patterns like this one:
> 
> (define_insn "*pip_add_di_sesi"
>   [(set (match_operand:DI 0 "register_operand" "=r")
>         (plus:DI (match_operand:DI 1 "register_operand" "r")
>                  (sign_extend:DI (match_operand:SI "register_operand"
> "r"))))]
> ...
> )

My first bet would be to place the sign_extend operand first of the two
operands to plus.

Also, the output from -fdump-rtl-combine will tell you if combine is
rejecting the pattern because the cost is too high.

-- 
Rask Ingemann Lambertsen

Reply via email to