Remove vestigial j instruction test; improve jal test
authorAndrew Waterman <waterman@cs.berkeley.edu>
Tue, 12 Jul 2016 00:41:59 +0000 (17:41 -0700)
committerAndrew Waterman <waterman@cs.berkeley.edu>
Tue, 12 Jul 2016 00:41:59 +0000 (17:41 -0700)
isa/rv32ui/Makefrag
isa/rv32ui/j.S [deleted file]
isa/rv32ui/jal.S
isa/rv64ui/Makefrag
isa/rv64ui/j.S [deleted file]
isa/rv64ui/jal.S

index 6cb6c08dc6e1ad02361f6e58729a5362ff2d4427..7c211f15238735bee2c7a9134e73c6043b5789bf 100644 (file)
@@ -9,7 +9,7 @@ rv32ui_sc_tests = \
        auipc \
        beq bge bgeu blt bltu bne \
        fence_i \
-       j jal jalr \
+       jal jalr \
        lb lbu lh lhu lw \
        lui \
        or ori \
diff --git a/isa/rv32ui/j.S b/isa/rv32ui/j.S
deleted file mode 100644 (file)
index 259a236..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-# See LICENSE for license details.
-
-#*****************************************************************************
-# j.S
-#-----------------------------------------------------------------------------
-#
-# Test j instruction.
-#
-
-#include "riscv_test.h"
-#include "test_macros.h"
-
-RVTEST_RV32U
-RVTEST_CODE_BEGIN
-
-  #-------------------------------------------------------------
-  # Test basic
-  #-------------------------------------------------------------
-
-  li  TESTNUM, 2;
-  j test_2;
-  j fail;
-test_2:
-
-  #-------------------------------------------------------------
-  # Test delay slot instructions not executed nor bypassed
-  #-------------------------------------------------------------
-
-  TEST_CASE( 3, x1, 3, \
-    li  x1, 1; \
-    j 1f; \
-    addi x1, x1, 1; \
-    addi x1, x1, 1; \
-    addi x1, x1, 1; \
-    addi x1, x1, 1; \
-1:  addi x1, x1, 1; \
-    addi x1, x1, 1; \
-  )
-
-  TEST_PASSFAIL
-
-RVTEST_CODE_END
-
-  .data
-RVTEST_DATA_BEGIN
-
-  TEST_DATA
-
-RVTEST_DATA_END
index 742abacfbb13c698d58a7440580e5b130ce08a7c..93f407b9c2c521da772168362622bb78f50e0355 100644 (file)
@@ -1,60 +1,7 @@
 # See LICENSE for license details.
 
-#*****************************************************************************
-# jal.S
-#-----------------------------------------------------------------------------
-#
-# Test jal instruction.
-#
-
 #include "riscv_test.h"
-#include "test_macros.h"
-
-RVTEST_RV32U
-RVTEST_CODE_BEGIN
-
-  #-------------------------------------------------------------
-  # Test 2: Basic test
-  #-------------------------------------------------------------
-
-test_2:
-  li  TESTNUM, 2
-  li  ra, 0
-
-linkaddr_2:
-  jal target_2
-  nop
-  nop
-
-  j fail
-
-target_2:
-  la  x2, linkaddr_2
-  addi x2, x2, 4
-  bne x2, ra, fail
-
-  #-------------------------------------------------------------
-  # Test delay slot instructions not executed nor bypassed
-  #-------------------------------------------------------------
-
-  TEST_CASE( 3, x2, 3, \
-    li  x2, 1; \
-    jal 1f; \
-    addi x2, x2, 1; \
-    addi x2, x2, 1; \
-    addi x2, x2, 1; \
-    addi x2, x2, 1; \
-1:  addi x2, x2, 1; \
-    addi x2, x2, 1; \
-  )
-
-  TEST_PASSFAIL
-
-RVTEST_CODE_END
-
-  .data
-RVTEST_DATA_BEGIN
-
-  TEST_DATA
+#undef RVTEST_RV64U
+#define RVTEST_RV64U RVTEST_RV32U
 
-RVTEST_DATA_END
+#include "../rv64ui/jal.S"
index 7920b99e611ffdbc373ecf942568c96dfc5b515d..aeeb560794361998dc29b820b4b2f08fbb38c2b4 100644 (file)
@@ -9,7 +9,7 @@ rv64ui_sc_tests = \
        beq bge bgeu blt bltu bne \
        example simple \
        fence_i \
-       j jal jalr \
+       jal jalr \
        lb lbu lh lhu lw lwu ld \
        lui \
        or ori \
diff --git a/isa/rv64ui/j.S b/isa/rv64ui/j.S
deleted file mode 100644 (file)
index a7e3fe6..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-# See LICENSE for license details.
-
-#*****************************************************************************
-# j.S
-#-----------------------------------------------------------------------------
-#
-# Test j instruction.
-#
-
-#include "riscv_test.h"
-#include "test_macros.h"
-
-RVTEST_RV64U
-RVTEST_CODE_BEGIN
-
-  #-------------------------------------------------------------
-  # Test basic
-  #-------------------------------------------------------------
-
-  li  TESTNUM, 2;
-  j test_2;
-  j fail;
-test_2:
-
-  #-------------------------------------------------------------
-  # Test delay slot instructions not executed nor bypassed
-  #-------------------------------------------------------------
-
-  TEST_CASE( 3, x1, 3, \
-    li  x1, 1; \
-    j 1f; \
-    addi x1, x1, 1; \
-    addi x1, x1, 1; \
-    addi x1, x1, 1; \
-    addi x1, x1, 1; \
-1:  addi x1, x1, 1; \
-    addi x1, x1, 1; \
-  )
-
-  TEST_PASSFAIL
-
-RVTEST_CODE_END
-
-  .data
-RVTEST_DATA_BEGIN
-
-  TEST_DATA
-
-RVTEST_DATA_END
index 90d06e92b13ed15bd9e20e30597b124e26385cfe..f7f299d210277694f5a9056db6eb1ef770386c53 100644 (file)
@@ -21,8 +21,8 @@ test_2:
   li  TESTNUM, 2
   li  ra, 0
 
+  jal x3, target_2
 linkaddr_2:
-  jal target_2
   nop
   nop
 
@@ -30,22 +30,21 @@ linkaddr_2:
 
 target_2:
   la  x2, linkaddr_2
-  addi x2, x2, 4
-  bne x2, ra, fail
+  bne x2, x3, fail
 
   #-------------------------------------------------------------
   # Test delay slot instructions not executed nor bypassed
   #-------------------------------------------------------------
 
-  TEST_CASE( 3, x2, 3, \
-    li  x2, 1; \
-    jal 1f; \
-    addi x2, x2, 1; \
-    addi x2, x2, 1; \
-    addi x2, x2, 1; \
-    addi x2, x2, 1; \
-1:  addi x2, x2, 1; \
-    addi x2, x2, 1; \
+  TEST_CASE( 3, ra, 3, \
+    li  ra, 1; \
+    jal x0, 1f; \
+    addi ra, ra, 1; \
+    addi ra, ra, 1; \
+    addi ra, ra, 1; \
+    addi ra, ra, 1; \
+1:  addi ra, ra, 1; \
+    addi ra, ra, 1; \
   )
 
   TEST_PASSFAIL