i386.md:6306: warning: destination missing a mode?

Billinghurst, David (CRTS) David.Billinghurst@riotinto.com
Sat Mar 10 16:04:00 GMT 2001


With the gcc-3.0 branch on cygwin, I see these warnings that I don't
understand.  Are they a problem?

./genrecog.exe /usr/local/src/gcc/gcc/config/i386/i386.md > tmp-recog.c
/usr/local/src/gcc/gcc/config/i386/i386.md:6306: warning: destination
missing a mode?
/usr/local/src/gcc/gcc/config/i386/i386.md:6543: warning: destination
missing a mode?

The offending lines are

(define_insn "*andqi_2_slp"
  [(set (reg 17)
	(compare (and:QI
		   (match_operand:QI 0 "nonimmediate_operand" "+q,qm")
		   (match_operand:QI 1 "nonimmediate_operand" "qmi,qi"))
		 (const_int 0)))
   (set (strict_low_part (match_dup 0))
	(and:QI (match_dup 0) (match_dup 1)))]
  "ix86_match_ccmode (insn, CCNOmode)"
  "and{b}\\t{%1, %0|%0, %1}"
  [(set_attr "type" "alu1")
   (set_attr "mode" "QI")])


and


(define_insn "*andqi_ext_0_cc"
  [(set (reg 17)
	(compare
	  (and:SI
	    (zero_extract:SI
	      (match_operand 1 "ext_register_operand" "0")
	      (const_int 8)
	      (const_int 8))
	    (match_operand 2 "const_int_operand" "n"))
	  (const_int 0)))
   (set (zero_extract:SI (match_operand 0 "ext_register_operand" "=q")
			 (const_int 8)
			 (const_int 8))
	(and:SI 
	  (zero_extract:SI
	    (match_dup 1)
	    (const_int 8)
	    (const_int 8))
	  (match_dup 2)))]
  "ix86_match_ccmode (insn, CCNOmode)
   && (unsigned HOST_WIDE_INT)INTVAL (operands[2]) <= 0xff"
  "and{b}\\t{%2, %h0|%h0, %2}"
  [(set_attr "type" "alu")
   (set_attr "length_immediate" "1")
   (set_attr "mode" "QI")])



More information about the Gcc-bugs mailing list