Improve RVC test
authorAndrew Waterman <andrew@sifive.com>
Fri, 4 Aug 2017 07:23:04 +0000 (00:23 -0700)
committerAndrew Waterman <andrew@sifive.com>
Fri, 4 Aug 2017 07:24:37 +0000 (00:24 -0700)
Make the page-crossing instruction non-idempotent to detect erroneously
executing the first 16 bits of the instruction with garbage MSBs.

benchmarks/common/test.ld
env
isa/rv64uc/rvc.S

index ada0862d7464dc01b828aa5f8849b3166dbc58c8..4f8892ee25f7600018b6bfe178029b2492382f86 100644 (file)
@@ -25,7 +25,8 @@ SECTIONS
   . = 0x80000000;
   .text.init : { *(.text.init) }
 
-  .tohost ALIGN(0x1000) : { *(.tohost) }
+  . = ALIGN(0x1000);
+  .tohost : { *(.tohost) }
 
   .text : { *(.text) }
 
diff --git a/env b/env
index d7b2fdc9ed30163ac7e4f5cfc502710e862a112e..db0bfa223142e56b17dae6d92610f195014bbb80 160000 (submodule)
--- a/env
+++ b/env
@@ -1 +1 @@
-Subproject commit d7b2fdc9ed30163ac7e4f5cfc502710e862a112e
+Subproject commit db0bfa223142e56b17dae6d92610f195014bbb80
index 2b8acd28673e787acd7a3f685397af019222fd7f..b0766a9671abf7add918660a976d9003d11377e3 100644 (file)
@@ -22,8 +22,7 @@ RVTEST_CODE_BEGIN
   // Make sure fetching a 4-byte instruction across a page boundary works.
   li TESTNUM, 2
   li a1, 666
-  li a2, 1
-  RVC_TEST_CASE (2, a1, 2, \
+  TEST_CASE (2, a1, 667, \
         j 1f; \
         .align 3; \
         data: \
@@ -31,7 +30,7 @@ RVTEST_CODE_BEGIN
           .dword 0xfedcba9876543210; \
         .align 12; \
         .skip 4094; \
-      1: addi a1, a2, 1)
+      1: addi a1, a1, 1)
 
   li sp, 0x1234
   RVC_TEST_CASE (3, a0, 0x1234 + 1020, c.addi4spn a0, sp, 1020)