[PATCH V2] RISC-V: Fix warning in riscv.md
Kito Cheng
kito.cheng@gmail.com
Tue May 30 02:09:30 GMT 2023
LGTM :)
On Tue, May 30, 2023 at 10:09 AM <juzhe.zhong@rivai.ai> wrote:
>
> From: Juzhe-Zhong <juzhe.zhong@rivai.ai>
>
> Notice there is warning:
> ../../../riscv-gcc/gcc/config/riscv/riscv.md:1356:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
> if (INTVAL (operands[2]) == GET_MODE_MASK (HImode))
> ../../../riscv-gcc/gcc/config/riscv/riscv.md:1358:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
> else if (INTVAL (operands[2]) == GET_MODE_MASK (SImode))
> ../../../riscv-gcc/gcc/config/riscv/riscv.md: In function ‘rtx_def* gen_anddi3(rtx, rtx, rtx)’:
> ../../../riscv-gcc/gcc/config/riscv/riscv.md:1356:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
> if (INTVAL (operands[2]) == GET_MODE_MASK (HImode))
> ../../../riscv-gcc/gcc/config/riscv/riscv.md:1358:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
> else if (INTVAL (operands[2]) == GET_MODE_MASK (SImode))
>
> Add unsigned conversion to fix this warning.
>
> gcc/ChangeLog:
>
> * config/riscv/riscv.md: Fix signed and unsigned comparison warning.
>
> ---
> gcc/config/riscv/riscv.md | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gcc/config/riscv/riscv.md b/gcc/config/riscv/riscv.md
> index aba203318a7..f545874edc1 100644
> --- a/gcc/config/riscv/riscv.md
> +++ b/gcc/config/riscv/riscv.md
> @@ -1353,9 +1353,9 @@
> if (CONST_INT_P (operands[2]))
> {
> enum machine_mode tmode = VOIDmode;
> - if (INTVAL (operands[2]) == GET_MODE_MASK (HImode))
> + if (UINTVAL (operands[2]) == GET_MODE_MASK (HImode))
> tmode = HImode;
> - else if (INTVAL (operands[2]) == GET_MODE_MASK (SImode))
> + else if (UINTVAL (operands[2]) == GET_MODE_MASK (SImode))
> tmode = SImode;
>
> if (tmode != VOIDmode)
> --
> 2.36.3
>
More information about the Gcc-patches
mailing list