2 DEF_HELPER_2(raise_exception
, noreturn
, env
, i32
)
4 /* Floating Point - rounding mode */
5 DEF_HELPER_FLAGS_2(set_rounding_mode
, TCG_CALL_NO_WG
, void, env
, i32
)
7 /* Floating Point - fused */
8 DEF_HELPER_FLAGS_4(fmadd_s
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
, i64
)
9 DEF_HELPER_FLAGS_4(fmadd_d
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
, i64
)
10 DEF_HELPER_FLAGS_4(fmsub_s
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
, i64
)
11 DEF_HELPER_FLAGS_4(fmsub_d
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
, i64
)
12 DEF_HELPER_FLAGS_4(fnmsub_s
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
, i64
)
13 DEF_HELPER_FLAGS_4(fnmsub_d
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
, i64
)
14 DEF_HELPER_FLAGS_4(fnmadd_s
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
, i64
)
15 DEF_HELPER_FLAGS_4(fnmadd_d
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
, i64
)
17 /* Floating Point - Single Precision */
18 DEF_HELPER_FLAGS_3(fadd_s
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
)
19 DEF_HELPER_FLAGS_3(fsub_s
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
)
20 DEF_HELPER_FLAGS_3(fmul_s
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
)
21 DEF_HELPER_FLAGS_3(fdiv_s
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
)
22 DEF_HELPER_FLAGS_3(fmin_s
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
)
23 DEF_HELPER_FLAGS_3(fmax_s
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
)
24 DEF_HELPER_FLAGS_2(fsqrt_s
, TCG_CALL_NO_RWG
, i64
, env
, i64
)
25 DEF_HELPER_FLAGS_3(fle_s
, TCG_CALL_NO_RWG
, tl
, env
, i64
, i64
)
26 DEF_HELPER_FLAGS_3(flt_s
, TCG_CALL_NO_RWG
, tl
, env
, i64
, i64
)
27 DEF_HELPER_FLAGS_3(feq_s
, TCG_CALL_NO_RWG
, tl
, env
, i64
, i64
)
28 DEF_HELPER_FLAGS_2(fcvt_w_s
, TCG_CALL_NO_RWG
, tl
, env
, i64
)
29 DEF_HELPER_FLAGS_2(fcvt_wu_s
, TCG_CALL_NO_RWG
, tl
, env
, i64
)
30 #if defined(TARGET_RISCV64)
31 DEF_HELPER_FLAGS_2(fcvt_l_s
, TCG_CALL_NO_RWG
, tl
, env
, i64
)
32 DEF_HELPER_FLAGS_2(fcvt_lu_s
, TCG_CALL_NO_RWG
, tl
, env
, i64
)
34 DEF_HELPER_FLAGS_2(fcvt_s_w
, TCG_CALL_NO_RWG
, i64
, env
, tl
)
35 DEF_HELPER_FLAGS_2(fcvt_s_wu
, TCG_CALL_NO_RWG
, i64
, env
, tl
)
36 #if defined(TARGET_RISCV64)
37 DEF_HELPER_FLAGS_2(fcvt_s_l
, TCG_CALL_NO_RWG
, i64
, env
, tl
)
38 DEF_HELPER_FLAGS_2(fcvt_s_lu
, TCG_CALL_NO_RWG
, i64
, env
, tl
)
40 DEF_HELPER_FLAGS_1(fclass_s
, TCG_CALL_NO_RWG_SE
, tl
, i64
)
42 /* Floating Point - Double Precision */
43 DEF_HELPER_FLAGS_3(fadd_d
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
)
44 DEF_HELPER_FLAGS_3(fsub_d
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
)
45 DEF_HELPER_FLAGS_3(fmul_d
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
)
46 DEF_HELPER_FLAGS_3(fdiv_d
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
)
47 DEF_HELPER_FLAGS_3(fmin_d
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
)
48 DEF_HELPER_FLAGS_3(fmax_d
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
)
49 DEF_HELPER_FLAGS_2(fcvt_s_d
, TCG_CALL_NO_RWG
, i64
, env
, i64
)
50 DEF_HELPER_FLAGS_2(fcvt_d_s
, TCG_CALL_NO_RWG
, i64
, env
, i64
)
51 DEF_HELPER_FLAGS_2(fsqrt_d
, TCG_CALL_NO_RWG
, i64
, env
, i64
)
52 DEF_HELPER_FLAGS_3(fle_d
, TCG_CALL_NO_RWG
, tl
, env
, i64
, i64
)
53 DEF_HELPER_FLAGS_3(flt_d
, TCG_CALL_NO_RWG
, tl
, env
, i64
, i64
)
54 DEF_HELPER_FLAGS_3(feq_d
, TCG_CALL_NO_RWG
, tl
, env
, i64
, i64
)
55 DEF_HELPER_FLAGS_2(fcvt_w_d
, TCG_CALL_NO_RWG
, tl
, env
, i64
)
56 DEF_HELPER_FLAGS_2(fcvt_wu_d
, TCG_CALL_NO_RWG
, tl
, env
, i64
)
57 #if defined(TARGET_RISCV64)
58 DEF_HELPER_FLAGS_2(fcvt_l_d
, TCG_CALL_NO_RWG
, tl
, env
, i64
)
59 DEF_HELPER_FLAGS_2(fcvt_lu_d
, TCG_CALL_NO_RWG
, tl
, env
, i64
)
61 DEF_HELPER_FLAGS_2(fcvt_d_w
, TCG_CALL_NO_RWG
, i64
, env
, tl
)
62 DEF_HELPER_FLAGS_2(fcvt_d_wu
, TCG_CALL_NO_RWG
, i64
, env
, tl
)
63 #if defined(TARGET_RISCV64)
64 DEF_HELPER_FLAGS_2(fcvt_d_l
, TCG_CALL_NO_RWG
, i64
, env
, tl
)
65 DEF_HELPER_FLAGS_2(fcvt_d_lu
, TCG_CALL_NO_RWG
, i64
, env
, tl
)
67 DEF_HELPER_FLAGS_1(fclass_d
, TCG_CALL_NO_RWG_SE
, tl
, i64
)
69 /* Special functions */
70 DEF_HELPER_3(csrrw
, tl
, env
, tl
, tl
)
71 DEF_HELPER_4(csrrs
, tl
, env
, tl
, tl
, tl
)
72 DEF_HELPER_4(csrrc
, tl
, env
, tl
, tl
, tl
)
73 #ifndef CONFIG_USER_ONLY
74 DEF_HELPER_2(sret
, tl
, env
, tl
)
75 DEF_HELPER_2(mret
, tl
, env
, tl
)
76 DEF_HELPER_1(wfi
, void, env
)
77 DEF_HELPER_1(tlb_flush
, void, env
)