Bobby R. Bruce has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/33154 )
Change subject: arch-arm: Fix build errors with gcc 10.2
......................................................................
arch-arm: Fix build errors with gcc 10.2
The "-Werror=type-limits" flag in GCC 10.2 reports these errors,
because ``imm`` in neon.isa, and ``imm`` and ``count`` in sve.isa are
unsigned, and they're used to do ``imm < 0`` and ``imm * count >= 0``
comparison.
Change-Id: I33934357f578a9fc1040a6d9c08ea929fb36eb47
Signed-off-by: Iru Cai <[email protected]>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33154
Reviewed-by: Giacomo Travaglini <[email protected]>
Reviewed-by: Richard Cooper <[email protected]>
Maintainer: Giacomo Travaglini <[email protected]>
Tested-by: kokoro <[email protected]>
---
M src/arch/arm/isa/insts/neon.isa
M src/arch/arm/isa/insts/sve.isa
2 files changed, 6 insertions(+), 11 deletions(-)
Approvals:
Giacomo Travaglini: Looks good to me, approved; Looks good to me, approved
Richard Cooper: Looks good to me, approved
kokoro: Regressions pass
diff --git a/src/arch/arm/isa/insts/neon.isa
b/src/arch/arm/isa/insts/neon.isa
index aa67353..d536d5b 100644
--- a/src/arch/arm/isa/insts/neon.isa
+++ b/src/arch/arm/isa/insts/neon.isa
@@ -1416,7 +1416,7 @@
if readDest:
readDestCode = 'destElem = letoh(destReg.elements[i]);'
eWalkCode += '''
- if (imm < 0 && imm >= eCount) {
+ if (imm >= eCount) {
fault = std::make_shared<UndefinedInstruction>(machInst, false,
mnemonic);
} else {
@@ -1468,7 +1468,7 @@
if readDest:
readDestCode = 'destElem = letoh(destReg.elements[i]);'
eWalkCode += '''
- if (imm < 0 && imm >= eCount) {
+ if (imm >= eCount) {
fault = std::make_shared<UndefinedInstruction>(machInst, false,
mnemonic);
} else {
@@ -1518,7 +1518,7 @@
if readDest:
readDestCode = 'destReg = destRegs[i];'
eWalkCode += '''
- if (imm < 0 && imm >= eCount) {
+ if (imm >= eCount) {
fault = std::make_shared<UndefinedInstruction>(machInst, false,
mnemonic);
} else {
diff --git a/src/arch/arm/isa/insts/sve.isa b/src/arch/arm/isa/insts/sve.isa
index 9314ba9..4e49e92 100644
--- a/src/arch/arm/isa/insts/sve.isa
+++ b/src/arch/arm/isa/insts/sve.isa
@@ -4335,13 +4335,10 @@
destElem = srcElem1 - (count * imm);
bool negDest = (destElem < 0);
bool negSrc = (srcElem1 < 0);
- bool posCount = ((count * imm) >= 0);
- if ((negDest != negSrc) && (negSrc == posCount)) {
+ if (!negDest && negSrc) {
destElem = static_cast<%(dstType)s>(
(%(dstType)s)1 << (sizeof(%(dstType)s) * 8 - 1)
);
- if (negDest)
- destElem -= 1;
}
'''
sveElemCountInst('sqdec', 'Sqdec32', 'SimdAluOp', signedTypes,
@@ -4394,13 +4391,11 @@
destElem = srcElem1 + (count * imm);
bool negDest = (destElem < 0);
bool negSrc = (srcElem1 < 0);
- bool negCount = ((count * imm) < 0);
- if ((negDest != negSrc) && (negSrc == negCount)) {
+ if (negDest && !negSrc) {
destElem = static_cast<%(dstType)s>(
(%(dstType)s)1 << (sizeof(%(dstType)s) * 8 - 1)
);
- if (negDest)
- destElem -= 1;
+ destElem -= 1;
}
'''
sveElemCountInst('sqinc', 'Sqinc32', 'SimdAluOp', signedTypes,
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/33154
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I33934357f578a9fc1040a6d9c08ea929fb36eb47
Gerrit-Change-Number: 33154
Gerrit-PatchSet: 4
Gerrit-Owner: Iru Cai <[email protected]>
Gerrit-Assignee: Richard Cooper <[email protected]>
Gerrit-Reviewer: Bobby R. Bruce <[email protected]>
Gerrit-Reviewer: Giacomo Gabrielli <[email protected]>
Gerrit-Reviewer: Giacomo Travaglini <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
Gerrit-Reviewer: Richard Cooper <[email protected]>
Gerrit-Reviewer: kokoro <[email protected]>
Gerrit-CC: Gabe Black <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s