]> git.proxmox.com Git - qemu.git/blobdiff - tests/tcg/openrisc/test_addic.c
target-openrisc: Correct carry flag check of l.addc and l.addic test cases
[qemu.git] / tests / tcg / openrisc / test_addic.c
index 4ba7432521c721fe9dafa07f8d33beda77395e45..857aaa133025defc8014ab20f34e8c5e4b49d4f6 100644 (file)
@@ -6,9 +6,10 @@ int main(void)
     int result;
 
     a = 1;
-    result = 0x1;
+    result = 0x0;
     __asm
-    ("l.addic %0, %0, 0xffff\n\t"
+    ("l.add r1, r1, r0\n\t" /* clear carry */
+     "l.addic %0, %0, 0xffff\n\t"
      : "+r"(a)
     );
     if (a != result) {
@@ -16,10 +17,11 @@ int main(void)
         return -1;
    }
 
-    a = 0x1;
+    a = -1;
     result = 0x201;
     __asm
-    ("l.addic %0, %0, 0xffff\n\t"
+    ("l.add r1, r1, r0\n\t"  /* clear carry */
+     "l.addic %0, %0, 0x1\n\t"
      "l.ori   %0, r0, 0x100\n\t"
      "l.addic %0, %0, 0x100\n\t"
      : "+r"(a)