Add some more tests.
authorDavid Given <dg@cowlark.com>
Sun, 20 Nov 2016 09:46:53 +0000 (10:46 +0100)
committerDavid Given <dg@cowlark.com>
Sun, 20 Nov 2016 09:46:53 +0000 (10:46 +0100)
plat/qemuppc/tests/intdiv_e.c
plat/qemuppc/tests/intrem_e.c [new file with mode: 0644]

index dfa96ae..c90964c 100644 (file)
@@ -9,9 +9,20 @@ int zero = 0;
 /* Bypasses the CRT, so there's no stdio or BSS initialisation. */
 void _m_a_i_n(void)
 {
-    ASSERT((three/two) == 1);
-    ASSERT((-three/two) == -1);
-    ASSERT((-three/-two) == 1);
-    ASSERT((three/-two) == -1);
+    ASSERT((three / two) == 1);
+    ASSERT((-three / two) == -1);
+    ASSERT((-three / -two) == 1);
+    ASSERT((three / -two) == -1);
+
+    ASSERT((three / 2) == 1);
+    ASSERT((-three / 2) == -1);
+    ASSERT((-three / -2) == 1);
+    ASSERT((three / -2) == -1);
+
+    ASSERT((3 / two) == 1);
+    ASSERT((-3 / two) == -1);
+    ASSERT((-3 / -two) == 1);
+    ASSERT((3 / -two) == -1);
+
     finished();
 }
\ No newline at end of file
diff --git a/plat/qemuppc/tests/intrem_e.c b/plat/qemuppc/tests/intrem_e.c
new file mode 100644 (file)
index 0000000..40f68d6
--- /dev/null
@@ -0,0 +1,28 @@
+#include "test.h"
+
+/* Constants in globals to defeat constant folding. */
+int three = 3;
+int two = 2;
+int one = 1;
+int zero = 0;
+
+/* Bypasses the CRT, so there's no stdio or BSS initialisation. */
+void _m_a_i_n(void)
+{
+    ASSERT((three % two) == 1);
+    ASSERT((-three % two) == -1);
+    ASSERT((-three % -two) == -1);
+    ASSERT((three % -two) == 1);
+
+    ASSERT((three % 2) == 1);
+    ASSERT((-three % 2) == -1);
+    ASSERT((-three % -2) == -1);
+    ASSERT((three % -2) == 1);
+
+    ASSERT((3 % two) == 1);
+    ASSERT((-3 % two) == -1);
+    ASSERT((-3 % -two) == -1);
+    ASSERT((3 % -two) == 1);
+
+    finished();
+}
\ No newline at end of file