From: Juzhe-Zhong <[email protected]>
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..3d71f59c3a9 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 ((unsigned HOST_WIDE_INT) INTVAL (operands[2]) == GET_MODE_MASK
(HImode))
tmode = HImode;
- else if (INTVAL (operands[2]) == GET_MODE_MASK (SImode))
+ else if ((unsigned HOST_WIDE_INT) INTVAL (operands[2]) == GET_MODE_MASK
(SImode))
tmode = SImode;
if (tmode != VOIDmode)
--
2.36.3