/* Generated automatically by the program `genflags'
   from the machine description file `md'.  */

#ifndef GCC_INSN_FLAGS_H
#define GCC_INSN_FLAGS_H

#define HAVE_pushqi1_h8300 (TARGET_H8300)
#define HAVE_pushqi1_h8300hs (TARGET_H8300H || TARGET_H8300S)
#define HAVE_movstrictqi 1
#define HAVE_pushhi1_h8300hs (TARGET_H8300H || TARGET_H8300S)
#define HAVE_movstricthi 1
#define HAVE_movsi_h8300 (TARGET_H8300 \
   && (register_operand (operands[0], SImode) \
       || register_operand (operands[1], SImode)))
#define HAVE_movsf_h8300 (TARGET_H8300 \
   && (register_operand (operands[0], SFmode) \
       || register_operand (operands[1], SFmode)))
#define HAVE_movsi_h8300hs ((TARGET_H8300S || TARGET_H8300H) \
   && (register_operand (operands[0], SImode) \
       || register_operand (operands[1], SImode)) \
   && !(GET_CODE (operands[0]) == MEM \
	&& GET_CODE (XEXP (operands[0], 0)) == PRE_DEC \
	&& GET_CODE (XEXP (XEXP (operands[0], 0), 0)) == REG \
	&& GET_CODE (operands[1]) == REG \
	&& REGNO (XEXP (XEXP (operands[0], 0), 0)) == REGNO (operands[1])))
#define HAVE_movsf_h8300h ((TARGET_H8300H || TARGET_H8300S) \
   && (register_operand (operands[0], SFmode) \
       || register_operand (operands[1], SFmode)))
