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 RV32D instructions. Instructions are ordered per
18*1f154020SRobert Mustacchi * the ISA manual.
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	fld		ft1, (s2)
27*1f154020SRobert Mustacchi	fld		ft1, -0x4(s2)
28*1f154020SRobert Mustacchi	fld		ft1, 0x42(s2)
29*1f154020SRobert Mustacchi	fsd		ft1, (s2)
30*1f154020SRobert Mustacchi	fsd		ft1, -0x4(s2)
31*1f154020SRobert Mustacchi	fsd		ft1, 0x42(s2)
32*1f154020SRobert Mustacchi
33*1f154020SRobert Mustacchi	fmadd.d		ft1, ft2, ft3, ft4
34*1f154020SRobert Mustacchi	fmadd.d		ft1, ft2, ft3, ft4, rne
35*1f154020SRobert Mustacchi	fmadd.d		ft1, ft2, ft3, ft4, rtz
36*1f154020SRobert Mustacchi	fmadd.d		ft1, ft2, ft3, ft4, rdn
37*1f154020SRobert Mustacchi	fmadd.d		ft1, ft2, ft3, ft4, rup
38*1f154020SRobert Mustacchi	fmadd.d		ft1, ft2, ft3, ft4, rmm
39*1f154020SRobert Mustacchi
40*1f154020SRobert Mustacchi	fmsub.d		ft1, ft2, ft3, ft4
41*1f154020SRobert Mustacchi	fmsub.d		ft1, ft2, ft3, ft4, rne
42*1f154020SRobert Mustacchi	fmsub.d		ft1, ft2, ft3, ft4, rtz
43*1f154020SRobert Mustacchi	fmsub.d		ft1, ft2, ft3, ft4, rdn
44*1f154020SRobert Mustacchi	fmsub.d		ft1, ft2, ft3, ft4, rup
45*1f154020SRobert Mustacchi	fmsub.d		ft1, ft2, ft3, ft4, rmm
46*1f154020SRobert Mustacchi
47*1f154020SRobert Mustacchi	fnmsub.d	ft1, ft2, ft3, ft4
48*1f154020SRobert Mustacchi	fnmsub.d	ft1, ft2, ft3, ft4, rne
49*1f154020SRobert Mustacchi	fnmsub.d	ft1, ft2, ft3, ft4, rtz
50*1f154020SRobert Mustacchi	fnmsub.d	ft1, ft2, ft3, ft4, rdn
51*1f154020SRobert Mustacchi	fnmsub.d	ft1, ft2, ft3, ft4, rup
52*1f154020SRobert Mustacchi	fnmsub.d	ft1, ft2, ft3, ft4, rmm
53*1f154020SRobert Mustacchi
54*1f154020SRobert Mustacchi	fnmadd.d	ft1, ft2, ft3, ft4
55*1f154020SRobert Mustacchi	fnmadd.d	ft1, ft2, ft3, ft4, rne
56*1f154020SRobert Mustacchi	fnmadd.d	ft1, ft2, ft3, ft4, rtz
57*1f154020SRobert Mustacchi	fnmadd.d	ft1, ft2, ft3, ft4, rdn
58*1f154020SRobert Mustacchi	fnmadd.d	ft1, ft2, ft3, ft4, rup
59*1f154020SRobert Mustacchi	fnmadd.d	ft1, ft2, ft3, ft4, rmm
60*1f154020SRobert Mustacchi
61*1f154020SRobert Mustacchi	fadd.d		fs0, fs1, fs2
62*1f154020SRobert Mustacchi	fadd.d		fs1, fs2, fs3, rne
63*1f154020SRobert Mustacchi	fadd.d		fs2, fs3, fs4, rtz
64*1f154020SRobert Mustacchi	fadd.d		fs3, fs4, fs5, rdn
65*1f154020SRobert Mustacchi	fadd.d		fs4, fs5, fs6, rup
66*1f154020SRobert Mustacchi	fadd.d		fs5, fs6, fs7, rmm
67*1f154020SRobert Mustacchi
68*1f154020SRobert Mustacchi	fsub.d		fs0, fs1, fs2
69*1f154020SRobert Mustacchi	fsub.d		fs1, fs2, fs3, rne
70*1f154020SRobert Mustacchi	fsub.d		fs2, fs3, fs4, rtz
71*1f154020SRobert Mustacchi	fsub.d		fs3, fs4, fs5, rdn
72*1f154020SRobert Mustacchi	fsub.d		fs4, fs5, fs6, rup
73*1f154020SRobert Mustacchi	fsub.d		fs5, fs6, fs7, rmm
74*1f154020SRobert Mustacchi
75*1f154020SRobert Mustacchi	fmul.d		fs0, fs1, fs2
76*1f154020SRobert Mustacchi	fmul.d		fs1, fs2, fs3, rne
77*1f154020SRobert Mustacchi	fmul.d		fs2, fs3, fs4, rtz
78*1f154020SRobert Mustacchi	fmul.d		fs3, fs4, fs5, rdn
79*1f154020SRobert Mustacchi	fmul.d		fs4, fs5, fs6, rup
80*1f154020SRobert Mustacchi	fmul.d		fs5, fs6, fs7, rmm
81*1f154020SRobert Mustacchi
82*1f154020SRobert Mustacchi	fdiv.d		fs0, fs1, fs2
83*1f154020SRobert Mustacchi	fdiv.d		fs1, fs2, fs3, rne
84*1f154020SRobert Mustacchi	fdiv.d		fs2, fs3, fs4, rtz
85*1f154020SRobert Mustacchi	fdiv.d		fs3, fs4, fs5, rdn
86*1f154020SRobert Mustacchi	fdiv.d		fs4, fs5, fs6, rup
87*1f154020SRobert Mustacchi	fdiv.d		fs5, fs6, fs7, rmm
88*1f154020SRobert Mustacchi
89*1f154020SRobert Mustacchi	fsqrt.d		fs0, fs1
90*1f154020SRobert Mustacchi	fsqrt.d		fs1, fs2, rne
91*1f154020SRobert Mustacchi	fsqrt.d		fs2, fs3, rtz
92*1f154020SRobert Mustacchi	fsqrt.d		fs3, fs4, rdn
93*1f154020SRobert Mustacchi	fsqrt.d		fs4, fs5, rup
94*1f154020SRobert Mustacchi	fsqrt.d		fs5, fs6, rmm
95*1f154020SRobert Mustacchi
96*1f154020SRobert Mustacchi	fsgnj.d		fa0, fa1, fa2
97*1f154020SRobert Mustacchi	fsgnjn.d	fa0, fa1, fa2
98*1f154020SRobert Mustacchi	fsgnjx.d	fa0, fa1, fa2
99*1f154020SRobert Mustacchi	fmin.d		fa0, fa1, fa2
100*1f154020SRobert Mustacchi	fmax.d		fa0, fa1, fa2
101*1f154020SRobert Mustacchi
102*1f154020SRobert Mustacchi	fcvt.s.d	fs0, fs1
103*1f154020SRobert Mustacchi	fcvt.s.d	fs1, fs2, rne
104*1f154020SRobert Mustacchi	fcvt.s.d	fs2, fs3, rtz
105*1f154020SRobert Mustacchi	fcvt.s.d	fs3, fs4, rdn
106*1f154020SRobert Mustacchi	fcvt.s.d	fs4, fs5, rup
107*1f154020SRobert Mustacchi	fcvt.s.d	fs5, fs6, rmm
108*1f154020SRobert Mustacchi
109*1f154020SRobert Mustacchi	fcvt.d.s	fa0, fa1
110*1f154020SRobert Mustacchi
111*1f154020SRobert Mustacchi	feq.d		a0, ft8, ft7
112*1f154020SRobert Mustacchi	flt.d		a1, ft8, ft7
113*1f154020SRobert Mustacchi	fle.d		a2, ft8, ft7
114*1f154020SRobert Mustacchi	fclass.d	a3, ft8
115*1f154020SRobert Mustacchi
116*1f154020SRobert Mustacchi	fcvt.w.d	t0, ft1
117*1f154020SRobert Mustacchi	fcvt.w.d	t1, ft2, rne
118*1f154020SRobert Mustacchi	fcvt.w.d	t2, ft3, rtz
119*1f154020SRobert Mustacchi	fcvt.w.d	t3, ft4, rdn
120*1f154020SRobert Mustacchi	fcvt.w.d	t4, ft5, rup
121*1f154020SRobert Mustacchi	fcvt.w.d	t5, ft6, rmm
122*1f154020SRobert Mustacchi
123*1f154020SRobert Mustacchi	fcvt.wu.d	t0, ft1
124*1f154020SRobert Mustacchi	fcvt.wu.d	t1, ft2, rne
125*1f154020SRobert Mustacchi	fcvt.wu.d	t2, ft3, rtz
126*1f154020SRobert Mustacchi	fcvt.wu.d	t3, ft4, rdn
127*1f154020SRobert Mustacchi	fcvt.wu.d	t4, ft5, rup
128*1f154020SRobert Mustacchi	fcvt.wu.d	t5, ft6, rmm
129*1f154020SRobert Mustacchi
130*1f154020SRobert Mustacchi	fcvt.d.w	ft1, t2
131*1f154020SRobert Mustacchi	fcvt.d.wu	ft1, t2
132*1f154020SRobert Mustacchi.size libdis_test, [.-libdis_test]
133