RISC-V: Fix Werror=sign-compare in riscv_validate_vector_type
This patch would like to fix the Werror=sign-compare similar to below: gcc/config/riscv/riscv.cc: In function ‘void riscv_validate_vector_type(const_tree, const char*)’: gcc/config/riscv/riscv.cc:5614:23: error: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Werror=sign-compare] 5614 | if (TARGET_MIN_VLEN < required_min_vlen) The TARGET_MIN_VLEN is *int* by default but the required_min_vlen returned from riscv_vector_required_min_vlen is **unsigned**. Thus, adjust the related function and reference variable(s) to int type to avoid such kind of Werror. The below test suite is passed for this patch. * The rv64gcv fully regression tests. gcc/ChangeLog: * config/riscv/riscv.cc (riscv_vector_float_type_p): Take int as the return value instead of unsigned. (riscv_vector_element_bitsize): Ditto. (riscv_vector_required_min_vlen): Ditto. (riscv_validate_vector_type): Take int type for local variable(s). Signed-off-by: Pan Li <pan2.li@intel.com>
This commit is contained in:
parent
67e1433a94
commit
6e7e594361
1 changed files with 5 additions and 5 deletions
|
@ -5499,7 +5499,7 @@ riscv_vector_float_type_p (const_tree type)
|
|||
return strstr (name, "vfloat") != NULL;
|
||||
}
|
||||
|
||||
static unsigned
|
||||
static int
|
||||
riscv_vector_element_bitsize (const_tree type)
|
||||
{
|
||||
machine_mode mode = TYPE_MODE (type);
|
||||
|
@ -5523,7 +5523,7 @@ riscv_vector_element_bitsize (const_tree type)
|
|||
gcc_unreachable ();
|
||||
}
|
||||
|
||||
static unsigned
|
||||
static int
|
||||
riscv_vector_required_min_vlen (const_tree type)
|
||||
{
|
||||
machine_mode mode = TYPE_MODE (type);
|
||||
|
@ -5531,7 +5531,7 @@ riscv_vector_required_min_vlen (const_tree type)
|
|||
if (riscv_v_ext_mode_p (mode))
|
||||
return TARGET_MIN_VLEN;
|
||||
|
||||
unsigned element_bitsize = riscv_vector_element_bitsize (type);
|
||||
int element_bitsize = riscv_vector_element_bitsize (type);
|
||||
const char *name = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (type)));
|
||||
|
||||
if (strstr (name, "bool64") != NULL)
|
||||
|
@ -5569,7 +5569,7 @@ riscv_validate_vector_type (const_tree type, const char *hint)
|
|||
return;
|
||||
}
|
||||
|
||||
unsigned element_bitsize = riscv_vector_element_bitsize (type);
|
||||
int element_bitsize = riscv_vector_element_bitsize (type);
|
||||
bool int_type_p = riscv_vector_int_type_p (type);
|
||||
|
||||
if (int_type_p && element_bitsize == 64
|
||||
|
@ -5609,7 +5609,7 @@ riscv_validate_vector_type (const_tree type, const char *hint)
|
|||
return;
|
||||
}
|
||||
|
||||
unsigned required_min_vlen = riscv_vector_required_min_vlen (type);
|
||||
int required_min_vlen = riscv_vector_required_min_vlen (type);
|
||||
|
||||
if (TARGET_MIN_VLEN < required_min_vlen)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue