This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: gcc intrinsics for am33 parallel integer arithmetic


On Aug 31, 2000, Matthew Hiller <hiller@cygnus.com> wrote:

> +   if (!lvalue_p (arg1))
> +     error ("operand 1 of dsp intrinsic not an lvalue");

Shouldn't you still check whether the predicate matches?

> +   pat = GEN_FCN (icode) (op0, op0, op1, op2, op2, op3);

Since it is op1 and op3 that are output and input operands, this
doesn't look right to me.

> + (define_insn "add_mov"
> +   [(set (match_operand:SI 0 "nonimmediate_operand" "=&dax")
> + 	(plus:SI (match_operand:SI 1 "nonimmediate_operand" "0")
> + 		 (match_operand:SI 2 "general_operand" "idax")))
> +    (set (match_operand:SI 3 "nonimmediate_operand" "=&dax")
> + 	(match_operand:SI 5 "general_operand" "idax"))]

I'm a little bit concerned about skipping operand 4 like that.
Doesn't this cause any warnings in the md-file processors, or get GCC
confused?  I'm asking because I don't recall having seen anything like
this before.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist    *Please* write to mailing lists, not to me


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]