diff options
| -rw-r--r-- | compiler/dex/quick/x86/utility_x86.cc | 1 | ||||
| -rw-r--r-- | test/800-smali/expected.txt | 1 | ||||
| -rw-r--r-- | test/800-smali/smali/BadCaseInOpRegRegReg.smali | 13 | ||||
| -rw-r--r-- | test/800-smali/src/Main.java | 1 |
4 files changed, 16 insertions, 0 deletions
diff --git a/compiler/dex/quick/x86/utility_x86.cc b/compiler/dex/quick/x86/utility_x86.cc index c1c79caa19..ad3222cd84 100644 --- a/compiler/dex/quick/x86/utility_x86.cc +++ b/compiler/dex/quick/x86/utility_x86.cc @@ -488,6 +488,7 @@ LIR* X86Mir2Lir::OpRegRegReg(OpKind op, RegStorage r_dest, RegStorage r_src1, case kOpAdc: case kOpAnd: case kOpXor: + case kOpMul: break; default: LOG(FATAL) << "Bad case in OpRegRegReg " << op; diff --git a/test/800-smali/expected.txt b/test/800-smali/expected.txt index 01d7b8164f..7674a8ab68 100644 --- a/test/800-smali/expected.txt +++ b/test/800-smali/expected.txt @@ -5,4 +5,5 @@ negLong sameFieldNames b/18380491 invoke-super abstract +BadCaseInOpRegRegReg Done! diff --git a/test/800-smali/smali/BadCaseInOpRegRegReg.smali b/test/800-smali/smali/BadCaseInOpRegRegReg.smali new file mode 100644 index 0000000000..2683790365 --- /dev/null +++ b/test/800-smali/smali/BadCaseInOpRegRegReg.smali @@ -0,0 +1,13 @@ +.class public LBadCaseInOpRegRegReg; + +.super Ljava/lang/Object; + +.method public static getInt()I + .registers 2 + const/4 v0, 0x0 + const/4 v1, 0x1 + add-int/2addr v0, v1 + add-int/lit8 v1, v0, 0x1 + mul-int v0, v1, v0 + return v0 +.end method diff --git a/test/800-smali/src/Main.java b/test/800-smali/src/Main.java index 3f613efd78..8d318c354b 100644 --- a/test/800-smali/src/Main.java +++ b/test/800-smali/src/Main.java @@ -60,6 +60,7 @@ public class Main { new Object[]{42}, null, 42)); testCases.add(new TestCase("invoke-super abstract", "B18380491ConcreteClass", "foo", new Object[]{0}, new AbstractMethodError(), null)); + testCases.add(new TestCase("BadCaseInOpRegRegReg", "BadCaseInOpRegRegReg", "getInt", null, null, 2)); } public void runTests() { |