xref: /openbmc/qemu/target/hppa/helper.h (revision 922582ace2df59572a671f5c0c5c6c5c706995e5)
161766fe9SRichard Henderson DEF_HELPER_2(excp, noreturn, env, int)
261766fe9SRichard Henderson 
3c53e401eSRichard Henderson DEF_HELPER_FLAGS_3(stby_b, TCG_CALL_NO_WG, void, env, tl, tl)
4c53e401eSRichard Henderson DEF_HELPER_FLAGS_3(stby_b_parallel, TCG_CALL_NO_WG, void, env, tl, tl)
5c53e401eSRichard Henderson DEF_HELPER_FLAGS_3(stby_e, TCG_CALL_NO_WG, void, env, tl, tl)
6c53e401eSRichard Henderson DEF_HELPER_FLAGS_3(stby_e_parallel, TCG_CALL_NO_WG, void, env, tl, tl)
796d6407fSRichard Henderson 
8c53e401eSRichard Henderson DEF_HELPER_FLAGS_3(stdby_b, TCG_CALL_NO_WG, void, env, tl, tl)
9c53e401eSRichard Henderson DEF_HELPER_FLAGS_3(stdby_b_parallel, TCG_CALL_NO_WG, void, env, tl, tl)
10c53e401eSRichard Henderson DEF_HELPER_FLAGS_3(stdby_e, TCG_CALL_NO_WG, void, env, tl, tl)
11c53e401eSRichard Henderson DEF_HELPER_FLAGS_3(stdby_e_parallel, TCG_CALL_NO_WG, void, env, tl, tl)
1225460fc5SRichard Henderson 
13b1af755cSRichard Henderson DEF_HELPER_FLAGS_1(ldc_check, TCG_CALL_NO_RWG, void, tl)
14b1af755cSRichard Henderson 
150843563fSRichard Henderson DEF_HELPER_FLAGS_2(hadd_ss, TCG_CALL_NO_RWG_SE, i64, i64, i64)
160843563fSRichard Henderson DEF_HELPER_FLAGS_2(hadd_us, TCG_CALL_NO_RWG_SE, i64, i64, i64)
171b3cb7c8SRichard Henderson DEF_HELPER_FLAGS_2(havg, TCG_CALL_NO_RWG_SE, i64, i64, i64)
183bbb8e48SRichard Henderson DEF_HELPER_FLAGS_3(hshladd, TCG_CALL_NO_RWG_SE, i64, i64, i64, i32)
193bbb8e48SRichard Henderson DEF_HELPER_FLAGS_3(hshradd, TCG_CALL_NO_RWG_SE, i64, i64, i64, i32)
2010c9e58dSRichard Henderson DEF_HELPER_FLAGS_2(hsub_ss, TCG_CALL_NO_RWG_SE, i64, i64, i64)
2110c9e58dSRichard Henderson DEF_HELPER_FLAGS_2(hsub_us, TCG_CALL_NO_RWG_SE, i64, i64, i64)
220843563fSRichard Henderson 
23c53e401eSRichard Henderson DEF_HELPER_FLAGS_4(probe, TCG_CALL_NO_WG, tl, env, tl, i32, i32)
2498a9cb79SRichard Henderson 
2561766fe9SRichard Henderson DEF_HELPER_FLAGS_1(loaded_fr0, TCG_CALL_NO_RWG, void, env)
26ebe9383cSRichard Henderson 
27ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fsqrt_s, TCG_CALL_NO_RWG, f32, env, f32)
28ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(frnd_s, TCG_CALL_NO_RWG, f32, env, f32)
29ebe9383cSRichard Henderson DEF_HELPER_FLAGS_3(fadd_s, TCG_CALL_NO_RWG, f32, env, f32, f32)
30ebe9383cSRichard Henderson DEF_HELPER_FLAGS_3(fsub_s, TCG_CALL_NO_RWG, f32, env, f32, f32)
31ebe9383cSRichard Henderson DEF_HELPER_FLAGS_3(fmpy_s, TCG_CALL_NO_RWG, f32, env, f32, f32)
32ebe9383cSRichard Henderson DEF_HELPER_FLAGS_3(fdiv_s, TCG_CALL_NO_RWG, f32, env, f32, f32)
33ebe9383cSRichard Henderson 
34ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fsqrt_d, TCG_CALL_NO_RWG, f64, env, f64)
35ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(frnd_d, TCG_CALL_NO_RWG, f64, env, f64)
36ebe9383cSRichard Henderson DEF_HELPER_FLAGS_3(fadd_d, TCG_CALL_NO_RWG, f64, env, f64, f64)
37ebe9383cSRichard Henderson DEF_HELPER_FLAGS_3(fsub_d, TCG_CALL_NO_RWG, f64, env, f64, f64)
38ebe9383cSRichard Henderson DEF_HELPER_FLAGS_3(fmpy_d, TCG_CALL_NO_RWG, f64, env, f64, f64)
39ebe9383cSRichard Henderson DEF_HELPER_FLAGS_3(fdiv_d, TCG_CALL_NO_RWG, f64, env, f64, f64)
40ebe9383cSRichard Henderson 
41ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_s_d, TCG_CALL_NO_RWG, f64, env, f32)
42ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_d_s, TCG_CALL_NO_RWG, f32, env, f64)
43ebe9383cSRichard Henderson 
44ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_w_s, TCG_CALL_NO_RWG, f32, env, s32)
45ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_dw_s, TCG_CALL_NO_RWG, f32, env, s64)
46ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_w_d, TCG_CALL_NO_RWG, f64, env, s32)
47ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_dw_d, TCG_CALL_NO_RWG, f64, env, s64)
48ebe9383cSRichard Henderson 
49ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_s_w, TCG_CALL_NO_RWG, s32, env, f32)
50ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_d_w, TCG_CALL_NO_RWG, s32, env, f64)
51ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_s_dw, TCG_CALL_NO_RWG, s64, env, f32)
52ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_d_dw, TCG_CALL_NO_RWG, s64, env, f64)
53ebe9383cSRichard Henderson 
54ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_t_s_w, TCG_CALL_NO_RWG, s32, env, f32)
55ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_t_d_w, TCG_CALL_NO_RWG, s32, env, f64)
56ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_t_s_dw, TCG_CALL_NO_RWG, s64, env, f32)
57ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_t_d_dw, TCG_CALL_NO_RWG, s64, env, f64)
58ebe9383cSRichard Henderson 
59ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_uw_s, TCG_CALL_NO_RWG, f32, env, i32)
60ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_udw_s, TCG_CALL_NO_RWG, f32, env, i64)
61ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_uw_d, TCG_CALL_NO_RWG, f64, env, i32)
62ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_udw_d, TCG_CALL_NO_RWG, f64, env, i64)
63ebe9383cSRichard Henderson 
64ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_s_uw, TCG_CALL_NO_RWG, i32, env, f32)
65ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_d_uw, TCG_CALL_NO_RWG, i32, env, f64)
66ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_s_udw, TCG_CALL_NO_RWG, i64, env, f32)
67ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_d_udw, TCG_CALL_NO_RWG, i64, env, f64)
68ebe9383cSRichard Henderson 
69ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_t_s_uw, TCG_CALL_NO_RWG, i32, env, f32)
70ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_t_d_uw, TCG_CALL_NO_RWG, i32, env, f64)
71ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_t_s_udw, TCG_CALL_NO_RWG, i64, env, f32)
72ebe9383cSRichard Henderson DEF_HELPER_FLAGS_2(fcnv_t_d_udw, TCG_CALL_NO_RWG, i64, env, f64)
73ebe9383cSRichard Henderson 
74ebe9383cSRichard Henderson DEF_HELPER_FLAGS_5(fcmp_s, TCG_CALL_NO_RWG, void, env, f32, f32, i32, i32)
75ebe9383cSRichard Henderson DEF_HELPER_FLAGS_5(fcmp_d, TCG_CALL_NO_RWG, void, env, f64, f64, i32, i32)
76ebe9383cSRichard Henderson 
77ebe9383cSRichard Henderson DEF_HELPER_FLAGS_4(fmpyfadd_s, TCG_CALL_NO_RWG, i32, env, i32, i32, i32)
78ebe9383cSRichard Henderson DEF_HELPER_FLAGS_4(fmpynfadd_s, TCG_CALL_NO_RWG, i32, env, i32, i32, i32)
79ebe9383cSRichard Henderson DEF_HELPER_FLAGS_4(fmpyfadd_d, TCG_CALL_NO_RWG, i64, env, i64, i64, i64)
80ebe9383cSRichard Henderson DEF_HELPER_FLAGS_4(fmpynfadd_d, TCG_CALL_NO_RWG, i64, env, i64, i64, i64)
81e1b5a5edSRichard Henderson 
82c53e401eSRichard Henderson DEF_HELPER_FLAGS_0(read_interval_timer, TCG_CALL_NO_RWG, tl)
8349c29d6cSRichard Henderson 
84e1b5a5edSRichard Henderson #ifndef CONFIG_USER_ONLY
856210db05SHelge Deller DEF_HELPER_1(halt, noreturn, env)
866210db05SHelge Deller DEF_HELPER_1(reset, noreturn, env)
87f49b3537SRichard Henderson DEF_HELPER_1(rfi, void, env)
88f49b3537SRichard Henderson DEF_HELPER_1(rfi_r, void, env)
89*804cd52dSRichard Henderson DEF_HELPER_FLAGS_2(b_gate_priv, TCG_CALL_NO_WG, i64, env, i64)
90c53e401eSRichard Henderson DEF_HELPER_FLAGS_2(write_interval_timer, TCG_CALL_NO_RWG, void, env, tl)
91c53e401eSRichard Henderson DEF_HELPER_FLAGS_2(write_eirr, TCG_CALL_NO_RWG, void, env, tl)
92c53e401eSRichard Henderson DEF_HELPER_FLAGS_2(swap_system_mask, TCG_CALL_NO_RWG, tl, env, tl)
93c53e401eSRichard Henderson DEF_HELPER_FLAGS_3(itlba_pa11, TCG_CALL_NO_RWG, void, env, tl, tl)
94c53e401eSRichard Henderson DEF_HELPER_FLAGS_3(itlbp_pa11, TCG_CALL_NO_RWG, void, env, tl, tl)
95c53e401eSRichard Henderson DEF_HELPER_FLAGS_3(idtlbt_pa20, TCG_CALL_NO_RWG, void, env, tl, tl)
96c53e401eSRichard Henderson DEF_HELPER_FLAGS_3(iitlbt_pa20, TCG_CALL_NO_RWG, void, env, tl, tl)
9763300a00SRichard Henderson DEF_HELPER_FLAGS_2(ptlb, TCG_CALL_NO_RWG, void, env, tl)
98eb25d10fSHelge Deller DEF_HELPER_FLAGS_2(ptlb_l, TCG_CALL_NO_RWG, void, env, tl)
9963300a00SRichard Henderson DEF_HELPER_FLAGS_1(ptlbe, TCG_CALL_NO_RWG, void, env)
100c53e401eSRichard Henderson DEF_HELPER_FLAGS_2(lpa, TCG_CALL_NO_WG, tl, env, tl)
101d5de20bdSSven Schnelle DEF_HELPER_FLAGS_1(change_prot_id, TCG_CALL_NO_RWG, void, env)
102cf6b28d4SHelge Deller DEF_HELPER_1(diag_btlb, void, env)
103dbca0835SHelge Deller DEF_HELPER_1(diag_console_output, void, env)
104e1b5a5edSRichard Henderson #endif
105