New branch for vm-tests that use cts-tf framework.
Change-Id: I9927dc09027fc2298a1b1f7ee6c918ed1d36723a
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/Test_rem_int_lit16.java b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/Test_rem_int_lit16.java
new file mode 100644
index 0000000..3449f86
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/Test_rem_int_lit16.java
@@ -0,0 +1,207 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.rem_int_lit16;
+
+import dot.junit.DxTestCase;
+import dot.junit.DxUtil;
+import dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_1;
+import dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_2;
+import dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_3;
+import dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_4;
+import dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_5;
+import dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_6;
+import dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_7;
+import dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_8;
+import dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_9;
+
+public class Test_rem_int_lit16 extends DxTestCase {
+
+ /**
+ * @title Arguments = 8, 4
+ */
+ public void testN1() {
+ T_rem_int_lit16_1 t = new T_rem_int_lit16_1();
+ assertEquals(0, t.run(8));
+ }
+
+ /**
+ * @title Arguments = 10737, 4
+ */
+ public void testN2() {
+ T_rem_int_lit16_1 t = new T_rem_int_lit16_1();
+ assertEquals(1, t.run(10737));
+ }
+
+ /**
+ * @title Dividend = 0
+ */
+ public void testN3() {
+ T_rem_int_lit16_1 t = new T_rem_int_lit16_1();
+ assertEquals(0, t.run(0));
+ }
+
+ /**
+ * @title Dividend is negative
+ */
+ public void testN4() {
+ T_rem_int_lit16_1 t = new T_rem_int_lit16_1();
+ assertEquals(-2, t.run(-10));
+ }
+
+ /**
+ * @title Divisor is negative
+ */
+ public void testN5() {
+ T_rem_int_lit16_2 t = new T_rem_int_lit16_2();
+ assertEquals(1, t.run(22222));
+ }
+
+ /**
+ * @title Both Dividend and divisor are negative
+ */
+ public void testN6() {
+ T_rem_int_lit16_3 t = new T_rem_int_lit16_3();
+ assertEquals(-2235, t.run(-23235));
+ }
+
+ /**
+ * @title Types of arguments - float, int. Dalvik doens't distinguish 32-bits types internally,
+ * so this operation of float and int makes no sense but shall not crash the VM.
+ */
+ public void testN7() {
+ T_rem_int_lit16_4 t = new T_rem_int_lit16_4();
+ try {
+ t.run(3.14f);
+ } catch (Throwable e) {
+ }
+ }
+
+ /**
+ * @title Arguments = Short.MIN_VALUE, -1
+ */
+ public void testB1() {
+ T_rem_int_lit16_5 t = new T_rem_int_lit16_5();
+ assertEquals(0, t.run(Short.MIN_VALUE));
+ }
+
+ /**
+ * @title Arguments = Short.MIN_VALUE, 1
+ */
+ public void testB2() {
+ T_rem_int_lit16_6 t = new T_rem_int_lit16_6();
+ assertEquals(0, t.run(Short.MIN_VALUE));
+ }
+
+ /**
+ * @title Arguments = Short.MAX_VALUE, 1
+ */
+ public void testB3() {
+ T_rem_int_lit16_6 t = new T_rem_int_lit16_6();
+ assertEquals(0, t.run(Short.MAX_VALUE));
+ }
+
+ /**
+ * @title Arguments = Short.MIN_VALUE, 32767
+ */
+ public void testB4() {
+ T_rem_int_lit16_7 t = new T_rem_int_lit16_7();
+ assertEquals(-1, t.run(Short.MIN_VALUE));
+ }
+
+ /**
+ * @title Arguments = 1, 32767
+ */
+ public void testB5() {
+ T_rem_int_lit16_7 t = new T_rem_int_lit16_7();
+ assertEquals(1, t.run(1));
+ }
+
+ /**
+ * @title Arguments = 1, -32768
+ */
+ public void testB6() {
+ T_rem_int_lit16_8 t = new T_rem_int_lit16_8();
+ assertEquals(1, t.run(1));
+ }
+
+ /**
+ * @title Divisor is 0
+ */
+ public void testE1() {
+ T_rem_int_lit16_9 t = new T_rem_int_lit16_9();
+ try {
+ t.run(1);
+ fail("expected ArithmeticException");
+ } catch (ArithmeticException ae) {
+ // expected
+ }
+ }
+
+ /**
+ * @constraint A23
+ * @title number of registers
+ */
+ public void testVFE1() {
+ try {
+ Class.forName("dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_10");
+ fail("expected a verification exception");
+ } catch (Throwable t) {
+ DxUtil.checkVerifyException(t);
+ }
+ }
+
+
+
+ /**
+ * @constraint B1
+ * @title types of arguments - int, double
+ */
+ public void testVFE2() {
+ try {
+ Class.forName("dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_11");
+ fail("expected a verification exception");
+ } catch (Throwable t) {
+ DxUtil.checkVerifyException(t);
+ }
+ }
+
+ /**
+ * @constraint B1
+ * @title types of arguments - long, int
+ */
+ public void testVFE3() {
+ try {
+ Class.forName("dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_12");
+ fail("expected a verification exception");
+ } catch (Throwable t) {
+ DxUtil.checkVerifyException(t);
+ }
+ }
+
+ /**
+ * @constraint B1
+ * @title types of arguments - reference, int
+ */
+ public void testVFE4() {
+ try {
+ Class.forName("dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_13");
+ fail("expected a verification exception");
+ } catch (Throwable t) {
+ DxUtil.checkVerifyException(t);
+ }
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_1.d b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_1.d
new file mode 100644
index 0000000..84c49ed
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_1.d
@@ -0,0 +1,32 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_rem_int_lit16_1.java
+.class public dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_1
+.super java/lang/Object
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run(I)I
+.limit regs 8
+
+ rem-int/lit16 v0, v7, 4
+ return v0
+.end method
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_1.java b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_1.java
new file mode 100644
index 0000000..75963ac
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_1.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.rem_int_lit16.d;
+
+public class T_rem_int_lit16_1 {
+
+ public int run(int a) {
+ int b = 4;
+ return a%b;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_10.d b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_10.d
new file mode 100644
index 0000000..4cd1fe6
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_10.d
@@ -0,0 +1,32 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_rem_int_lit16_10.java
+.class public dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_10
+.super java/lang/Object
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run(I)I
+.limit regs 8
+
+ rem-int/lit16 v0, v8, 10
+ return v0
+.end method
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_11.d b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_11.d
new file mode 100644
index 0000000..a5d81e0
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_11.d
@@ -0,0 +1,32 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_rem_int_lit16_11.java
+.class public dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_11
+.super java/lang/Object
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run(D)I
+.limit regs 8
+
+ rem-int/lit16 v0, v6, 10
+ return v0
+.end method
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_12.d b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_12.d
new file mode 100644
index 0000000..80cab63
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_12.d
@@ -0,0 +1,32 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_rem_int_lit16_12.java
+.class public dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_12
+.super java/lang/Object
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run(J)I
+.limit regs 8
+
+ rem-int/lit16 v0, v6, 10
+ return v0
+.end method
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_13.d b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_13.d
new file mode 100644
index 0000000..2e40ee6
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_13.d
@@ -0,0 +1,32 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_rem_int_lit16_13.java
+.class public dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_13
+.super java/lang/Object
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run(I)I
+.limit regs 8
+
+ rem-int/lit16 v0, v6, 10
+ return v0
+.end method
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_2.d b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_2.d
new file mode 100644
index 0000000..ebba20d
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_2.d
@@ -0,0 +1,32 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_rem_int_lit16_2.java
+.class public dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_2
+.super java/lang/Object
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run(I)I
+.limit regs 8
+
+ rem-int/lit16 v0, v7, -3
+ return v0
+.end method
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_2.java b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_2.java
new file mode 100644
index 0000000..7f40e12
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_2.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.rem_int_lit16.d;
+
+public class T_rem_int_lit16_2 {
+
+ public int run(int a) {
+ int b = -3;
+ return a%b;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_3.d b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_3.d
new file mode 100644
index 0000000..0b65731
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_3.d
@@ -0,0 +1,32 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_rem_int_lit16_3.java
+.class public dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_3
+.super java/lang/Object
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run(I)I
+.limit regs 8
+
+ rem-int/lit16 v0, v7, -3000
+ return v0
+.end method
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_3.java b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_3.java
new file mode 100644
index 0000000..ffd9b90
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_3.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.rem_int_lit16.d;
+
+public class T_rem_int_lit16_3 {
+
+ public int run(int a) {
+ int b = -3000;
+ return a%b;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_4.d b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_4.d
new file mode 100644
index 0000000..9b96729
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_4.d
@@ -0,0 +1,32 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_rem_int_lit16_4.java
+.class public dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_4
+.super java/lang/Object
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run(F)I
+.limit regs 8
+
+ rem-int/lit16 v0, v7, 15
+ return v0
+.end method
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_4.java b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_4.java
new file mode 100644
index 0000000..759ed42
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_4.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.rem_int_lit16.d;
+
+public class T_rem_int_lit16_4 {
+
+ public int run(float a) {
+ int b = 15;
+ return (int)a%b;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_5.d b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_5.d
new file mode 100644
index 0000000..96218a1
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_5.d
@@ -0,0 +1,32 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_rem_int_lit16_5.java
+.class public dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_5
+.super java/lang/Object
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run(I)I
+.limit regs 8
+
+ rem-int/lit16 v0, v7, -1
+ return v0
+.end method
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_5.java b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_5.java
new file mode 100644
index 0000000..7dd4dfb
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_5.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.rem_int_lit16.d;
+
+public class T_rem_int_lit16_5 {
+
+ public int run(int a) {
+ int b = -1;
+ return a%b;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_6.d b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_6.d
new file mode 100644
index 0000000..9139eec
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_6.d
@@ -0,0 +1,32 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_rem_int_lit16_6.java
+.class public dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_6
+.super java/lang/Object
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run(I)I
+.limit regs 8
+
+ rem-int/lit16 v0, v7, 1
+ return v0
+.end method
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_6.java b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_6.java
new file mode 100644
index 0000000..d59e8a4
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_6.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.rem_int_lit16.d;
+
+public class T_rem_int_lit16_6 {
+
+ public int run(int a) {
+ int b = 1;
+ return a%b;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_7.d b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_7.d
new file mode 100644
index 0000000..9970a21
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_7.d
@@ -0,0 +1,32 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_rem_int_lit16_7.java
+.class public dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_7
+.super java/lang/Object
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run(I)I
+.limit regs 8
+
+ rem-int/lit16 v0, v7, 32767
+ return v0
+.end method
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_7.java b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_7.java
new file mode 100644
index 0000000..215598b
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_7.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.rem_int_lit16.d;
+
+public class T_rem_int_lit16_7 {
+
+ public int run(int a) {
+ int b = 32767;
+ return a%b;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_8.d b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_8.d
new file mode 100644
index 0000000..aa2208b
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_8.d
@@ -0,0 +1,32 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_rem_int_lit16_8.java
+.class public dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_8
+.super java/lang/Object
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run(I)I
+.limit regs 8
+
+ rem-int/lit16 v0, v7, -32768
+ return v0
+.end method
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_8.java b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_8.java
new file mode 100644
index 0000000..77a94a2
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_8.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.rem_int_lit16.d;
+
+public class T_rem_int_lit16_8 {
+
+ public int run(int a) {
+ int b = -32768;
+ return a%b;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_9.d b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_9.d
new file mode 100644
index 0000000..91c45f8
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_9.d
@@ -0,0 +1,32 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_rem_int_lit16_9.java
+.class public dot.junit.opcodes.rem_int_lit16.d.T_rem_int_lit16_9
+.super java/lang/Object
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run(I)I
+.limit regs 8
+
+ rem-int/lit16 v0, v7, 0
+ return v0
+.end method
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_9.java b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_9.java
new file mode 100644
index 0000000..6c6d3cc
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/rem_int_lit16/d/T_rem_int_lit16_9.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.rem_int_lit16.d;
+
+public class T_rem_int_lit16_9 {
+
+ public int run(int a) {
+ int b = 0;
+ return a%b;
+ }
+}