Merge rv32ua tests into rv64ua
authorAndrew Waterman <waterman@cs.berkeley.edu>
Tue, 12 Jul 2016 00:51:33 +0000 (17:51 -0700)
committerAndrew Waterman <waterman@cs.berkeley.edu>
Tue, 12 Jul 2016 00:51:33 +0000 (17:51 -0700)
isa/rv32ua/amoadd_w.S
isa/rv32ua/amoand_w.S
isa/rv32ua/amomax_w.S
isa/rv32ua/amomaxu_w.S
isa/rv32ua/amomin_w.S
isa/rv32ua/amominu_w.S
isa/rv32ua/amoor_w.S
isa/rv64ua/amoand_w.S
isa/rv64ua/amoor_w.S

index 975ae1dab14a91c5d909a8203f84a4fa8e17be75..df4560d84a26bf83900747b7ee4731b6f6ba7d13 100644 (file)
@@ -1,65 +1,7 @@
 # See LICENSE for license details.
 
-#*****************************************************************************
-# amoadd_w.S
-#-----------------------------------------------------------------------------
-#
-# Test amoadd.w instruction.
-#
-
 #include "riscv_test.h"
-#include "test_macros.h"
-
-RVTEST_RV32U
-RVTEST_CODE_BEGIN
-
-  TEST_CASE(2, a4, 0x80000000, \
-    li a0, 0x80000000; \
-    li a1, 0xfffff800; \
-    la a3, amo_operand; \
-    sw a0, 0(a3); \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    amoadd.w   a4, a1, 0(a3); \
-  )
-
-  TEST_CASE(3, a5, 0x7ffff800, lw a5, 0(a3))
-
-  # try again after a cache miss
-  TEST_CASE(4, a4, 0x7ffff800, \
-    li  a1, 0x80000000; \
-    li  a4, 16384; \
-    add a5, a3, a4; \
-    lw  x0, 0(a5); \
-    add a5, a5, a4; \
-    lw  x0, 0(a5); \
-    add a5, a5, a4; \
-    lw  x0, 0(a5); \
-    add a5, a5, a4; \
-    lw  x0, 0(a5); \
-    amoadd.w a4, a1, 0(a3); \
-  )
-
-  TEST_CASE(5, a5, 0xfffff800, lw a5, 0(a3))
-
-  TEST_PASSFAIL
-
-RVTEST_CODE_END
-
-  .data
-RVTEST_DATA_BEGIN
-
-  TEST_DATA
-
-RVTEST_DATA_END
+#undef RVTEST_RV64U
+#define RVTEST_RV64U RVTEST_RV32U
 
-    .bss
-    .align 3
-amo_operand:
-    .dword 0
-    .skip 65536
+#include "../rv64ua/amoadd_w.S"
index 7c989c269f655e6308099b6c82439afea9a373a3..b824483c0d5a9f95643fa669360ec917b825e768 100644 (file)
@@ -1,65 +1,7 @@
 # See LICENSE for license details.
 
-#*****************************************************************************
-# amoand.w.S
-#-----------------------------------------------------------------------------
-#
-# Test amoand.w instruction.
-#
-
 #include "riscv_test.h"
-#include "test_macros.h"
-
-RVTEST_RV32U
-RVTEST_CODE_BEGIN
-
-  TEST_CASE(2, a4, 0x80000000, \
-    li a0, 0x80000000; \
-    li a1, 0xfffff800; \
-    la a3, amo_operand; \
-    sw a0, 0(a3); \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    amoand.w   a4, a1, 0(a3); \
-  )
-
-  TEST_CASE(3, a5, 0x80000000, lw a5, 0(a3))
-
-  # try again after a cache miss
-  TEST_CASE(4, a4, 0x80000000, \
-    li  a1, 0x80000000; \
-    li  a4, 16384; \
-    add a5, a3, a4; \
-    lw  x0, 0(a5); \
-    add a5, a5, a4; \
-    lw  x0, 0(a5); \
-    add a5, a5, a4; \
-    lw  x0, 0(a5); \
-    add a5, a5, a4; \
-    lw  x0, 0(a5); \
-    amoand.w a4, a1, 0(a3); \
-  )
-
-  TEST_CASE(5, a5, 0x80000000, lw a5, 0(a3))
-
-  TEST_PASSFAIL
-
-RVTEST_CODE_END
-
-  .data
-RVTEST_DATA_BEGIN
-
-  TEST_DATA
-
-RVTEST_DATA_END
+#undef RVTEST_RV64U
+#define RVTEST_RV64U RVTEST_RV32U
 
-  .bss
-  .align 3
-amo_operand:
-  .dword 0
-  .skip 65536
+#include "../rv64ua/amoand_w.S"
index 698cf269ab5444a9d859cdce641fea70cf9dcb64..899d7d6ab740a93a18be57c18c892317083f2c37 100644 (file)
@@ -1,49 +1,7 @@
 # See LICENSE for license details.
 
