Patch for i386 string operations
Richard Henderson
rth@cygnus.com
Mon Jan 10 10:51:00 GMT 2000
On Mon, Jan 10, 2000 at 12:50:29PM +0100, Jan Hubicka wrote:
> ! (define_insn "strmovhi_1"
> ! [(set (mem:HI (match_operand:SI 0 "address_operand" "D"))
> ! (mem:HI (match_operand:SI 1 "address_operand" "S")))
> ! (set (match_operand:SI 2 "register_operand" "=0")
> ! (plus:SI (match_dup 0)
> ! (const_int 1)))
> ! (set (match_operand:SI 3 "register_operand" "=1")
> ! (plus:SI (match_dup 1)
> ! (const_int 1)))
> ! (use (reg:SI 19))]
I seem to recall some assumptions in reload that outputs preceed
inputs in operand order. Change this to
[(set (mem:HI (match_operand:SI 2 "address_operand" "0"))
(mem:HI (match_operand:SI 3 "address_operand" "1")))
(set (match_operand:SI 0 "register_operand" "D")
(plus:SI (match_dup 0)
(const_int 1)))
(set (match_operand:SI 1 "register_operand" "S")
(plus:SI (match_dup 1)
(const_int 1)))
(use (reg:SI 19))]
Otherwise ok.
r~
More information about the Gcc-patches
mailing list