aboutsummaryrefslogtreecommitdiff
path: root/isa/rv64ui/auipc.S
blob: c2b51578dff61de6cf5581f5300adeca37e90955 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#*****************************************************************************
# auipc.S
#-----------------------------------------------------------------------------
#
# Test auipc instruction.
#

#include "riscv_test.h"
#include "test_macros.h"

RVTEST_RV64U
RVTEST_CODE_BEGIN

  TEST_CASE(2, a0, 1<<12, \
    .align 3; \
    auipc a0, 0x00001; \
    jal a1, 1f; \
    1: srl a1, a1, 12; \
    sll a1, a1, 12; \
    sub a0, a0, a1; \
  )

  TEST_CASE(3, a0, -1<<12, \
    .align 3; \
    auipc a0, 0xfffff; \
    jal a1, 1f; \
    1: srl a1, a1, 12; \
    sll a1, a1, 12; \
    sub a0, a0, a1; \
  )

  TEST_PASSFAIL

RVTEST_CODE_END

  .data
RVTEST_DATA_BEGIN

  TEST_DATA

RVTEST_DATA_END