-#*****************************************************************************
-# amomax_d.S
-#-----------------------------------------------------------------------------
-#
-# Test amomax.w instruction.
-#
-
 #include "riscv_test.h"
-#include "test_macros.h"
-
-RVTEST_RV32U
-RVTEST_CODE_BEGIN
-
-  TEST_CASE(2, a4, 0x80000000, \
-    li a0, 0x80000000; \
-    li a1, 0xfffff800; \
-    la a3, amo_operand; \
-    sw a0, 0(a3); \
-    amomax.w   a4, a1, 0(a3); \
-  )
-
-  TEST_CASE(3, a5, 0xfffff800, lw a5, 0(a3))
-
-  TEST_CASE(4, a4, 0, \
-    li a1, 1; \
-    sw x0, 0(a3); \
-    amomax.w   a4, a1, 0(a3); \
-  )
-
-  TEST_CASE(5, a5, 1, lw a5, 0(a3))
-
-  TEST_PASSFAIL
-
-RVTEST_CODE_END
-
-  .data
-RVTEST_DATA_BEGIN
-
-  TEST_DATA
-
-RVTEST_DATA_END
+#undef RVTEST_RV64U
+#define RVTEST_RV64U RVTEST_RV32U
 
-  .bss
-  .align 3
-amo_operand:
-  .dword 0
-  .skip 65536
+#include "../rv64ua/amomax_w.S"
index 27c4ddf3ec4a51984d6a0252d3fd518cf7dcd955..662f023554bdd77aaa61b2ad84e96b4033732009 100644 (file)
@@ -1,49 +1,7 @@
 # See LICENSE for license details.
 
-#*****************************************************************************
-# amomaxu_d.S
-#-----------------------------------------------------------------------------
-#
-# Test amomaxu.w instruction.
-#
-
 #include "riscv_test.h"
-#include "test_macros.h"
-
-RVTEST_RV32U
-RVTEST_CODE_BEGIN
-
-  TEST_CASE(2, a4, 0x80000000, \
-    li a0, 0x80000000; \
-    li a1, 0xfffff800; \
-    la a3, amo_operand; \
-    sw a0, 0(a3); \
-    amomaxu.w  a4, a1, 0(a3); \
-  )
-
-  TEST_CASE(3, a5, 0xfffff800, lw a5, 0(a3))
-
-  TEST_CASE(4, a4, 0, \
-    li a1, 0xffffffff; \
-    sw x0, 0(a3); \
-    amomaxu.w  a4, a1, 0(a3); \
-  )
-
-  TEST_CASE(5, a5, 0xffffffff, lw a5, 0(a3))
-
-  TEST_PASSFAIL
-
-RVTEST_CODE_END
-
-  .data
-RVTEST_DATA_BEGIN
-
-  TEST_DATA
-
-RVTEST_DATA_END
+#undef RVTEST_RV64U
+#define RVTEST_RV64U RVTEST_RV32U
 
-  .bss
-  .align 3
-amo_operand:
-  .dword 0
-  .skip 65536
+#include "../rv64ua/amomaxu_w.S"
index a6a094728a7b32ffc106eb55bc7c2eb01456867d..cbd88e64bfc9f4ad2be02dad0de3d124e8201202 100644 (file)
@@ -1,49 +1,7 @@
 # See LICENSE for license details.
 
-#*****************************************************************************
-# amomin_d.S
-#-----------------------------------------------------------------------------
-#
-# Test amomin.w instruction.
-#
-
 #include "riscv_test.h"
-#include "test_macros.h"
-
-RVTEST_RV32U
-RVTEST_CODE_BEGIN
-
-  TEST_CASE(2, a4, 0x80000000, \
-    li a0, 0x80000000; \
-    li a1, 0xfffff800; \
-    la a3, amo_operand; \
-    sw a0, 0(a3); \
-    amomin.w   a4, a1, 0(a3); \
-  )
-
-  TEST_CASE(3, a5, 0x80000000, lw a5, 0(a3))
-
-  TEST_CASE(4, a4, 0, \
-    li a1, 0xffffffff; \
-    sw x0, 0(a3); \
-    amomin.w   a4, a1, 0(a3); \
-  )
-
-  TEST_CASE(5, a5, 0xffffffff, lw a5, 0(a3))
-
-  TEST_PASSFAIL
-
-RVTEST_CODE_END
-
-  .data
-RVTEST_DATA_BEGIN
-
-  TEST_DATA
-
-RVTEST_DATA_END
+#undef RVTEST_RV64U
+#define RVTEST_RV64U RVTEST_RV32U
 
