auipc \
beq bge bgeu blt bltu bne \
fence_i \
- j jal jalr \
+ jal jalr \
lb lbu lh lhu lw \
lui \
or ori \
+++ /dev/null
-# 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
# 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"
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 \
+++ /dev/null
-# 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
li TESTNUM, 2
li ra, 0
+ jal x3, target_2
linkaddr_2:
- jal target_2
nop
nop
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