addiw.S revision 12771
15633Sgblack@eecs.umich.edu# See LICENSE for license details. 25633Sgblack@eecs.umich.edu 35633Sgblack@eecs.umich.edu#***************************************************************************** 45633Sgblack@eecs.umich.edu# addiw.S 55633Sgblack@eecs.umich.edu#----------------------------------------------------------------------------- 65633Sgblack@eecs.umich.edu# 75633Sgblack@eecs.umich.edu# Test addiw instruction. 85633Sgblack@eecs.umich.edu# 95633Sgblack@eecs.umich.edu 105633Sgblack@eecs.umich.edu#include "riscv_test.h" 115633Sgblack@eecs.umich.edu#include "test_macros.h" 125633Sgblack@eecs.umich.edu 135633Sgblack@eecs.umich.eduRVTEST_RV64U 145633Sgblack@eecs.umich.eduRVTEST_CODE_BEGIN 155633Sgblack@eecs.umich.edu 165633Sgblack@eecs.umich.edu #------------------------------------------------------------- 175633Sgblack@eecs.umich.edu # Arithmetic tests 185633Sgblack@eecs.umich.edu #------------------------------------------------------------- 195633Sgblack@eecs.umich.edu 205633Sgblack@eecs.umich.edu TEST_IMM_OP( 2, addiw, 0x00000000, 0x00000000, 0x000 ); 215633Sgblack@eecs.umich.edu TEST_IMM_OP( 3, addiw, 0x00000002, 0x00000001, 0x001 ); 225633Sgblack@eecs.umich.edu TEST_IMM_OP( 4, addiw, 0x0000000a, 0x00000003, 0x007 ); 235633Sgblack@eecs.umich.edu 245633Sgblack@eecs.umich.edu TEST_IMM_OP( 5, addiw, 0xfffffffffffff800, 0x0000000000000000, 0x800 ); 255633Sgblack@eecs.umich.edu TEST_IMM_OP( 6, addiw, 0xffffffff80000000, 0xffffffff80000000, 0x000 ); 265633Sgblack@eecs.umich.edu TEST_IMM_OP( 7, addiw, 0x000000007ffff800, 0xffffffff80000000, 0x800 ); 275633Sgblack@eecs.umich.edu 285633Sgblack@eecs.umich.edu TEST_IMM_OP( 8, addiw, 0x00000000000007ff, 0x00000000, 0x7ff ); 295633Sgblack@eecs.umich.edu TEST_IMM_OP( 9, addiw, 0x000000007fffffff, 0x7fffffff, 0x000 ); 305633Sgblack@eecs.umich.edu TEST_IMM_OP( 10, addiw, 0xffffffff800007fe, 0x7fffffff, 0x7ff ); 315633Sgblack@eecs.umich.edu 325633Sgblack@eecs.umich.edu TEST_IMM_OP( 11, addiw, 0xffffffff800007ff, 0xffffffff80000000, 0x7ff ); 335633Sgblack@eecs.umich.edu TEST_IMM_OP( 12, addiw, 0x000000007ffff7ff, 0x000000007fffffff, 0x800 ); 345633Sgblack@eecs.umich.edu 355651Sgblack@eecs.umich.edu TEST_IMM_OP( 13, addiw, 0xffffffffffffffff, 0x0000000000000000, 0xfff ); 365633Sgblack@eecs.umich.edu TEST_IMM_OP( 14, addiw, 0x0000000000000000, 0xffffffffffffffff, 0x001 ); 375651Sgblack@eecs.umich.edu TEST_IMM_OP( 15, addiw, 0xfffffffffffffffe, 0xffffffffffffffff, 0xfff ); 386045Sgblack@eecs.umich.edu 395651Sgblack@eecs.umich.edu TEST_IMM_OP( 16, addiw, 0xffffffff80000000, 0x7fffffff, 0x001 ); 405651Sgblack@eecs.umich.edu 415633Sgblack@eecs.umich.edu #------------------------------------------------------------- 425827Sgblack@eecs.umich.edu # Source/Destination tests 435827Sgblack@eecs.umich.edu #------------------------------------------------------------- 445827Sgblack@eecs.umich.edu 455633Sgblack@eecs.umich.edu TEST_IMM_SRC1_EQ_DEST( 17, addiw, 24, 13, 11 ); 465633Sgblack@eecs.umich.edu 475633Sgblack@eecs.umich.edu #------------------------------------------------------------- 485633Sgblack@eecs.umich.edu # Bypassing tests 495633Sgblack@eecs.umich.edu #------------------------------------------------------------- 505651Sgblack@eecs.umich.edu 515651Sgblack@eecs.umich.edu TEST_IMM_DEST_BYPASS( 18, 0, addiw, 24, 13, 11 ); 525651Sgblack@eecs.umich.edu TEST_IMM_DEST_BYPASS( 19, 1, addiw, 23, 13, 10 ); 535651Sgblack@eecs.umich.edu TEST_IMM_DEST_BYPASS( 20, 2, addiw, 22, 13, 9 ); 545651Sgblack@eecs.umich.edu 555651Sgblack@eecs.umich.edu TEST_IMM_SRC1_BYPASS( 21, 0, addiw, 24, 13, 11 ); 565651Sgblack@eecs.umich.edu TEST_IMM_SRC1_BYPASS( 22, 1, addiw, 23, 13, 10 ); 575651Sgblack@eecs.umich.edu TEST_IMM_SRC1_BYPASS( 23, 2, addiw, 22, 13, 9 ); 585651Sgblack@eecs.umich.edu 595651Sgblack@eecs.umich.edu TEST_IMM_ZEROSRC1( 24, addiw, 32, 32 ); 605651Sgblack@eecs.umich.edu TEST_IMM_ZERODEST( 25, addiw, 33, 50 ); 615651Sgblack@eecs.umich.edu 625651Sgblack@eecs.umich.edu TEST_PASSFAIL 635651Sgblack@eecs.umich.edu 645651Sgblack@eecs.umich.eduRVTEST_CODE_END 655651Sgblack@eecs.umich.edu 665651Sgblack@eecs.umich.edu .data 675651Sgblack@eecs.umich.eduRVTEST_DATA_BEGIN 685651Sgblack@eecs.umich.edu 695651Sgblack@eecs.umich.edu TEST_DATA 705651Sgblack@eecs.umich.edu 715651Sgblack@eecs.umich.eduRVTEST_DATA_END 725651Sgblack@eecs.umich.edu