Re: A question about define_insn and force-reg

2005-10-26 Thread Paolo Bonzini
Thanks. It seems work now. But... when I define the like insn for QImode, (define_insn "loadqi_men" [(set (match_operand:QI 0 "register_operand" "=r") (mem:QI (match_operand:SI 1 "general_operand" "r")))] "" "lbu.u\t%0,0(%1)" ) The compiler comes out such error, error: insn do

A question about define_insn and force-reg

2005-10-26 Thread Eric Fisher
>> (define_insn "loadsf" >> [(set (match_operand:SF 0 "register_operand" "=r") >>(mem:SF (match_operand:SI 1 "immediate_operand" "m")))] >This makes no sense, because the constraint means that the mem's operand is >an immediate before reload (and you want it to be a register), and a mem

RE: A question about define_insn and force-reg

2005-10-25 Thread Dave Korn
Eric Fisher wrote: > I think it's very interesting. I want to split a insn of loading SF > data through SI symbol, such as (set (reg:SF 5 $5) (mem/u/f:SF > (symbol_ref/u:SI ("*$LC0". > I want to it firstly load the address into a register, then load the > data through the register. So I define

Re: A question about define_insn and force-reg

2005-10-25 Thread Paolo Bonzini
(define_insn "loadsf" [(set (match_operand:SF 0 "register_operand" "=r") (mem:SF (match_operand:SI 1 "immediate_operand" "m")))] This makes no sense, because the constraint means that the mem's operand is an immediate before reload (and you want it to be a register), and a mem afte

A question about define_insn and force-reg

2005-10-25 Thread Eric Fisher
Hello, gcc I think it's very interesting. I want to split a insn of loading SF data through SI symbol, such as (set (reg:SF 5 $5) (mem/u/f:SF (symbol_ref/u:SI ("*$LC0". I want to it firstly load the address into a register, then load the data through the register. So I define the insn as follo