Check that SC yields the load reservation
authorAndrew Waterman <andrew@sifive.com>
Mon, 9 Jul 2018 21:25:46 +0000 (14:25 -0700)
committerAndrew Waterman <andrew@sifive.com>
Mon, 9 Jul 2018 21:27:36 +0000 (14:27 -0700)
https://github.com/riscv/riscv-isa-manual/commit/03a5e722fc0fe7b94dd0a49f550ff7b41a63f612

isa/rv64ua/lrsc.S

index 14ef07de5cd53bbebefecfda77dea0e2c993cfb7..f73a404973d878185f35488a955f95937e20dd40 100644 (file)
@@ -70,6 +70,15 @@ TEST_CASE( 4, a0, 0, \
   bgez a3, 1b
 )
 
+# make sure that sc-after-successful-sc fails.
+TEST_CASE( 5, a1, 1, \
+  la a0, foo; \
+1:lr.w a1, (a0); \
+  sc.w a1, x0, (a0); \
+  bnez a1, 1b; \
+  sc.w a1, x0, (a0)
+)
+
 TEST_PASSFAIL
 
 RVTEST_CODE_END