Hello GCC's people,
What can you say me about this common WARNING
in GCC-3.4.6, GCC-4.1-20060414 and GCC-4.2-20060415?
------------------------------------------------------------------------------
GCC-3.4.6:
----------
./genrecog ./config/i386/i386.md > tmp-recog.c
./config/i386/i386.md:16308: warning: operand 1 missing mode?
$ grep -n -A16 -B1 x86_movsicc_0_m1 i386.md
16307-
16308:(define_insn "x86_movsicc_0_m1"
16309- [(set (match_operand:SI 0 "register_operand" "=r")
16310- (if_then_else:SI (match_operand 1 "ix86_carry_flag_operator" "")
16311- (const_int -1)
16312- (const_int 0)))
16313- (clobber (reg:CC 17))]
16314- ""
16315- "sbb{l}\t%0, %0"
16316- ; Since we don't have the proper number of operands for an alu insn,
16317- ; fill in all the blanks.
16318- [(set_attr "type" "alu")
16319- (set_attr "pent_pair" "pu")
16320- (set_attr "memory" "none")
16321- (set_attr "imm_disp" "false")
16322- (set_attr "mode" "SI")
16323- (set_attr "length_immediate" "0")])
16324-
------------------------------------------------------------------------------
GCC-4.1-20060414:
-----------------
build/genrecog ../.././gcc/config/i386/i386.md > tmp-recog.c
../.././gcc/config/i386/i386.md:18291: warning: operand 1 missing mode?
$ grep -n -A16 -B1 x86_movsicc_0_m1 i386.md
18290-
18291:(define_insn "x86_movsicc_0_m1"
18292- [(set (match_operand:SI 0 "register_operand" "=r")
18293- (if_then_else:SI (match_operand 1 "ix86_carry_flag_operator" "")
18294- (const_int -1)
18295- (const_int 0)))
18296- (clobber (reg:CC FLAGS_REG))]
18297- ""
18298- "sbb{l}\t%0, %0"
18299- ; Since we don't have the proper number of operands for an alu insn,
18300- ; fill in all the blanks.
18301- [(set_attr "type" "alu")
18302- (set_attr "pent_pair" "pu")
18303- (set_attr "memory" "none")
18304- (set_attr "imm_disp" "false")
18305- (set_attr "mode" "SI")
18306- (set_attr "length_immediate" "0")])
18307-
------------------------------------------------------------------------------
GCC-4.2-20060415:
-----------------
build/genrecog ../.././gcc/config/i386/i386.md \
insn-conditions.md > tmp-recog.c
../.././gcc/config/i386/i386.md:18497: warning: operand 1 missing mode?
$ grep -n -A16 -B1 x86_movsicc_0_m1 i386.md
18496-
18497:(define_insn "x86_movsicc_0_m1"
18498- [(set (match_operand:SI 0 "register_operand" "=r")
18499- (if_then_else:SI (match_operand 1 "ix86_carry_flag_operator" "")
18500- (const_int -1)
18501- (const_int 0)))
18502- (clobber (reg:CC FLAGS_REG))]
18503- ""
18504- "sbb{l}\t%0, %0"
18505- ; Since we don't have the proper number of operands for an alu insn,
18506- ; fill in all the blanks.
18507- [(set_attr "type" "alu")
18508- (set_attr "pent_pair" "pu")
18509- (set_attr "memory" "none")
18510- (set_attr "imm_disp" "false")
18511- (set_attr "mode" "SI")
18512- (set_attr "length_immediate" "0")])
18513-
------------------------------------------------------------------------------
* Difference of x86_movsicc_0_m1 in GCC-3.4.6 vs GCC-4.1-20060414:
(const_int -1)
(const_int 0)))
- (clobber (reg:CC 17))]
+ (clobber (reg:CC FLAGS_REG))]
""
"sbb{l}\t%0, %0"
* Difference of x86_movsicc_0_m1 in GCC-4.1-20060414 vs GCC-4.2-20060415:
None.
------------------------------------------------------------------------------
I've not probed GCC-3.3.6 and GCC-4.0.3 because i've not time!!!, i'm sorry ;)
Sincerely yours, J.C.