test_fp_half.s
1.71 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# test all added instructions for half precision FP data
.section .text
.global test_half
test_half:
la a0, half_a
flh ft0, 0(a0)
la a0, half_y
fsh ft0, 0(a0)
fmv.x.h t0, ft0 # move ft1->t0
fmv.h.x ft0, t0
fmv.h ft0, ft1
fneg.h ft0, ft1
fabs.h ft0, ft1
fsgnj.h ft0, ft1, ft2
fsgnjn.h ft0, ft1, ft2
fsgnjx.h ft0, ft1, ft2
fadd.h ft0, ft1, ft2
fadd.h ft0, ft1, ft2, rtz
fsub.h ft0, ft1, ft2
fsub.h ft0, ft1, ft2, rtz
fmul.h ft0, ft1, ft2
fmul.h ft0, ft1, ft2, rtz
fdiv.h ft0, ft1, ft2
fdiv.h ft0, ft1, ft2, rtz
fsqrt.h ft0, ft1
fsqrt.h ft0, ft1, rtz
fmin.h ft0, ft1, ft2
fmax.h ft0, ft1, ft2
fmadd.h ft0, ft1, ft2, ft3
fmadd.h ft0, ft1, ft2, ft3, rtz
fnmadd.h ft0, ft1, ft2, ft3
fnmadd.h ft0, ft1, ft2, ft3, rtz
fmsub.h ft0, ft1, ft2, ft3
fmsub.h ft0, ft1, ft2, ft3, rtz
fnmsub.h ft0, ft1, ft2, ft3
fnmsub.h ft0, ft1, ft2, ft3, rtz
fcvt.w.h t0, ft1
fcvt.w.h t0, ft1, rtz
fcvt.wu.h t0, ft1
fcvt.wu.h t0, ft1, rtz
fcvt.h.w ft0, t1
fcvt.h.w ft0, t1, rtz
fcvt.h.wu ft0, t1
fcvt.h.wu ft0, t1, rtz
fcvt.l.h t0, ft1
fcvt.l.h t0, ft1, rtz
fcvt.lu.h t0, ft1
fcvt.lu.h t0, ft1, rtz
fcvt.h.l ft0, t1
fcvt.h.l ft0, t1, rtz
fcvt.h.lu ft0, t1
fcvt.h.lu ft0, t1, rtz
fclass.h t1, ft0
feq.h t0, ft0, ft1
flt.h t0, ft0, ft1
fle.h t0, ft0, ft1
fgt.h t0, ft0, ft1
fge.h t0, ft0, ft1
.section .rodata
half_a:
.half 0x1234
.section .data
half_y:
.half 0