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;
+    }
+}