1# See LICENSE for license details. 2 3#***************************************************************************** 4# amoand.w.S 5#----------------------------------------------------------------------------- 6# 7# Test amoand.w instruction. 8# 9 10#include "riscv_test.h" 11#include "test_macros.h" 12 13RVTEST_RV64U 14RVTEST_CODE_BEGIN 15 16 TEST_CASE(2, a4, 0xffffffff80000000, \ 17 li a0, 0xffffffff80000000; \ 18 li a1, 0xfffffffffffff800; \ 19 la a3, amo_operand; \ 20 sw a0, 0(a3); \ 21 amoand.w a4, a1, 0(a3); \ 22 ) 23 24 TEST_CASE(3, a5, 0xffffffff80000000, lw a5, 0(a3)) 25 26 # try again after a cache miss 27 TEST_CASE(4, a4, 0xffffffff80000000, \ 28 li a1, 0x0000000080000000; \ 29 amoand.w a4, a1, 0(a3); \ 30 ) 31 32 TEST_CASE(5, a5, 0xffffffff80000000, lw a5, 0(a3)) 33 34 TEST_PASSFAIL 35 36RVTEST_CODE_END 37 38 .data 39RVTEST_DATA_BEGIN 40 41 TEST_DATA 42 43RVTEST_DATA_END 44 45 .bss 46 .align 3 47amo_operand: 48 .dword 0 49