2011/6/20 Georg-Johann Lay <a...@gjlay.de>: > This is an optimization patch that implements extzv for 1-bit extracts.
> +(define_insn_and_split "*extzv" > + [(set (match_operand:QI 0 "register_operand" > "=*d,*d,*d,r") > + (zero_extract:QI (match_operand:QI 1 "register_operand" > "0,r,0,r") > + (const_int 1) > + (match_operand:QI 2 "const_0_to_7_operand" > "L,L,P,n")))] > + "" > + "@ > + andi %0,1 > + mov %0,%1\;andi %0,1 > + lsr %0\;andi %0,1 > + bst %1,%2\;clr %0\;bld %0,0" Why you have a second constraint alternative (*d,r,L) ? IMHO it's unnecessary. > + && REGNO (operands[0]) >= 16" It's not a good practice to refer to register as number. Denis.