blob: 0d80aa046f5eefe56c0a41ac4d6bcc8b1b6b5ed3 [file] [log] [blame]
Paolo Bonzini022c62c2012-12-17 18:19:49 +01001#include "exec/def-helper.h"
Alexander Grafdefb0e32011-03-23 10:58:07 +01002
Richard Henderson26cc0a32012-11-15 10:32:25 -08003DEF_HELPER_2(exception, noreturn, env, i32)
Richard Hendersond918a652012-11-15 10:20:43 -08004DEF_HELPER_FLAGS_4(nc, TCG_CALL_NO_WG, i32, env, i32, i64, i64)
5DEF_HELPER_FLAGS_4(oc, TCG_CALL_NO_WG, i32, env, i32, i64, i64)
6DEF_HELPER_FLAGS_4(xc, TCG_CALL_NO_WG, i32, env, i32, i64, i64)
7DEF_HELPER_FLAGS_4(mvc, TCG_CALL_NO_WG, void, env, i32, i64, i64)
8DEF_HELPER_FLAGS_4(clc, TCG_CALL_NO_WG, i32, env, i32, i64, i64)
Blue Swirl19b05162012-09-02 07:33:40 +00009DEF_HELPER_3(mvcl, i32, env, i32, i32)
Richard Hendersond918a652012-11-15 10:20:43 -080010DEF_HELPER_FLAGS_4(clm, TCG_CALL_NO_WG, i32, env, i32, i32, i64)
Richard Hendersonc20fec42012-11-15 10:25:57 -080011DEF_HELPER_FLAGS_3(divs32, TCG_CALL_NO_WG, s64, env, s64, s64)
12DEF_HELPER_FLAGS_3(divu32, TCG_CALL_NO_WG, i64, env, i64, i64)
13DEF_HELPER_FLAGS_3(divs64, TCG_CALL_NO_WG, s64, env, s64, s64)
14DEF_HELPER_FLAGS_4(divu64, TCG_CALL_NO_WG, i64, env, i64, i64, i64)
Richard Henderson4600c992012-08-24 14:27:42 -070015DEF_HELPER_4(srst, i64, env, i64, i64, i64)
Richard Hendersonaa31bf62012-09-05 10:20:53 -070016DEF_HELPER_4(clst, i64, env, i64, i64, i64)
Blue Swirl19b05162012-09-02 07:33:40 +000017DEF_HELPER_4(mvpg, void, env, i64, i64, i64)
Richard Hendersonaa31bf62012-09-05 10:20:53 -070018DEF_HELPER_4(mvst, i64, env, i64, i64, i64)
Blue Swirl19b05162012-09-02 07:33:40 +000019DEF_HELPER_5(ex, i32, env, i32, i64, i64, i64)
Aurelien Jarno99955672012-10-09 21:53:09 +020020DEF_HELPER_FLAGS_1(abs_i32, TCG_CALL_NO_RWG_SE, i32, s32)
21DEF_HELPER_FLAGS_1(nabs_i32, TCG_CALL_NO_RWG_SE, s32, s32)
22DEF_HELPER_FLAGS_1(abs_i64, TCG_CALL_NO_RWG_SE, i64, s64)
23DEF_HELPER_FLAGS_1(nabs_i64, TCG_CALL_NO_RWG_SE, s64, s64)
Richard Hendersond918a652012-11-15 10:20:43 -080024DEF_HELPER_FLAGS_4(stam, TCG_CALL_NO_WG, void, env, i32, i64, i32)
25DEF_HELPER_FLAGS_4(lam, TCG_CALL_NO_WG, void, env, i32, i64, i32)
Blue Swirl19b05162012-09-02 07:33:40 +000026DEF_HELPER_4(mvcle, i32, env, i32, i64, i32)
27DEF_HELPER_4(clcle, i32, env, i32, i64, i32)
Richard Henderson683bb9a2012-08-23 21:08:22 -070028DEF_HELPER_3(cegb, i64, env, s64, i32)
29DEF_HELPER_3(cdgb, i64, env, s64, i32)
30DEF_HELPER_3(cxgb, i64, env, s64, i32)
Richard Henderson2112bf12012-09-01 11:08:17 -070031DEF_HELPER_3(celgb, i64, env, i64, i32)
32DEF_HELPER_3(cdlgb, i64, env, i64, i32)
33DEF_HELPER_3(cxlgb, i64, env, i64, i32)
Richard Hendersonc482ea92012-11-15 10:21:54 -080034DEF_HELPER_FLAGS_3(aeb, TCG_CALL_NO_WG, i64, env, i64, i64)
35DEF_HELPER_FLAGS_3(adb, TCG_CALL_NO_WG, i64, env, i64, i64)
36DEF_HELPER_FLAGS_5(axb, TCG_CALL_NO_WG, i64, env, i64, i64, i64, i64)
37DEF_HELPER_FLAGS_3(seb, TCG_CALL_NO_WG, i64, env, i64, i64)
38DEF_HELPER_FLAGS_3(sdb, TCG_CALL_NO_WG, i64, env, i64, i64)
39DEF_HELPER_FLAGS_5(sxb, TCG_CALL_NO_WG, i64, env, i64, i64, i64, i64)
40DEF_HELPER_FLAGS_3(deb, TCG_CALL_NO_WG, i64, env, i64, i64)
41DEF_HELPER_FLAGS_3(ddb, TCG_CALL_NO_WG, i64, env, i64, i64)
42DEF_HELPER_FLAGS_5(dxb, TCG_CALL_NO_WG, i64, env, i64, i64, i64, i64)
43DEF_HELPER_FLAGS_3(meeb, TCG_CALL_NO_WG, i64, env, i64, i64)
44DEF_HELPER_FLAGS_3(mdeb, TCG_CALL_NO_WG, i64, env, i64, i64)
45DEF_HELPER_FLAGS_3(mdb, TCG_CALL_NO_WG, i64, env, i64, i64)
46DEF_HELPER_FLAGS_5(mxb, TCG_CALL_NO_WG, i64, env, i64, i64, i64, i64)
47DEF_HELPER_FLAGS_4(mxdb, TCG_CALL_NO_WG, i64, env, i64, i64, i64)
48DEF_HELPER_FLAGS_2(ldeb, TCG_CALL_NO_WG, i64, env, i64)
49DEF_HELPER_FLAGS_3(ldxb, TCG_CALL_NO_WG, i64, env, i64, i64)
50DEF_HELPER_FLAGS_2(lxdb, TCG_CALL_NO_WG, i64, env, i64)
51DEF_HELPER_FLAGS_2(lxeb, TCG_CALL_NO_WG, i64, env, i64)
52DEF_HELPER_FLAGS_2(ledb, TCG_CALL_NO_WG, i64, env, i64)
53DEF_HELPER_FLAGS_3(lexb, TCG_CALL_NO_WG, i64, env, i64, i64)
Richard Henderson587626f2012-08-23 10:48:20 -070054DEF_HELPER_FLAGS_3(ceb, TCG_CALL_NO_WG_SE, i32, env, i64, i64)
55DEF_HELPER_FLAGS_3(cdb, TCG_CALL_NO_WG_SE, i32, env, i64, i64)
56DEF_HELPER_FLAGS_5(cxb, TCG_CALL_NO_WG_SE, i32, env, i64, i64, i64, i64)
Richard Hendersonc482ea92012-11-15 10:21:54 -080057DEF_HELPER_FLAGS_3(cgeb, TCG_CALL_NO_WG, i64, env, i64, i32)
58DEF_HELPER_FLAGS_3(cgdb, TCG_CALL_NO_WG, i64, env, i64, i32)
59DEF_HELPER_FLAGS_4(cgxb, TCG_CALL_NO_WG, i64, env, i64, i64, i32)
60DEF_HELPER_FLAGS_3(cfeb, TCG_CALL_NO_WG, i64, env, i64, i32)
61DEF_HELPER_FLAGS_3(cfdb, TCG_CALL_NO_WG, i64, env, i64, i32)
62DEF_HELPER_FLAGS_4(cfxb, TCG_CALL_NO_WG, i64, env, i64, i64, i32)
63DEF_HELPER_FLAGS_3(clgeb, TCG_CALL_NO_WG, i64, env, i64, i32)
64DEF_HELPER_FLAGS_3(clgdb, TCG_CALL_NO_WG, i64, env, i64, i32)
65DEF_HELPER_FLAGS_4(clgxb, TCG_CALL_NO_WG, i64, env, i64, i64, i32)
66DEF_HELPER_FLAGS_3(clfeb, TCG_CALL_NO_WG, i64, env, i64, i32)
67DEF_HELPER_FLAGS_3(clfdb, TCG_CALL_NO_WG, i64, env, i64, i32)
68DEF_HELPER_FLAGS_4(clfxb, TCG_CALL_NO_WG, i64, env, i64, i64, i32)
69DEF_HELPER_FLAGS_4(maeb, TCG_CALL_NO_WG, i64, env, i64, i64, i64)
70DEF_HELPER_FLAGS_4(madb, TCG_CALL_NO_WG, i64, env, i64, i64, i64)
71DEF_HELPER_FLAGS_4(mseb, TCG_CALL_NO_WG, i64, env, i64, i64, i64)
72DEF_HELPER_FLAGS_4(msdb, TCG_CALL_NO_WG, i64, env, i64, i64, i64)
Richard Henderson31aa97d2012-08-23 12:40:09 -070073DEF_HELPER_FLAGS_2(tceb, TCG_CALL_NO_RWG_SE, i32, i64, i64)
74DEF_HELPER_FLAGS_2(tcdb, TCG_CALL_NO_RWG_SE, i32, i64, i64)
75DEF_HELPER_FLAGS_3(tcxb, TCG_CALL_NO_RWG_SE, i32, i64, i64, i64)
Richard Henderson102bf2c2012-08-24 07:39:11 -070076DEF_HELPER_FLAGS_1(clz, TCG_CALL_NO_RWG_SE, i64, i64)
Richard Hendersonc482ea92012-11-15 10:21:54 -080077DEF_HELPER_FLAGS_2(sqeb, TCG_CALL_NO_WG, i64, env, i64)
78DEF_HELPER_FLAGS_2(sqdb, TCG_CALL_NO_WG, i64, env, i64)
79DEF_HELPER_FLAGS_3(sqxb, TCG_CALL_NO_WG, i64, env, i64, i64)
Aurelien Jarno99955672012-10-09 21:53:09 +020080DEF_HELPER_FLAGS_1(cvd, TCG_CALL_NO_RWG_SE, i64, s32)
Richard Hendersond918a652012-11-15 10:20:43 -080081DEF_HELPER_FLAGS_4(unpk, TCG_CALL_NO_WG, void, env, i32, i64, i64)
82DEF_HELPER_FLAGS_4(tr, TCG_CALL_NO_WG, void, env, i32, i64, i64)
Richard Henderson374724f2012-08-24 11:38:12 -070083DEF_HELPER_4(cksm, i64, env, i64, i64, i64)
Richard Henderson7e68da22012-09-19 09:14:33 -070084DEF_HELPER_FLAGS_5(calc_cc, TCG_CALL_NO_RWG_SE, i32, env, i32, i64, i64, i64)
Richard Henderson8379bfd2012-08-24 07:44:43 -070085DEF_HELPER_FLAGS_2(sfpc, TCG_CALL_NO_RWG, void, env, i64)
Richard Henderson411edc22012-09-10 17:23:13 -070086DEF_HELPER_FLAGS_2(sfas, TCG_CALL_NO_WG, void, env, i64)
Richard Henderson99b4f242012-09-01 11:14:04 -070087DEF_HELPER_FLAGS_1(popcnt, TCG_CALL_NO_RWG_SE, i64, i64)
Alexander Grafdefb0e32011-03-23 10:58:07 +010088
Richard Henderson7e68da22012-09-19 09:14:33 -070089#ifndef CONFIG_USER_ONLY
Richard Hendersondc458df2012-08-27 11:12:40 -070090DEF_HELPER_3(servc, i32, env, i64, i64)
Blue Swirl089f5c02012-09-02 07:33:39 +000091DEF_HELPER_4(diag, i64, env, i32, i64, i64)
Richard Henderson26cc0a32012-11-15 10:32:25 -080092DEF_HELPER_3(load_psw, noreturn, env, i64, i64)
Aurelien Jarno99955672012-10-09 21:53:09 +020093DEF_HELPER_FLAGS_2(spx, TCG_CALL_NO_RWG, void, env, i64)
Richard Henderson434c91a2012-08-24 15:31:07 -070094DEF_HELPER_FLAGS_1(stck, TCG_CALL_NO_RWG_SE, i64, env)
Aurelien Jarno99955672012-10-09 21:53:09 +020095DEF_HELPER_FLAGS_2(sckc, TCG_CALL_NO_RWG, void, env, i64)
Richard Hendersondd3eb7b2012-08-24 15:36:58 -070096DEF_HELPER_FLAGS_1(stckc, TCG_CALL_NO_RWG, i64, env)
Aurelien Jarno99955672012-10-09 21:53:09 +020097DEF_HELPER_FLAGS_2(spt, TCG_CALL_NO_RWG, void, env, i64)
Richard Hendersonc4f0a862012-08-24 15:47:26 -070098DEF_HELPER_FLAGS_1(stpt, TCG_CALL_NO_RWG, i64, env)
Richard Hendersond14b3e02012-08-27 10:43:38 -070099DEF_HELPER_4(stsi, i32, env, i64, i64, i64)
Richard Hendersond918a652012-11-15 10:20:43 -0800100DEF_HELPER_FLAGS_4(lctl, TCG_CALL_NO_WG, void, env, i32, i64, i32)
101DEF_HELPER_FLAGS_4(lctlg, TCG_CALL_NO_WG, void, env, i32, i64, i32)
102DEF_HELPER_FLAGS_4(stctl, TCG_CALL_NO_WG, void, env, i32, i64, i32)
103DEF_HELPER_FLAGS_4(stctg, TCG_CALL_NO_WG, void, env, i32, i64, i32)
Aurelien Jarno99955672012-10-09 21:53:09 +0200104DEF_HELPER_FLAGS_2(tprot, TCG_CALL_NO_RWG, i32, i64, i64)
105DEF_HELPER_FLAGS_2(iske, TCG_CALL_NO_RWG_SE, i64, env, i64)
Richard Henderson2bbde272012-08-27 09:18:01 -0700106DEF_HELPER_FLAGS_3(sske, TCG_CALL_NO_RWG, void, env, i64, i64)
Richard Henderson5cc69c52012-08-27 09:22:13 -0700107DEF_HELPER_FLAGS_2(rrbe, TCG_CALL_NO_RWG, i32, env, i64)
Richard Henderson3d596f42012-08-27 09:57:18 -0700108DEF_HELPER_3(csp, i32, env, i32, i64)
Blue Swirl19b05162012-09-02 07:33:40 +0000109DEF_HELPER_4(mvcs, i32, env, i64, i64, i64)
110DEF_HELPER_4(mvcp, i32, env, i64, i64, i64)
Blue Swirl089f5c02012-09-02 07:33:39 +0000111DEF_HELPER_4(sigp, i32, env, i64, i32, i64)
Richard Henderson893e1662012-11-15 10:31:29 -0800112DEF_HELPER_FLAGS_2(sacf, TCG_CALL_NO_WG, void, env, i64)
Aurelien Jarno99955672012-10-09 21:53:09 +0200113DEF_HELPER_FLAGS_3(ipte, TCG_CALL_NO_RWG, void, env, i64, i64)
114DEF_HELPER_FLAGS_1(ptlb, TCG_CALL_NO_RWG, void, env)
Richard Hendersond8fe4a92012-08-22 13:15:10 -0700115DEF_HELPER_2(lra, i64, env, i64)
Richard Hendersond918a652012-11-15 10:20:43 -0800116DEF_HELPER_FLAGS_3(stura, TCG_CALL_NO_WG, void, env, i64, i64)
Richard Henderson7e68da22012-09-19 09:14:33 -0700117#endif
Alexander Grafdefb0e32011-03-23 10:58:07 +0100118
Paolo Bonzini022c62c2012-12-17 18:19:49 +0100119#include "exec/def-helper.h"