OSDN Git Service

target-xtensa: add tests for LBEG/LEND invalidation
authorMax Filippov <jcmvbkbc@gmail.com>
Mon, 9 Apr 2012 22:48:19 +0000 (02:48 +0400)
committerBlue Swirl <blauwirbel@gmail.com>
Sat, 14 Apr 2012 15:25:39 +0000 (15:25 +0000)
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
tests/tcg/xtensa/test_loop.S

index a5ea933..5cead47 100644 (file)
@@ -74,4 +74,54 @@ test loop_excm
     assert  eqi, a2, 1
 test_end
 
+test lbeg_invalidation
+    movi    a2, 0
+    movi    a3, 1
+    movi    a4, 1f
+    movi    a5, 3f
+    wsr     a3, lcount
+    wsr     a4, lbeg
+    wsr     a5, lend
+    isync
+    j       1f
+.align 4
+1:
+    addi    a2, a2, 1
+    j       2f
+.align 4
+2:
+    addi    a2, a2, 2
+    movi    a3, 2b
+    wsr     a3, lbeg
+    isync
+    nop
+3:
+    assert  eqi, a2, 5
+test_end
+
+test lend_invalidation
+    movi    a2, 0
+    movi    a3, 5
+    movi    a4, 1f
+    movi    a5, 2f
+    wsr     a3, lcount
+    wsr     a4, lbeg
+    wsr     a5, lend
+    isync
+    j       1f
+.align 4
+1:
+    addi    a2, a2, 1
+2:
+    beqi    a3, 3, 1f
+    assert  eqi, a2, 6
+    movi    a3, 3
+    wsr     a3, lcount
+    wsr     a4, lend
+    isync
+    j       1b
+1:
+    assert  eqi, a2, 7
+test_end
+
 test_suite_end