-  .bss
-  .align 3
-amo_operand:
-  .dword 0
-  .skip 65536
+#include "../rv64ua/amomin_w.S"
index ce06e1c068de98d7d63a599c092d116447548c2b..acb0d79be6e79cd20ac6a9f9cec8ef7779bdaf07 100644 (file)
@@ -1,49 +1,7 @@
 # See LICENSE for license details.
 
-#*****************************************************************************
-# amominu_d.S
-#-----------------------------------------------------------------------------
-#
-# Test amominu.w instruction.
-#
-
 #include "riscv_test.h"
-#include "test_macros.h"
-
-RVTEST_RV32U
-RVTEST_CODE_BEGIN
-
-  TEST_CASE(2, a4, 0x80000000, \
-    li a0, 0x80000000; \
-    li a1, 0xfffff800; \
-    la a3, amo_operand; \
-    sw a0, 0(a3); \
-    amominu.w  a4, a1, 0(a3); \
-  )
-
-  TEST_CASE(3, a5, 0x80000000, lw a5, 0(a3))
-
-  TEST_CASE(4, a4, 0, \
-    li a1, 0xffffffff; \
-    sw x0, 0(a3); \
-    amominu.w  a4, a1, 0(a3); \
-  )
-
-  TEST_CASE(5, a5, 0, lw a5, 0(a3))
-
-  TEST_PASSFAIL
-
-RVTEST_CODE_END
-
-  .data
-RVTEST_DATA_BEGIN
-
-  TEST_DATA
-
-RVTEST_DATA_END
+#undef RVTEST_RV64U
+#define RVTEST_RV64U RVTEST_RV32U
 
-  .bss
-  .align 3
-amo_operand:
-  .dword 0
-  .skip 65536
+#include "../rv64ua/amominu_w.S"
index 0988c6613bf756e97287b7617019f675566dbc87..0a2a57d752d502dd6039c51697bb1bbbdb2ffe70 100644 (file)
@@ -1,65 +1,7 @@
 # See LICENSE for license details.
 
-#*****************************************************************************
-# amoor.w.S
-#-----------------------------------------------------------------------------
-#
-# Test amoor.w instruction.
-#
-
 #include "riscv_test.h"
-#include "test_macros.h"
-
-RVTEST_RV32U
-RVTEST_CODE_BEGIN
-
-  TEST_CASE(2, a4, 0x80000000, \
-    li a0, 0x80000000; \
-    li a1, 0xfffff800; \
-    la a3, amo_operand; \
-    sw a0, 0(a3); \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    nop; nop; nop; nop; \
-    amoor.w    a4, a1, 0(a3); \
-  )
-
-  TEST_CASE(3, a5, 0xfffff800, lw a5, 0(a3))
-
-  # try again after a cache miss
-  TEST_CASE(4, a4, 0xfffff800, \
-    li  a1, 1; \
-    li  a4, 16384; \
-    add a5, a3, a4; \
-    lw  x0, 0(a5); \
-    add a5, a5, a4; \
-    lw  x0, 0(a5); \
-    add a5, a5, a4; \
-    lw  x0, 0(a5); \
-    add a5, a5, a4; \
-    lw  x0, 0(a5); \
-    amoor.w a4, a1, 0(a3); \
-  )
-
-  TEST_CASE(5, a5, 0xfffff801, lw a5, 0(a3))
-
-  TEST_PASSFAIL
-
-RVTEST_CODE_END
-
-  .data
-RVTEST_DATA_BEGIN
-
-  TEST_DATA
-
-RVTEST_DATA_END
+#undef RVTEST_RV64U
+#define RVTEST_RV64U RVTEST_RV32U
 
-  .bss
-  .align 3
-amo_operand:
-  .dword 0
-  .skip 65536
+#include "../rv64ua/amoor_w.S"
index a843888090d765322cf690326d61e98cde7da2b2..d8f888a6f591e6ec8ad9fa81d3c99b07bbd945cb 100644 (file)
@@ -17,7 +17,7 @@ RVTEST_CODE_BEGIN
     li a0, 0xffffffff80000000; \
     li a1, 0xfffffffffffff800; \
     la a3, amo_operand; \
-    sd a0, 0(a3); \
+    sw a0, 0(a3); \
     nop; nop; nop; nop; \
     nop; nop; nop; nop; \
     nop; nop; nop; nop; \
index 47978ba4acd128997cbeb9506434df4458ae3ec5..c0a1c6932fa053422f9f236b62d81e76361cfa7a 100644 (file)
@@ -17,7 +17,7 @@ RVTEST_CODE_BEGIN
     li a0, 0xffffffff80000000; \
     li a1, 0xfffffffffffff800; \
     la a3, amo_operand; \
-    sd a0, 0(a3); \
+    sw a0, 0(a3); \
     nop; nop; nop; nop; \
     nop; nop; nop; nop; \
     nop; nop; nop; nop; \