]>
Commit | Line | Data |
---|---|---|
f8da88d7 SG |
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
2 | /* | |
3 | * Copyright (c) 2021 Loongson Technology Corporation Limited | |
4 | */ | |
5 | ||
6 | DEF_HELPER_2(raise_exception, noreturn, env, i32) | |
ad08cb3f SG |
7 | |
8 | DEF_HELPER_FLAGS_1(bitrev_w, TCG_CALL_NO_RWG_SE, tl, tl) | |
9 | DEF_HELPER_FLAGS_1(bitrev_d, TCG_CALL_NO_RWG_SE, tl, tl) | |
10 | DEF_HELPER_FLAGS_1(bitswap, TCG_CALL_NO_RWG_SE, tl, tl) | |
bb79174d SG |
11 | |
12 | DEF_HELPER_FLAGS_3(asrtle_d, TCG_CALL_NO_WG, void, env, tl, tl) | |
13 | DEF_HELPER_FLAGS_3(asrtgt_d, TCG_CALL_NO_WG, void, env, tl, tl) | |
8708a04a SG |
14 | |
15 | DEF_HELPER_FLAGS_3(crc32, TCG_CALL_NO_RWG_SE, tl, tl, tl, tl) | |
16 | DEF_HELPER_FLAGS_3(crc32c, TCG_CALL_NO_RWG_SE, tl, tl, tl, tl) | |
17 | DEF_HELPER_FLAGS_2(cpucfg, TCG_CALL_NO_RWG_SE, tl, env, tl) | |
d578ca6c SG |
18 | |
19 | /* Floating-point helper */ | |
20 | DEF_HELPER_FLAGS_3(fadd_s, TCG_CALL_NO_WG, i64, env, i64, i64) | |
21 | DEF_HELPER_FLAGS_3(fadd_d, TCG_CALL_NO_WG, i64, env, i64, i64) | |
22 | DEF_HELPER_FLAGS_3(fsub_s, TCG_CALL_NO_WG, i64, env, i64, i64) | |
23 | DEF_HELPER_FLAGS_3(fsub_d, TCG_CALL_NO_WG, i64, env, i64, i64) | |
24 | DEF_HELPER_FLAGS_3(fmul_s, TCG_CALL_NO_WG, i64, env, i64, i64) | |
25 | DEF_HELPER_FLAGS_3(fmul_d, TCG_CALL_NO_WG, i64, env, i64, i64) | |
26 | DEF_HELPER_FLAGS_3(fdiv_s, TCG_CALL_NO_WG, i64, env, i64, i64) | |
27 | DEF_HELPER_FLAGS_3(fdiv_d, TCG_CALL_NO_WG, i64, env, i64, i64) | |
28 | DEF_HELPER_FLAGS_3(fmax_s, TCG_CALL_NO_WG, i64, env, i64, i64) | |
29 | DEF_HELPER_FLAGS_3(fmax_d, TCG_CALL_NO_WG, i64, env, i64, i64) | |
30 | DEF_HELPER_FLAGS_3(fmin_s, TCG_CALL_NO_WG, i64, env, i64, i64) | |
31 | DEF_HELPER_FLAGS_3(fmin_d, TCG_CALL_NO_WG, i64, env, i64, i64) | |
32 | DEF_HELPER_FLAGS_3(fmaxa_s, TCG_CALL_NO_WG, i64, env, i64, i64) | |
33 | DEF_HELPER_FLAGS_3(fmaxa_d, TCG_CALL_NO_WG, i64, env, i64, i64) | |
34 | DEF_HELPER_FLAGS_3(fmina_s, TCG_CALL_NO_WG, i64, env, i64, i64) | |
35 | DEF_HELPER_FLAGS_3(fmina_d, TCG_CALL_NO_WG, i64, env, i64, i64) | |
36 | ||
37 | DEF_HELPER_FLAGS_5(fmuladd_s, TCG_CALL_NO_WG, i64, env, i64, i64, i64, i32) | |
38 | DEF_HELPER_FLAGS_5(fmuladd_d, TCG_CALL_NO_WG, i64, env, i64, i64, i64, i32) | |
39 | ||
40 | DEF_HELPER_FLAGS_3(fscaleb_s, TCG_CALL_NO_WG, i64, env, i64, i64) | |
41 | DEF_HELPER_FLAGS_3(fscaleb_d, TCG_CALL_NO_WG, i64, env, i64, i64) | |
42 | ||
43 | DEF_HELPER_FLAGS_2(flogb_s, TCG_CALL_NO_WG, i64, env, i64) | |
44 | DEF_HELPER_FLAGS_2(flogb_d, TCG_CALL_NO_WG, i64, env, i64) | |
45 | ||
46 | DEF_HELPER_FLAGS_2(fsqrt_s, TCG_CALL_NO_WG, i64, env, i64) | |
47 | DEF_HELPER_FLAGS_2(fsqrt_d, TCG_CALL_NO_WG, i64, env, i64) | |
48 | DEF_HELPER_FLAGS_2(frsqrt_s, TCG_CALL_NO_WG, i64, env, i64) | |
49 | DEF_HELPER_FLAGS_2(frsqrt_d, TCG_CALL_NO_WG, i64, env, i64) | |
50 | DEF_HELPER_FLAGS_2(frecip_s, TCG_CALL_NO_WG, i64, env, i64) | |
51 | DEF_HELPER_FLAGS_2(frecip_d, TCG_CALL_NO_WG, i64, env, i64) | |
52 | ||
53 | DEF_HELPER_FLAGS_2(fclass_s, TCG_CALL_NO_RWG_SE, i64, env, i64) | |
54 | DEF_HELPER_FLAGS_2(fclass_d, TCG_CALL_NO_RWG_SE, i64, env, i64) | |
9b741076 SG |
55 | |
56 | /* fcmp.cXXX.s */ | |
57 | DEF_HELPER_4(fcmp_c_s, i64, env, i64, i64, i32) | |
58 | /* fcmp.sXXX.s */ | |
59 | DEF_HELPER_4(fcmp_s_s, i64, env, i64, i64, i32) | |
60 | /* fcmp.cXXX.d */ | |
61 | DEF_HELPER_4(fcmp_c_d, i64, env, i64, i64, i32) | |
62 | /* fcmp.sXXX.d */ | |
63 | DEF_HELPER_4(fcmp_s_d, i64, env, i64, i64, i32) | |
7c1f8870 SG |
64 | |
65 | DEF_HELPER_2(fcvt_d_s, i64, env, i64) | |
66 | DEF_HELPER_2(fcvt_s_d, i64, env, i64) | |
67 | DEF_HELPER_2(ffint_d_w, i64, env, i64) | |
68 | DEF_HELPER_2(ffint_d_l, i64, env, i64) | |
69 | DEF_HELPER_2(ffint_s_w, i64, env, i64) | |
70 | DEF_HELPER_2(ffint_s_l, i64, env, i64) | |
71 | DEF_HELPER_2(ftintrm_l_s, i64, env, i64) | |
72 | DEF_HELPER_2(ftintrm_l_d, i64, env, i64) | |
73 | DEF_HELPER_2(ftintrm_w_s, i64, env, i64) | |
74 | DEF_HELPER_2(ftintrm_w_d, i64, env, i64) | |
75 | DEF_HELPER_2(ftintrp_l_s, i64, env, i64) | |
76 | DEF_HELPER_2(ftintrp_l_d, i64, env, i64) | |
77 | DEF_HELPER_2(ftintrp_w_s, i64, env, i64) | |
78 | DEF_HELPER_2(ftintrp_w_d, i64, env, i64) | |
79 | DEF_HELPER_2(ftintrz_l_s, i64, env, i64) | |
80 | DEF_HELPER_2(ftintrz_l_d, i64, env, i64) | |
81 | DEF_HELPER_2(ftintrz_w_s, i64, env, i64) | |
82 | DEF_HELPER_2(ftintrz_w_d, i64, env, i64) | |
83 | DEF_HELPER_2(ftintrne_l_s, i64, env, i64) | |
84 | DEF_HELPER_2(ftintrne_l_d, i64, env, i64) | |
85 | DEF_HELPER_2(ftintrne_w_s, i64, env, i64) | |
86 | DEF_HELPER_2(ftintrne_w_d, i64, env, i64) | |
87 | DEF_HELPER_2(ftint_l_s, i64, env, i64) | |
88 | DEF_HELPER_2(ftint_l_d, i64, env, i64) | |
89 | DEF_HELPER_2(ftint_w_s, i64, env, i64) | |
90 | DEF_HELPER_2(ftint_w_d, i64, env, i64) | |
91 | DEF_HELPER_2(frint_s, i64, env, i64) | |
92 | DEF_HELPER_2(frint_d, i64, env, i64) |