summaryrefslogtreecommitdiff
path: root/src/arch/arm/isa/formats/mult.isa
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm/isa/formats/mult.isa')
-rw-r--r--src/arch/arm/isa/formats/mult.isa13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/arch/arm/isa/formats/mult.isa b/src/arch/arm/isa/formats/mult.isa
index 73157dd57..142bfd67c 100644
--- a/src/arch/arm/isa/formats/mult.isa
+++ b/src/arch/arm/isa/formats/mult.isa
@@ -87,6 +87,8 @@ def format ArmMultAndMultAcc() {{
} else {
return new Smlal(machInst, ra, rd, rn, rm);
}
+ default:
+ M5_UNREACHABLE;
}
}
'''
@@ -112,6 +114,8 @@ def format ArmHalfWordMultAndMultAcc() {{
return new SmlabtCc(machInst, rd, rn, rm, ra);
case 0x3:
return new SmlattCc(machInst, rd, rn, rm, ra);
+ default:
+ M5_UNREACHABLE;
}
case 0x1:
if (op) {
@@ -137,6 +141,8 @@ def format ArmHalfWordMultAndMultAcc() {{
return new Smlalbt(machInst, ra, rd, rn, rm);
case 0x3:
return new Smlaltt(machInst, ra, rd, rn, rm);
+ default:
+ M5_UNREACHABLE;
}
case 0x3:
switch (bits(machInst, 6, 5)) {
@@ -148,7 +154,11 @@ def format ArmHalfWordMultAndMultAcc() {{
return new Smulbt(machInst, rd, rn, rm);
case 0x3:
return new Smultt(machInst, rd, rn, rm);
+ default:
+ M5_UNREACHABLE;
}
+ default:
+ M5_UNREACHABLE;
}
}
'''
@@ -201,6 +211,7 @@ def format Thumb32MulMulAccAndAbsDiff() {{
return new SmlattCc(machInst, rd, rn, rm, ra);
}
}
+ M5_UNREACHABLE;
case 0x2:
if (ra == 0xf) {
if (bits(machInst, 4)) {
@@ -271,6 +282,8 @@ def format Thumb32MulMulAccAndAbsDiff() {{
} else {
return new Usada8(machInst, rd, rn, rm, ra);
}
+ default:
+ M5_UNREACHABLE;
}
}
'''