[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 7/7] target-openrisc: Correct carry flag check of l.a
From: |
Jia Liu |
Subject: |
[Qemu-devel] [PULL 7/7] target-openrisc: Correct carry flag check of l.addc and l.addic test cases |
Date: |
Wed, 20 Nov 2013 22:38:38 +0800 |
From: Sebastian Macke <address@hidden>
The test cases did not correctly test for the carry flag.
Signed-off-by: Sebastian Macke <address@hidden>
Reviewed-by: Jia Liu <address@hidden>
Signed-off-by: Jia Liu <address@hidden>
---
tests/tcg/openrisc/test_addc.c | 8 +++++---
tests/tcg/openrisc/test_addic.c | 10 ++++++----
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/tests/tcg/openrisc/test_addc.c b/tests/tcg/openrisc/test_addc.c
index 05d18f8..a8f756a 100644
--- a/tests/tcg/openrisc/test_addc.c
+++ b/tests/tcg/openrisc/test_addc.c
@@ -7,9 +7,10 @@ int main(void)
b = 0x01;
c = 0xffffffff;
- result = 1;
+ result = 0;
__asm
- ("l.addc %0, %1, %2\n\t"
+ ("l.add r1, r1, r0\n\t" /* clear carry */
+ "l.addc %0, %1, %2\n\t"
: "=r"(a)
: "r"(b), "r"(c)
);
@@ -22,7 +23,8 @@ int main(void)
c = 0xffffffff;
result = 0x80000001;
__asm
- ("l.addc %0, %1, %2\n\t"
+ ("l.add r1, r1, r0\n\t" /* clear carry */
+ "l.addc %0, %1, %2\n\t"
"l.movhi %2, 0x7fff\n\t"
"l.ori %2, %2, 0xffff\n\t"
"l.addc %0, %1, %2\n\t"
diff --git a/tests/tcg/openrisc/test_addic.c b/tests/tcg/openrisc/test_addic.c
index 4ba7432..857aaa1 100644
--- a/tests/tcg/openrisc/test_addic.c
+++ b/tests/tcg/openrisc/test_addic.c
@@ -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)
--
1.8.3.4 (Apple Git-47)
- [Qemu-devel] [PULL 0/7] OpenRISC patch queue for 1.7, Jia Liu, 2013/11/20
- [Qemu-devel] [PULL 3/7] target-openrisc: Remove executable flag for every page, Jia Liu, 2013/11/20
- [Qemu-devel] [PULL 4/7] target-openrisc: Correct wrong epcr register in interrupt handler, Jia Liu, 2013/11/20
- [Qemu-devel] [PULL 5/7] openrisc-timer: Reduce overhead, Separate clock update functions, Jia Liu, 2013/11/20
- [Qemu-devel] [PULL 6/7] target-openrisc: Correct memory bounds checking for the tlb buffers, Jia Liu, 2013/11/20
- [Qemu-devel] [PULL 7/7] target-openrisc: Correct carry flag check of l.addc and l.addic test cases,
Jia Liu <=
- [Qemu-devel] [PULL 1/7] target-openrisc: Speed up move instruction, Jia Liu, 2013/11/20
- [Qemu-devel] [PULL 2/7] target-openrisc: Remove unnecessary code generated by jump instructions, Jia Liu, 2013/11/20