#define HAVE_tstqi 1
#define HAVE_tsthi 1
#define HAVE_tstsi (TARGET_H8300H || TARGET_H8300S)
#define HAVE_cmpqi 1
#define HAVE_cmpsi (TARGET_H8300H || TARGET_H8300S)
#define HAVE_addqi3 1
#define HAVE_addsi_h8300 (TARGET_H8300)
#define HAVE_addsi_h8300h (TARGET_H8300H || TARGET_H8300S)
#define HAVE_subqi3 1
#define HAVE_subsi3_h8300 (TARGET_H8300)
#define HAVE_subsi3_h8300h (TARGET_H8300H || TARGET_H8300S)
#define HAVE_mulqihi3 (TARGET_H8300H || TARGET_H8300S)
#define HAVE_mulhisi3 (TARGET_H8300H || TARGET_H8300S)
#define HAVE_umulqihi3 1
#define HAVE_umulhisi3 (TARGET_H8300H || TARGET_H8300S)
#define HAVE_udivmodqi4 (TARGET_H8300H || TARGET_H8300S)
#define HAVE_divmodqi4 (TARGET_H8300H || TARGET_H8300S)
#define HAVE_udivmodhi4 (TARGET_H8300H || TARGET_H8300S)
#define HAVE_divmodhi4 (TARGET_H8300H || TARGET_H8300S)
#define HAVE_negqi2 1
#define HAVE_neghi2_h8300h (TARGET_H8300H || TARGET_H8300S)
#define HAVE_negsi2_h8300h (TARGET_H8300H || TARGET_H8300S)
#define HAVE_one_cmplqi2 1
#define HAVE_branch_true 1
#define HAVE_branch_false 1
#define HAVE_jump 1
#define HAVE_tablejump_h8300 (TARGET_H8300)
#define HAVE_tablejump_h8300h (TARGET_H8300H || TARGET_H8300S)
#define HAVE_indirect_jump_h8300 (TARGET_H8300)
#define HAVE_indirect_jump_h8300h (TARGET_H8300H || TARGET_H8300S)
#define HAVE_call 1
#define HAVE_call_value 1
#define HAVE_nop 1
#define HAVE_zero_extendqisi2 (TARGET_H8300)
#define HAVE_extendqisi2 (TARGET_H8300)
#define HAVE_pushqi1 1
#define HAVE_movqi 1
#define HAVE_pushhi1_h8300 (TARGET_H8300)
#define HAVE_pushhi1 1
#define HAVE_movhi 1
#define HAVE_movsi 1
#define HAVE_movsf 1
#define HAVE_cmphi 1
#define HAVE_addhi3 1
#define HAVE_addsi3 1
#define HAVE_subhi3 1
#define HAVE_subsi3 1
#define HAVE_andqi3 1
#define HAVE_andhi3 1
#define HAVE_andsi3 1
#define HAVE_iorqi3 1
#define HAVE_iorhi3 1
#define HAVE_iorsi3 1
#define HAVE_xorqi3 1
#define HAVE_xorhi3 1
#define HAVE_xorsi3 1
#define HAVE_neghi2 1
#define HAVE_neghi2_h8300 1
#define HAVE_negsi2 1
#define HAVE_negsi2_h8300 1
#define HAVE_one_cmplhi2 1
#define HAVE_one_cmplsi2 1
#define HAVE_ble 1
#define HAVE_bleu 1
#define HAVE_bge 1
#define HAVE_bgeu 1
#define HAVE_blt 1
#define HAVE_bltu 1
#define HAVE_bgt 1
#define HAVE_bgtu 1
#define HAVE_beq 1
#define HAVE_bne 1
#define HAVE_tablejump 1
#define HAVE_indirect_jump 1
#define HAVE_zero_extendqihi2 1
#define HAVE_zero_extendhisi2 1
#define HAVE_extendqihi2 1
#define HAVE_extendhisi2 1
#define HAVE_ashlqi3 1
#define HAVE_ashrqi3 1
#define HAVE_lshrqi3 1
#define HAVE_ashlhi3 1
#define HAVE_lshrhi3 1
#define HAVE_ashrhi3 1
#define HAVE_ashlsi3 1
#define HAVE_lshrsi3 1
#define HAVE_ashrsi3 1
#define HAVE_rotlqi3 1
#define HAVE_rotlhi3 1
#define HAVE_rotlsi3 (TARGET_H8300H || TARGET_H8300S)
#define HAVE_insv (TARGET_H8300)
#define HAVE_extzv (TARGET_H8300)
struct rtx_def;
extern struct rtx_def *gen_pushqi1_h8300        PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_pushqi1_h8300hs      PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_movstrictqi          PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_pushhi1_h8300hs      PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_movstricthi          PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_movsi_h8300          PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_movsf_h8300          PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_movsi_h8300hs        PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_movsf_h8300h         PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_tstqi                PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_tsthi                PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_tstsi                PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_cmpqi                PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_cmpsi                PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_addqi3               PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_addsi_h8300          PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_addsi_h8300h         PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_subqi3               PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_subsi3_h8300         PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_subsi3_h8300h        PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_mulqihi3             PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_mulhisi3             PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_umulqihi3            PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_umulhisi3            PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_udivmodqi4           PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_divmodqi4            PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_udivmodhi4           PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_divmodhi4            PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_negqi2               PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_neghi2_h8300h        PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_negsi2_h8300h        PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_one_cmplqi2          PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_branch_true          PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_branch_false         PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_jump                 PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_tablejump_h8300      PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_tablejump_h8300h     PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_indirect_jump_h8300  PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_indirect_jump_h8300h PARAMS ((struct rtx_def *));
#define GEN_CALL(A, B, C, D) gen_call ((A), (B))
extern struct rtx_def *gen_call                 PARAMS ((struct rtx_def *, struct rtx_def *));
#define GEN_CALL_VALUE(A, B, C, D, E) gen_call_value ((A), (B), (C))
extern struct rtx_def *gen_call_value           PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_nop                  PARAMS ((void));
extern struct rtx_def *gen_zero_extendqisi2     PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_extendqisi2          PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_pushqi1              PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_movqi                PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_pushhi1_h8300        PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_pushhi1              PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_movhi                PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_movsi                PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_movsf                PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_cmphi                PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_addhi3               PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_addsi3               PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_subhi3               PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_subsi3               PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_andqi3               PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_andhi3               PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_andsi3               PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_iorqi3               PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_iorhi3               PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_iorsi3               PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_xorqi3               PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_xorhi3               PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_xorsi3               PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_neghi2               PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_neghi2_h8300         PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_negsi2               PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_negsi2_h8300         PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_one_cmplhi2          PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_one_cmplsi2          PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_ble                  PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_bleu                 PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_bge                  PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_bgeu                 PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_blt                  PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_bltu                 PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_bgt                  PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_bgtu                 PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_beq                  PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_bne                  PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_tablejump            PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_indirect_jump        PARAMS ((struct rtx_def *));
extern struct rtx_def *gen_zero_extendqihi2     PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_zero_extendhisi2     PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_extendqihi2          PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_extendhisi2          PARAMS ((struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_ashlqi3              PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_ashrqi3              PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_lshrqi3              PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_ashlhi3              PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_lshrhi3              PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_ashrhi3              PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_ashlsi3              PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_lshrsi3              PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_ashrsi3              PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_rotlqi3              PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_rotlhi3              PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_rotlsi3              PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_insv                 PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *));
extern struct rtx_def *gen_extzv                PARAMS ((struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *));

#endif /* GCC_INSN_FLAGS_H */
