1*1f154020SRobert Mustacchi/* 2*1f154020SRobert Mustacchi * This file and its contents are supplied under the terms of the 3*1f154020SRobert Mustacchi * Common Development and Distribution License ("CDDL"), version 1.0. 4*1f154020SRobert Mustacchi * You may only use this file in accordance with the terms of version 5*1f154020SRobert Mustacchi * 1.0 of the CDDL. 6*1f154020SRobert Mustacchi * 7*1f154020SRobert Mustacchi * A full copy of the text of the CDDL should have accompanied this 8*1f154020SRobert Mustacchi * source. A copy of the CDDL is also available via the Internet at 9*1f154020SRobert Mustacchi * http://www.illumos.org/license/CDDL. 10*1f154020SRobert Mustacchi */ 11*1f154020SRobert Mustacchi 12*1f154020SRobert Mustacchi/* 13*1f154020SRobert Mustacchi * Copyright 2018, Joyent, Inc. 14*1f154020SRobert Mustacchi */ 15*1f154020SRobert Mustacchi 16*1f154020SRobert Mustacchi/* 17*1f154020SRobert Mustacchi * Test our disassembly of the RV32I instructions. Instructions are ordered per 18*1f154020SRobert Mustacchi * the ISA manual. Supervisor and CSR instructions are elsewhere. 19*1f154020SRobert Mustacchi */ 20*1f154020SRobert Mustacchi 21*1f154020SRobert Mustacchi.text 22*1f154020SRobert Mustacchi.align 16 23*1f154020SRobert Mustacchi.globl libdis_test 24*1f154020SRobert Mustacchi.type libdis_test, @function 25*1f154020SRobert Mustacchilibdis_test: 26*1f154020SRobert Mustacchi lui ra, 0x00 27*1f154020SRobert Mustacchi lui ra, 0x23 28*1f154020SRobert Mustacchi lui ra, 0xfffff 29*1f154020SRobert Mustacchi auipc ra, 0x00 30*1f154020SRobert Mustacchi auipc ra, 0x23 31*1f154020SRobert Mustacchi auipc ra, 0xfffff 32*1f154020SRobert Mustacchi /* 33*1f154020SRobert Mustacchi * Branches are not tested at this time as they basially always end up 34*1f154020SRobert Mustacchi * wanting to create which ends up not really lending itself to 35*1f154020SRobert Mustacchi * automated testing here. 36*1f154020SRobert Mustacchi */ 37*1f154020SRobert Mustacchi lb s0, 0x7ff(s1) 38*1f154020SRobert Mustacchi lb s1, (s1) 39*1f154020SRobert Mustacchi lb s2, -0x800(s1) 40*1f154020SRobert Mustacchi lh s3, 0x7ff(s1) 41*1f154020SRobert Mustacchi lh s4, (s1) 42*1f154020SRobert Mustacchi lh s5, -0x800(s1) 43*1f154020SRobert Mustacchi lw s6, 0x7ff(s1) 44*1f154020SRobert Mustacchi lw s7, (s1) 45*1f154020SRobert Mustacchi lw s8, -0x800(s1) 46*1f154020SRobert Mustacchi lbu s7, 0x7ff(s1) 47*1f154020SRobert Mustacchi lbu s6, (s1) 48*1f154020SRobert Mustacchi lbu s5, -0x800(s1) 49*1f154020SRobert Mustacchi lhu s4, 0x7ff(s1) 50*1f154020SRobert Mustacchi lhu s3, (s1) 51*1f154020SRobert Mustacchi lhu s2, -0x800(s1) 52*1f154020SRobert Mustacchi sb t0, 0x7ff(t1) 53*1f154020SRobert Mustacchi sb t1, (t2) 54*1f154020SRobert Mustacchi sb t2, -0x800(t3) 55*1f154020SRobert Mustacchi sh t3, 0x7ff(t1) 56*1f154020SRobert Mustacchi sh t4, (t2) 57*1f154020SRobert Mustacchi sh t5, -0x800(t3) 58*1f154020SRobert Mustacchi sw t4, 0x7ff(t1) 59*1f154020SRobert Mustacchi sw t3, (t2) 60*1f154020SRobert Mustacchi sw t2, -0x800(t3) 61*1f154020SRobert Mustacchi addi ra, t0, 0x4 62*1f154020SRobert Mustacchi addi ra, t0, -0x4 63*1f154020SRobert Mustacchi slti ra, t0, 0x4 64*1f154020SRobert Mustacchi slti ra, t0, -0x4 65*1f154020SRobert Mustacchi sltiu ra, t0, 0x4 66*1f154020SRobert Mustacchi sltiu ra, t0, -0x4 67*1f154020SRobert Mustacchi xori ra, t0, 0x4 68*1f154020SRobert Mustacchi xori ra, t0, -0x4 69*1f154020SRobert Mustacchi ori ra, t0, 0x4 70*1f154020SRobert Mustacchi ori ra, t0, -0x4 71*1f154020SRobert Mustacchi andi ra, t0, 0x4 72*1f154020SRobert Mustacchi andi ra, t0, -0x4 73*1f154020SRobert Mustacchi slli t4, t5, 0x12 74*1f154020SRobert Mustacchi srli t4, t5, 0x13 75*1f154020SRobert Mustacchi srai t4, t5, 0x14 76*1f154020SRobert Mustacchi add s0, s1, s2 77*1f154020SRobert Mustacchi sub s1, s2, s3 78*1f154020SRobert Mustacchi sll s3, s4, s5 79*1f154020SRobert Mustacchi slt s4, s5, s6 80*1f154020SRobert Mustacchi sltu a0, a1, ra 81*1f154020SRobert Mustacchi xor s5, s6, s7 82*1f154020SRobert Mustacchi srl s6, s7, s8 83*1f154020SRobert Mustacchi sra s7, s8, s9 84*1f154020SRobert Mustacchi or s8, s9, s10 85*1f154020SRobert Mustacchi and s9, s10, s11 86*1f154020SRobert Mustacchi fence 87*1f154020SRobert Mustacchi fence ow, ir 88*1f154020SRobert Mustacchi fence ir, ow 89*1f154020SRobert Mustacchi fence ior, iorw 90*1f154020SRobert Mustacchi fence.i 91*1f154020SRobert Mustacchi.size libdis_test, [.-libdis_test] 92