/* Generated automatically by the program 'build/genpreds'
   from the machine description file '../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/riscv.md'.  */

#ifndef GCC_TM_CONSTRS_H
#define GCC_TM_CONSTRS_H

static inline bool
satisfies_constraint_m (rtx op)
{
  return (GET_CODE (op) == MEM) && (
#line 26 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(memory_address_addr_space_p (GET_MODE (op), XEXP (op, 0),
						 MEM_ADDR_SPACE (op))));
}
static inline bool
satisfies_constraint_o (rtx op)
{
  return (GET_CODE (op) == MEM) && (
#line 32 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(offsettable_nonstrict_memref_p (op)));
}
static inline bool
satisfies_constraint_V (rtx op)
{
  return (GET_CODE (op) == MEM) && ((
#line 41 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(memory_address_addr_space_p (GET_MODE (op), XEXP (op, 0),
						 MEM_ADDR_SPACE (op)))) && (!(
#line 43 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(offsettable_nonstrict_memref_p (op)))));
}
static inline bool
satisfies_constraint__l (rtx op)
{
  return (GET_CODE (op) == MEM) && ((
#line 50 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(GET_CODE (XEXP (op, 0)) == PRE_DEC)) || (
#line 51 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(GET_CODE (XEXP (op, 0)) == POST_DEC)));
}
static inline bool
satisfies_constraint__g (rtx op)
{
  return (GET_CODE (op) == MEM) && ((
#line 57 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(GET_CODE (XEXP (op, 0)) == PRE_INC)) || (
#line 58 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(GET_CODE (XEXP (op, 0)) == POST_INC)));
}
static inline bool
satisfies_constraint_p (rtx ARG_UNUSED (op))
{
  return 
#line 62 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(address_operand (op, VOIDmode));
}
static inline bool
satisfies_constraint_i (rtx op)
{
  return (
#line 66 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(CONSTANT_P (op))) && (
#line 67 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(!flag_pic || LEGITIMATE_PIC_OPERAND_P (op)));
}
static inline bool
satisfies_constraint_s (rtx op)
{
  return (
#line 71 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(CONSTANT_P (op))) && ((
#line 72 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(!CONST_SCALAR_INT_P (op))) && (
#line 73 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(!flag_pic || LEGITIMATE_PIC_OPERAND_P (op))));
}
static inline bool
satisfies_constraint_n (rtx op)
{
  return (
#line 77 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(CONST_SCALAR_INT_P (op))) && (
#line 78 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(!flag_pic || LEGITIMATE_PIC_OPERAND_P (op)));
}
static inline bool
satisfies_constraint_E (rtx op)
{
  return (
#line 82 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(CONST_DOUBLE_AS_FLOAT_P (op))) || (
#line 83 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(GET_CODE (op) == CONST_VECTOR
		    && GET_MODE_CLASS (GET_MODE (op)) == MODE_VECTOR_FLOAT));
}
static inline bool
satisfies_constraint_F (rtx op)
{
  return (
#line 89 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(CONST_DOUBLE_AS_FLOAT_P (op))) || (
#line 90 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(GET_CODE (op) == CONST_VECTOR
		    && GET_MODE_CLASS (GET_MODE (op)) == MODE_VECTOR_FLOAT));
}
static inline bool
satisfies_constraint_X (rtx ARG_UNUSED (op))
{
  return 
#line 95 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/common.md"
(true);
}
static inline bool
satisfies_constraint_I (rtx op)
{
  HOST_WIDE_INT ival = 0;
  if (CONST_INT_P (op))
    ival = INTVAL (op);
  return (GET_CODE (op) == CONST_INT) && (
#line 41 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(SMALL_OPERAND (ival)));
}
static inline bool
satisfies_constraint_J (rtx op)
{
  HOST_WIDE_INT ival = 0;
  if (CONST_INT_P (op))
    ival = INTVAL (op);
  return (GET_CODE (op) == CONST_INT) && (
#line 46 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(ival == 0));
}
static inline bool
satisfies_constraint_K (rtx op)
{
  HOST_WIDE_INT ival = 0;
  if (CONST_INT_P (op))
    ival = INTVAL (op);
  return (GET_CODE (op) == CONST_INT) && (
#line 51 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(IN_RANGE (ival, 0, 31)));
}
static inline bool
satisfies_constraint_L (rtx op)
{
  HOST_WIDE_INT ival = 0;
  if (CONST_INT_P (op))
    ival = INTVAL (op);
  return (GET_CODE (op) == CONST_INT) && (
#line 56 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(LUI_OPERAND (ival)));
}
static inline bool
satisfies_constraint_Ds3 (rtx op)
{
  HOST_WIDE_INT ival = 0;
  if (CONST_INT_P (op))
    ival = INTVAL (op);
  return (GET_CODE (op) == CONST_INT) && (
#line 62 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(IN_RANGE (ival, 1, 3)));
}
static inline bool
satisfies_constraint_DsS (rtx op)
{
  HOST_WIDE_INT ival = 0;
  if (CONST_INT_P (op))
    ival = INTVAL (op);
  return (GET_CODE (op) == CONST_INT) && (
#line 68 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(ival == 31));
}
static inline bool
satisfies_constraint_DsD (rtx op)
{
  HOST_WIDE_INT ival = 0;
  if (CONST_INT_P (op))
    ival = INTVAL (op);
  return (GET_CODE (op) == CONST_INT) && (
#line 74 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(ival == 63));
}
static inline bool
satisfies_constraint_DbS (rtx op)
{
  HOST_WIDE_INT ival = 0;
  if (CONST_INT_P (op))
    ival = INTVAL (op);
  return (GET_CODE (op) == CONST_INT) && (
#line 79 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(SINGLE_BIT_MASK_OPERAND (ival)));
}
static inline bool
satisfies_constraint_DnS (rtx op)
{
  HOST_WIDE_INT ival = 0;
  if (CONST_INT_P (op))
    ival = INTVAL (op);
  return (GET_CODE (op) == CONST_INT) && (
#line 84 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(SINGLE_BIT_MASK_OPERAND (~ival)));
}
static inline bool
satisfies_constraint_D03 (rtx op)
{
  HOST_WIDE_INT ival = 0;
  if (CONST_INT_P (op))
    ival = INTVAL (op);
  return 
#line 88 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(IN_RANGE (ival, 0, 3));
}
static inline bool
satisfies_constraint_DsA (rtx op)
{
  HOST_WIDE_INT ival = 0;
  if (CONST_INT_P (op))
    ival = INTVAL (op);
  return 
#line 92 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(IN_RANGE (ival, 0, 10));
}
static inline bool
satisfies_constraint_G (rtx op)
{
  machine_mode mode = GET_MODE (op);
  return (GET_CODE (op) == CONST_DOUBLE) && (
#line 99 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(op == CONST0_RTX (mode)));
}
static inline bool
satisfies_constraint_A (rtx op)
{
  return (GET_CODE (op) == MEM) && (
#line 104 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(GET_CODE(XEXP(op,0)) == REG));
}
static inline bool
satisfies_constraint_S (rtx op)
{
  machine_mode mode = GET_MODE (op);
  return absolute_symbolic_operand (op, mode);
}
static inline bool
satisfies_constraint_U (rtx op)
{
  machine_mode mode = GET_MODE (op);
  return plt_symbolic_operand (op, mode);
}
static inline bool
satisfies_constraint_T (rtx op)
{
  machine_mode mode = GET_MODE (op);
  return (move_operand (op, mode)) && (
#line 119 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(CONSTANT_P (op)));
}
static inline bool
satisfies_constraint_vp (rtx op)
{
  return (GET_CODE (op) == CONST_POLY_INT) && (
#line 139 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(known_eq (rtx_to_poly_int64 (op), BYTES_PER_RISCV_VECTOR)));
}
static inline bool
satisfies_constraint_vu (rtx op)
{
  return (GET_CODE (op) == UNSPEC) && (
#line 144 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(XINT (op, 1) == UNSPEC_VUNDEF));
}
static inline bool
satisfies_constraint_vi (rtx op)
{
  return (GET_CODE (op) == CONST_VECTOR) && (
#line 149 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(riscv_vector::const_vec_all_same_in_range_p (op, -16, 15)));
}
static inline bool
satisfies_constraint_vj (rtx op)
{
  return (GET_CODE (op) == CONST_VECTOR) && (
#line 154 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(riscv_vector::const_vec_all_same_in_range_p (op, -15, 16)));
}
static inline bool
satisfies_constraint_vk (rtx op)
{
  return (GET_CODE (op) == CONST_VECTOR) && (
#line 159 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(riscv_vector::const_vec_all_same_in_range_p (op, 0, 31)));
}
static inline bool
satisfies_constraint_Wc0 (rtx op)
{
  return (GET_CODE (op) == CONST_VECTOR) && (
#line 165 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(op == CONST0_RTX (GET_MODE (op))));
}
static inline bool
satisfies_constraint_Wc1 (rtx op)
{
  return (GET_CODE (op) == CONST_VECTOR) && (
#line 171 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(op == CONSTM1_RTX (GET_MODE (op))));
}
static inline bool
satisfies_constraint_Wb1 (rtx op)
{
  return (GET_CODE (op) == CONST_VECTOR) && (
#line 177 "../../../../../../../work-shared/gcc-13.4.0-r0/gcc-13.4.0/gcc/config/riscv/constraints.md"
(rtx_equal_p (op, riscv_vector::gen_scalar_move_mask (GET_MODE (op)))));
}
static inline bool
satisfies_constraint_Wdm (rtx op)
{
  return (GET_CODE (op) == MEM) && (GET_CODE (XEXP (op, 0)) == REG);
}
#endif /* tm-constrs.h */
