2016-07-31 08:13:11 +03:00
|
|
|
DEF_HELPER_FLAGS_3(raise_exception_err, TCG_CALL_NO_WG, void, env, i32, i32)
|
|
|
|
DEF_HELPER_FLAGS_2(raise_exception, TCG_CALL_NO_WG, void, env, i32)
|
2016-07-31 08:13:12 +03:00
|
|
|
DEF_HELPER_FLAGS_4(tw, TCG_CALL_NO_WG, void, env, tl, tl, i32)
|
2008-11-24 14:28:19 +03:00
|
|
|
#if defined(TARGET_PPC64)
|
2016-07-31 08:13:12 +03:00
|
|
|
DEF_HELPER_FLAGS_4(td, TCG_CALL_NO_WG, void, env, tl, tl, i32)
|
2008-11-24 14:28:19 +03:00
|
|
|
#endif
|
2008-11-30 19:24:55 +03:00
|
|
|
#if !defined(CONFIG_USER_ONLY)
|
2012-05-30 08:23:23 +04:00
|
|
|
DEF_HELPER_2(store_msr, void, env, tl)
|
|
|
|
DEF_HELPER_1(rfi, void, env)
|
|
|
|
DEF_HELPER_1(rfsvc, void, env)
|
|
|
|
DEF_HELPER_1(40x_rfci, void, env)
|
|
|
|
DEF_HELPER_1(rfci, void, env)
|
|
|
|
DEF_HELPER_1(rfdi, void, env)
|
|
|
|
DEF_HELPER_1(rfmci, void, env)
|
2008-11-30 19:24:55 +03:00
|
|
|
#if defined(TARGET_PPC64)
|
2016-06-22 00:48:55 +03:00
|
|
|
DEF_HELPER_2(pminsn, void, env, i32)
|
2012-05-30 08:23:23 +04:00
|
|
|
DEF_HELPER_1(rfid, void, env)
|
|
|
|
DEF_HELPER_1(hrfid, void, env)
|
2016-06-27 09:55:16 +03:00
|
|
|
DEF_HELPER_2(store_lpcr, void, env, tl)
|
2018-06-04 11:45:13 +03:00
|
|
|
DEF_HELPER_2(store_pcr, void, env, tl)
|
2008-11-30 19:24:55 +03:00
|
|
|
#endif
|
2016-09-20 19:35:00 +03:00
|
|
|
DEF_HELPER_1(check_tlb_flush_local, void, env)
|
|
|
|
DEF_HELPER_1(check_tlb_flush_global, void, env)
|
2008-11-30 19:24:55 +03:00
|
|
|
#endif
|
2008-11-22 13:09:17 +03:00
|
|
|
|
2012-05-30 08:23:40 +04:00
|
|
|
DEF_HELPER_3(lmw, void, env, tl, i32)
|
2016-07-31 08:13:12 +03:00
|
|
|
DEF_HELPER_FLAGS_3(stmw, TCG_CALL_NO_WG, void, env, tl, i32)
|
2012-05-30 08:23:40 +04:00
|
|
|
DEF_HELPER_4(lsw, void, env, tl, i32, i32)
|
|
|
|
DEF_HELPER_5(lswx, void, env, tl, i32, i32, i32)
|
2016-07-31 08:13:12 +03:00
|
|
|
DEF_HELPER_FLAGS_4(stsw, TCG_CALL_NO_WG, void, env, tl, i32, i32)
|
|
|
|
DEF_HELPER_FLAGS_3(dcbz, TCG_CALL_NO_WG, void, env, tl, i32)
|
2018-09-21 09:59:07 +03:00
|
|
|
DEF_HELPER_FLAGS_3(dcbzep, TCG_CALL_NO_WG, void, env, tl, i32)
|
2016-07-31 08:13:12 +03:00
|
|
|
DEF_HELPER_FLAGS_2(icbi, TCG_CALL_NO_WG, void, env, tl)
|
2018-09-21 09:59:07 +03:00
|
|
|
DEF_HELPER_FLAGS_2(icbiep, TCG_CALL_NO_WG, void, env, tl)
|
2012-05-30 08:23:40 +04:00
|
|
|
DEF_HELPER_5(lscbx, tl, env, tl, i32, i32, i32)
|
2008-11-30 19:24:30 +03:00
|
|
|
|
2008-11-01 03:54:12 +03:00
|
|
|
#if defined(TARGET_PPC64)
|
2014-01-07 20:05:51 +04:00
|
|
|
DEF_HELPER_4(divdeu, i64, env, i64, i64, i32)
|
2014-01-07 20:05:52 +04:00
|
|
|
DEF_HELPER_4(divde, i64, env, i64, i64, i32)
|
2008-11-01 03:54:12 +03:00
|
|
|
#endif
|
2014-01-07 20:05:53 +04:00
|
|
|
DEF_HELPER_4(divweu, tl, env, tl, tl, i32)
|
2014-01-07 20:05:54 +04:00
|
|
|
DEF_HELPER_4(divwe, tl, env, tl, tl, i32)
|
2008-11-01 03:54:12 +03:00
|
|
|
|
2012-10-09 23:53:09 +04:00
|
|
|
DEF_HELPER_FLAGS_1(popcntb, TCG_CALL_NO_RWG_SE, tl, tl)
|
2013-04-20 12:56:16 +04:00
|
|
|
DEF_HELPER_FLAGS_2(cmpb, TCG_CALL_NO_RWG_SE, tl, tl, tl)
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_3(sraw, tl, env, tl, tl)
|
2008-10-21 15:31:27 +04:00
|
|
|
#if defined(TARGET_PPC64)
|
2016-07-26 14:58:34 +03:00
|
|
|
DEF_HELPER_FLAGS_2(cmpeqb, TCG_CALL_NO_RWG_SE, i32, tl, tl)
|
2016-11-21 13:58:25 +03:00
|
|
|
DEF_HELPER_FLAGS_1(popcntw, TCG_CALL_NO_RWG_SE, tl, tl)
|
2014-01-07 20:05:49 +04:00
|
|
|
DEF_HELPER_FLAGS_2(bpermd, TCG_CALL_NO_RWG_SE, i64, i64, i64)
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_3(srad, tl, env, tl, tl)
|
2016-09-16 13:51:47 +03:00
|
|
|
DEF_HELPER_0(darn32, tl)
|
|
|
|
DEF_HELPER_0(darn64, tl)
|
2008-10-21 15:31:27 +04:00
|
|
|
#endif
|
|
|
|
|
2012-10-09 23:53:09 +04:00
|
|
|
DEF_HELPER_FLAGS_1(cntlsw32, TCG_CALL_NO_RWG_SE, i32, i32)
|
|
|
|
DEF_HELPER_FLAGS_1(cntlzw32, TCG_CALL_NO_RWG_SE, i32, i32)
|
|
|
|
DEF_HELPER_FLAGS_2(brinc, TCG_CALL_NO_RWG_SE, tl, tl, tl)
|
2008-11-17 17:43:54 +03:00
|
|
|
|
2012-05-30 08:23:27 +04:00
|
|
|
DEF_HELPER_1(float_check_status, void, env)
|
|
|
|
DEF_HELPER_1(reset_fpstatus, void, env)
|
2017-01-06 09:14:47 +03:00
|
|
|
DEF_HELPER_2(compute_fprf_float64, void, env, i64)
|
2012-05-30 08:23:27 +04:00
|
|
|
DEF_HELPER_3(store_fpscr, void, env, i64, i32)
|
|
|
|
DEF_HELPER_2(fpscr_clrbit, void, env, i32)
|
|
|
|
DEF_HELPER_2(fpscr_setbit, void, env, i32)
|
2018-07-03 18:17:32 +03:00
|
|
|
DEF_HELPER_FLAGS_1(todouble, TCG_CALL_NO_RWG_SE, i64, i32)
|
|
|
|
DEF_HELPER_FLAGS_1(tosingle, TCG_CALL_NO_RWG_SE, i32, i64)
|
2008-11-19 19:10:23 +03:00
|
|
|
|
2012-05-30 08:23:27 +04:00
|
|
|
DEF_HELPER_4(fcmpo, void, env, i64, i64, i32)
|
|
|
|
DEF_HELPER_4(fcmpu, void, env, i64, i64, i32)
|
2008-11-30 19:24:55 +03:00
|
|
|
|
2012-05-30 08:23:27 +04:00
|
|
|
DEF_HELPER_2(fctiw, i64, env, i64)
|
2014-01-07 20:05:59 +04:00
|
|
|
DEF_HELPER_2(fctiwu, i64, env, i64)
|
2012-05-30 08:23:27 +04:00
|
|
|
DEF_HELPER_2(fctiwz, i64, env, i64)
|
2014-01-07 20:05:59 +04:00
|
|
|
DEF_HELPER_2(fctiwuz, i64, env, i64)
|
2012-05-30 08:23:27 +04:00
|
|
|
DEF_HELPER_2(fcfid, i64, env, i64)
|
2014-01-07 20:06:00 +04:00
|
|
|
DEF_HELPER_2(fcfidu, i64, env, i64)
|
|
|
|
DEF_HELPER_2(fcfids, i64, env, i64)
|
|
|
|
DEF_HELPER_2(fcfidus, i64, env, i64)
|
2012-05-30 08:23:27 +04:00
|
|
|
DEF_HELPER_2(fctid, i64, env, i64)
|
2014-01-07 20:05:59 +04:00
|
|
|
DEF_HELPER_2(fctidu, i64, env, i64)
|
2012-05-30 08:23:27 +04:00
|
|
|
DEF_HELPER_2(fctidz, i64, env, i64)
|
2014-01-07 20:05:59 +04:00
|
|
|
DEF_HELPER_2(fctiduz, i64, env, i64)
|
2012-05-30 08:23:27 +04:00
|
|
|
DEF_HELPER_2(frsp, i64, env, i64)
|
|
|
|
DEF_HELPER_2(frin, i64, env, i64)
|
|
|
|
DEF_HELPER_2(friz, i64, env, i64)
|
|
|
|
DEF_HELPER_2(frip, i64, env, i64)
|
|
|
|
DEF_HELPER_2(frim, i64, env, i64)
|
2008-11-19 19:10:23 +03:00
|
|
|
|
2018-07-03 18:17:29 +03:00
|
|
|
DEF_HELPER_3(fadd, f64, env, f64, f64)
|
|
|
|
DEF_HELPER_3(fsub, f64, env, f64, f64)
|
2018-07-03 18:17:28 +03:00
|
|
|
DEF_HELPER_3(fmul, f64, env, f64, f64)
|
2018-07-03 18:17:27 +03:00
|
|
|
DEF_HELPER_3(fdiv, f64, env, f64, f64)
|
2012-05-30 08:23:27 +04:00
|
|
|
DEF_HELPER_4(fmadd, i64, env, i64, i64, i64)
|
|
|
|
DEF_HELPER_4(fmsub, i64, env, i64, i64, i64)
|
|
|
|
DEF_HELPER_4(fnmadd, i64, env, i64, i64, i64)
|
|
|
|
DEF_HELPER_4(fnmsub, i64, env, i64, i64, i64)
|
2018-07-03 18:17:30 +03:00
|
|
|
DEF_HELPER_2(fsqrt, f64, env, f64)
|
2012-05-30 08:23:27 +04:00
|
|
|
DEF_HELPER_2(fre, i64, env, i64)
|
|
|
|
DEF_HELPER_2(fres, i64, env, i64)
|
|
|
|
DEF_HELPER_2(frsqrte, i64, env, i64)
|
|
|
|
DEF_HELPER_4(fsel, i64, env, i64, i64, i64)
|
2008-11-19 19:10:23 +03:00
|
|
|
|
2014-01-07 20:06:07 +04:00
|
|
|
DEF_HELPER_FLAGS_2(ftdiv, TCG_CALL_NO_RWG_SE, i32, i64, i64)
|
2014-01-07 20:06:08 +04:00
|
|
|
DEF_HELPER_FLAGS_1(ftsqrt, TCG_CALL_NO_RWG_SE, i32, i64)
|
2014-01-07 20:06:07 +04:00
|
|
|
|
2009-01-03 16:31:40 +03:00
|
|
|
#define dh_alias_avr ptr
|
2009-10-02 01:12:16 +04:00
|
|
|
#define dh_ctype_avr ppc_avr_t *
|
2010-06-15 04:35:27 +04:00
|
|
|
#define dh_is_signed_avr dh_is_signed_ptr
|
2009-01-03 16:31:40 +03:00
|
|
|
|
2009-01-03 16:31:49 +03:00
|
|
|
DEF_HELPER_3(vavgub, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vavguh, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vavguw, void, avr, avr, avr)
|
2016-07-28 21:14:14 +03:00
|
|
|
DEF_HELPER_3(vabsdub, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vabsduh, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vabsduw, void, avr, avr, avr)
|
2009-01-03 16:31:49 +03:00
|
|
|
DEF_HELPER_3(vavgsb, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vavgsh, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vavgsw, void, avr, avr, avr)
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_4(vcmpequb, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpequh, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpequw, void, env, avr, avr, avr)
|
2014-02-13 01:23:13 +04:00
|
|
|
DEF_HELPER_4(vcmpequd, void, env, avr, avr, avr)
|
2016-09-28 08:45:17 +03:00
|
|
|
DEF_HELPER_4(vcmpneb, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpneh, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpnew, void, env, avr, avr, avr)
|
2016-07-28 21:14:15 +03:00
|
|
|
DEF_HELPER_4(vcmpnezb, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpnezh, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpnezw, void, env, avr, avr, avr)
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_4(vcmpgtub, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpgtuh, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpgtuw, void, env, avr, avr, avr)
|
2014-02-13 01:23:13 +04:00
|
|
|
DEF_HELPER_4(vcmpgtud, void, env, avr, avr, avr)
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_4(vcmpgtsb, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpgtsh, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpgtsw, void, env, avr, avr, avr)
|
2014-02-13 01:23:13 +04:00
|
|
|
DEF_HELPER_4(vcmpgtsd, void, env, avr, avr, avr)
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_4(vcmpeqfp, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpgefp, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpgtfp, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpbfp, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpequb_dot, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpequh_dot, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpequw_dot, void, env, avr, avr, avr)
|
2014-02-13 01:23:13 +04:00
|
|
|
DEF_HELPER_4(vcmpequd_dot, void, env, avr, avr, avr)
|
2016-09-28 08:45:17 +03:00
|
|
|
DEF_HELPER_4(vcmpneb_dot, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpneh_dot, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpnew_dot, void, env, avr, avr, avr)
|
2016-07-28 21:14:15 +03:00
|
|
|
DEF_HELPER_4(vcmpnezb_dot, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpnezh_dot, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpnezw_dot, void, env, avr, avr, avr)
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_4(vcmpgtub_dot, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpgtuh_dot, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpgtuw_dot, void, env, avr, avr, avr)
|
2014-02-13 01:23:13 +04:00
|
|
|
DEF_HELPER_4(vcmpgtud_dot, void, env, avr, avr, avr)
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_4(vcmpgtsb_dot, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpgtsh_dot, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpgtsw_dot, void, env, avr, avr, avr)
|
2014-02-13 01:23:13 +04:00
|
|
|
DEF_HELPER_4(vcmpgtsd_dot, void, env, avr, avr, avr)
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_4(vcmpeqfp_dot, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpgefp_dot, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpgtfp_dot, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vcmpbfp_dot, void, env, avr, avr, avr)
|
2009-01-05 01:08:38 +03:00
|
|
|
DEF_HELPER_3(vmrglb, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vmrglh, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vmrglw, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vmrghb, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vmrghh, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vmrghw, void, avr, avr, avr)
|
2009-01-05 01:08:48 +03:00
|
|
|
DEF_HELPER_3(vmulesb, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vmulesh, void, avr, avr, avr)
|
2014-02-13 01:23:01 +04:00
|
|
|
DEF_HELPER_3(vmulesw, void, avr, avr, avr)
|
2009-01-05 01:08:48 +03:00
|
|
|
DEF_HELPER_3(vmuleub, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vmuleuh, void, avr, avr, avr)
|
2014-02-13 01:23:01 +04:00
|
|
|
DEF_HELPER_3(vmuleuw, void, avr, avr, avr)
|
2009-01-05 01:08:48 +03:00
|
|
|
DEF_HELPER_3(vmulosb, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vmulosh, void, avr, avr, avr)
|
2014-02-13 01:23:01 +04:00
|
|
|
DEF_HELPER_3(vmulosw, void, avr, avr, avr)
|
2009-01-05 01:08:48 +03:00
|
|
|
DEF_HELPER_3(vmuloub, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vmulouh, void, avr, avr, avr)
|
2014-02-13 01:23:01 +04:00
|
|
|
DEF_HELPER_3(vmulouw, void, avr, avr, avr)
|
2014-02-13 01:23:02 +04:00
|
|
|
DEF_HELPER_3(vmuluwm, void, avr, avr, avr)
|
2009-01-05 01:08:58 +03:00
|
|
|
DEF_HELPER_3(vsrab, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vsrah, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vsraw, void, avr, avr, avr)
|
2014-02-13 01:23:10 +04:00
|
|
|
DEF_HELPER_3(vsrad, void, avr, avr, avr)
|
2009-01-05 01:08:58 +03:00
|
|
|
DEF_HELPER_3(vsrb, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vsrh, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vsrw, void, avr, avr, avr)
|
2014-02-13 01:23:10 +04:00
|
|
|
DEF_HELPER_3(vsrd, void, avr, avr, avr)
|
2009-01-05 01:09:08 +03:00
|
|
|
DEF_HELPER_3(vslb, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vslh, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vslw, void, avr, avr, avr)
|
2014-02-13 01:23:10 +04:00
|
|
|
DEF_HELPER_3(vsld, void, avr, avr, avr)
|
2009-01-05 01:09:19 +03:00
|
|
|
DEF_HELPER_3(vslo, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vsro, void, avr, avr, avr)
|
2016-07-28 21:14:17 +03:00
|
|
|
DEF_HELPER_3(vsrv, void, avr, avr, avr)
|
2016-07-28 21:14:16 +03:00
|
|
|
DEF_HELPER_3(vslv, void, avr, avr, avr)
|
2009-01-05 01:09:31 +03:00
|
|
|
DEF_HELPER_3(vaddcuw, void, avr, avr, avr)
|
2016-10-30 06:14:58 +03:00
|
|
|
DEF_HELPER_2(vprtybw, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vprtybd, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vprtybq, void, avr, avr)
|
2009-01-05 01:09:31 +03:00
|
|
|
DEF_HELPER_3(vsubcuw, void, avr, avr, avr)
|
2013-09-15 02:38:30 +04:00
|
|
|
DEF_HELPER_2(lvsl, void, avr, tl)
|
|
|
|
DEF_HELPER_2(lvsr, void, avr, tl)
|
2019-02-15 13:00:57 +03:00
|
|
|
DEF_HELPER_FLAGS_5(vaddsbs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
|
|
|
|
DEF_HELPER_FLAGS_5(vaddshs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
|
|
|
|
DEF_HELPER_FLAGS_5(vaddsws, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
|
|
|
|
DEF_HELPER_FLAGS_5(vsubsbs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
|
|
|
|
DEF_HELPER_FLAGS_5(vsubshs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
|
|
|
|
DEF_HELPER_FLAGS_5(vsubsws, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
|
|
|
|
DEF_HELPER_FLAGS_5(vaddubs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
|
|
|
|
DEF_HELPER_FLAGS_5(vadduhs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
|
|
|
|
DEF_HELPER_FLAGS_5(vadduws, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
|
|
|
|
DEF_HELPER_FLAGS_5(vsububs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
|
|
|
|
DEF_HELPER_FLAGS_5(vsubuhs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
|
|
|
|
DEF_HELPER_FLAGS_5(vsubuws, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
|
2014-02-13 01:23:11 +04:00
|
|
|
DEF_HELPER_3(vadduqm, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vaddecuq, void, avr, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vaddeuqm, void, avr, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vaddcuq, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vsubuqm, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vsubecuq, void, avr, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vsubeuqm, void, avr, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vsubcuq, void, avr, avr, avr)
|
2009-01-05 01:09:52 +03:00
|
|
|
DEF_HELPER_3(vrlb, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vrlh, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vrlw, void, avr, avr, avr)
|
2014-02-13 01:23:10 +04:00
|
|
|
DEF_HELPER_3(vrld, void, avr, avr, avr)
|
2009-01-08 21:54:48 +03:00
|
|
|
DEF_HELPER_3(vsl, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vsr, void, avr, avr, avr)
|
2009-01-05 01:10:09 +03:00
|
|
|
DEF_HELPER_4(vsldoi, void, avr, avr, avr, i32)
|
2016-09-06 08:04:07 +03:00
|
|
|
DEF_HELPER_3(vextractub, void, avr, avr, i32)
|
|
|
|
DEF_HELPER_3(vextractuh, void, avr, avr, i32)
|
|
|
|
DEF_HELPER_3(vextractuw, void, avr, avr, i32)
|
|
|
|
DEF_HELPER_3(vextractd, void, avr, avr, i32)
|
2016-09-06 08:04:06 +03:00
|
|
|
DEF_HELPER_3(vinsertb, void, avr, avr, i32)
|
|
|
|
DEF_HELPER_3(vinserth, void, avr, avr, i32)
|
|
|
|
DEF_HELPER_3(vinsertw, void, avr, avr, i32)
|
|
|
|
DEF_HELPER_3(vinsertd, void, avr, avr, i32)
|
2016-10-12 08:08:51 +03:00
|
|
|
DEF_HELPER_2(vextsb2w, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vextsh2w, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vextsb2d, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vextsh2d, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vextsw2d, void, avr, avr)
|
2016-10-19 09:06:46 +03:00
|
|
|
DEF_HELPER_2(vnegw, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vnegd, void, avr, avr)
|
2009-01-05 01:11:10 +03:00
|
|
|
DEF_HELPER_2(vupkhpx, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vupklpx, void, avr, avr)
|
2009-01-05 01:11:20 +03:00
|
|
|
DEF_HELPER_2(vupkhsb, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vupkhsh, void, avr, avr)
|
2014-02-13 01:23:07 +04:00
|
|
|
DEF_HELPER_2(vupkhsw, void, avr, avr)
|
2009-01-05 01:11:20 +03:00
|
|
|
DEF_HELPER_2(vupklsb, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vupklsh, void, avr, avr)
|
2014-02-13 01:23:07 +04:00
|
|
|
DEF_HELPER_2(vupklsw, void, avr, avr)
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_5(vmsumubm, void, env, avr, avr, avr, avr)
|
|
|
|
DEF_HELPER_5(vmsummbm, void, env, avr, avr, avr, avr)
|
|
|
|
DEF_HELPER_5(vsel, void, env, avr, avr, avr, avr)
|
|
|
|
DEF_HELPER_5(vperm, void, env, avr, avr, avr, avr)
|
2016-09-06 08:04:10 +03:00
|
|
|
DEF_HELPER_5(vpermr, void, env, avr, avr, avr, avr)
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_4(vpkshss, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vpkshus, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vpkswss, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vpkswus, void, env, avr, avr, avr)
|
2014-02-13 01:23:06 +04:00
|
|
|
DEF_HELPER_4(vpksdss, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vpksdus, void, env, avr, avr, avr)
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_4(vpkuhus, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vpkuwus, void, env, avr, avr, avr)
|
2014-02-13 01:23:06 +04:00
|
|
|
DEF_HELPER_4(vpkudus, void, env, avr, avr, avr)
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_4(vpkuhum, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vpkuwum, void, env, avr, avr, avr)
|
2014-02-13 01:23:06 +04:00
|
|
|
DEF_HELPER_4(vpkudum, void, env, avr, avr, avr)
|
2009-01-05 01:12:19 +03:00
|
|
|
DEF_HELPER_3(vpkpx, void, avr, avr, avr)
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_5(vmhaddshs, void, env, avr, avr, avr, avr)
|
|
|
|
DEF_HELPER_5(vmhraddshs, void, env, avr, avr, avr, avr)
|
|
|
|
DEF_HELPER_5(vmsumuhm, void, env, avr, avr, avr, avr)
|
|
|
|
DEF_HELPER_5(vmsumuhs, void, env, avr, avr, avr, avr)
|
|
|
|
DEF_HELPER_5(vmsumshm, void, env, avr, avr, avr, avr)
|
|
|
|
DEF_HELPER_5(vmsumshs, void, env, avr, avr, avr, avr)
|
2009-01-05 01:13:00 +03:00
|
|
|
DEF_HELPER_4(vmladduhm, void, avr, avr, avr, avr)
|
2019-02-15 13:00:50 +03:00
|
|
|
DEF_HELPER_FLAGS_2(mtvscr, TCG_CALL_NO_RWG, void, env, i32)
|
2019-02-15 13:00:53 +03:00
|
|
|
DEF_HELPER_FLAGS_1(mfvscr, TCG_CALL_NO_RWG, i32, env)
|
2012-05-30 08:23:40 +04:00
|
|
|
DEF_HELPER_3(lvebx, void, env, avr, tl)
|
|
|
|
DEF_HELPER_3(lvehx, void, env, avr, tl)
|
|
|
|
DEF_HELPER_3(lvewx, void, env, avr, tl)
|
|
|
|
DEF_HELPER_3(stvebx, void, env, avr, tl)
|
|
|
|
DEF_HELPER_3(stvehx, void, env, avr, tl)
|
|
|
|
DEF_HELPER_3(stvewx, void, env, avr, tl)
|
2016-12-09 15:17:20 +03:00
|
|
|
#if defined(TARGET_PPC64)
|
|
|
|
DEF_HELPER_4(lxvl, void, env, tl, tl, tl)
|
2016-12-09 15:17:21 +03:00
|
|
|
DEF_HELPER_4(lxvll, void, env, tl, tl, tl)
|
2016-12-09 15:17:22 +03:00
|
|
|
DEF_HELPER_4(stxvl, void, env, tl, tl, tl)
|
2016-12-09 15:17:23 +03:00
|
|
|
DEF_HELPER_4(stxvll, void, env, tl, tl, tl)
|
2016-12-09 15:17:20 +03:00
|
|
|
#endif
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_4(vsumsws, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vsum2sws, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vsum4sbs, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vsum4shs, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vsum4ubs, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vaddfp, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vsubfp, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vmaxfp, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_4(vminfp, void, env, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vrefp, void, env, avr, avr)
|
|
|
|
DEF_HELPER_3(vrsqrtefp, void, env, avr, avr)
|
2016-10-30 06:14:56 +03:00
|
|
|
DEF_HELPER_3(vrlwmi, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vrldmi, void, avr, avr, avr)
|
2016-10-30 06:14:57 +03:00
|
|
|
DEF_HELPER_3(vrldnm, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vrlwnm, void, avr, avr, avr)
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_5(vmaddfp, void, env, avr, avr, avr, avr)
|
|
|
|
DEF_HELPER_5(vnmsubfp, void, env, avr, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vexptefp, void, env, avr, avr)
|
|
|
|
DEF_HELPER_3(vlogefp, void, env, avr, avr)
|
|
|
|
DEF_HELPER_3(vrfim, void, env, avr, avr)
|
|
|
|
DEF_HELPER_3(vrfin, void, env, avr, avr)
|
|
|
|
DEF_HELPER_3(vrfip, void, env, avr, avr)
|
|
|
|
DEF_HELPER_3(vrfiz, void, env, avr, avr)
|
|
|
|
DEF_HELPER_4(vcfux, void, env, avr, avr, i32)
|
|
|
|
DEF_HELPER_4(vcfsx, void, env, avr, avr, i32)
|
|
|
|
DEF_HELPER_4(vctuxs, void, env, avr, avr, i32)
|
|
|
|
DEF_HELPER_4(vctsxs, void, env, avr, avr, i32)
|
2009-01-03 16:31:49 +03:00
|
|
|
|
2014-02-13 01:23:03 +04:00
|
|
|
DEF_HELPER_2(vclzb, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vclzh, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vclzw, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vclzd, void, avr, avr)
|
2016-09-06 08:04:08 +03:00
|
|
|
DEF_HELPER_2(vctzb, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vctzh, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vctzw, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vctzd, void, avr, avr)
|
2014-02-13 01:23:04 +04:00
|
|
|
DEF_HELPER_2(vpopcntb, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vpopcnth, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vpopcntw, void, avr, avr)
|
|
|
|
DEF_HELPER_2(vpopcntd, void, avr, avr)
|
2016-09-28 08:45:18 +03:00
|
|
|
DEF_HELPER_1(vclzlsbb, tl, avr)
|
|
|
|
DEF_HELPER_1(vctzlsbb, tl, avr)
|
2016-09-06 08:04:09 +03:00
|
|
|
DEF_HELPER_3(vbpermd, void, avr, avr, avr)
|
2014-02-13 01:23:12 +04:00
|
|
|
DEF_HELPER_3(vbpermq, void, avr, avr, avr)
|
2014-02-13 01:23:14 +04:00
|
|
|
DEF_HELPER_2(vgbbd, void, avr, avr)
|
2014-02-13 01:23:15 +04:00
|
|
|
DEF_HELPER_3(vpmsumb, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vpmsumh, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vpmsumw, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vpmsumd, void, avr, avr, avr)
|
2016-11-28 10:56:42 +03:00
|
|
|
DEF_HELPER_2(vextublx, tl, tl, avr)
|
|
|
|
DEF_HELPER_2(vextuhlx, tl, tl, avr)
|
|
|
|
DEF_HELPER_2(vextuwlx, tl, tl, avr)
|
|
|
|
DEF_HELPER_2(vextubrx, tl, tl, avr)
|
|
|
|
DEF_HELPER_2(vextuhrx, tl, tl, avr)
|
|
|
|
DEF_HELPER_2(vextuwrx, tl, tl, avr)
|
2014-02-13 01:23:03 +04:00
|
|
|
|
2014-02-13 01:23:17 +04:00
|
|
|
DEF_HELPER_2(vsbox, void, avr, avr)
|
|
|
|
DEF_HELPER_3(vcipher, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vcipherlast, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vncipher, void, avr, avr, avr)
|
|
|
|
DEF_HELPER_3(vncipherlast, void, avr, avr, avr)
|
2014-02-13 01:23:18 +04:00
|
|
|
DEF_HELPER_3(vshasigmaw, void, avr, avr, i32)
|
|
|
|
DEF_HELPER_3(vshasigmad, void, avr, avr, i32)
|
2014-02-13 01:23:19 +04:00
|
|
|
DEF_HELPER_4(vpermxor, void, avr, avr, avr, avr)
|
2014-02-13 01:23:17 +04:00
|
|
|
|
2014-02-13 01:23:16 +04:00
|
|
|
DEF_HELPER_4(bcdadd, i32, avr, avr, avr, i32)
|
|
|
|
DEF_HELPER_4(bcdsub, i32, avr, avr, avr, i32)
|
2016-11-08 19:50:22 +03:00
|
|
|
DEF_HELPER_3(bcdcfn, i32, avr, avr, i32)
|
2016-11-08 19:50:23 +03:00
|
|
|
DEF_HELPER_3(bcdctn, i32, avr, avr, i32)
|
2016-11-08 19:50:24 +03:00
|
|
|
DEF_HELPER_3(bcdcfz, i32, avr, avr, i32)
|
2016-11-08 19:50:25 +03:00
|
|
|
DEF_HELPER_3(bcdctz, i32, avr, avr, i32)
|
2016-11-25 06:53:30 +03:00
|
|
|
DEF_HELPER_3(bcdcfsq, i32, avr, avr, i32)
|
2016-11-25 06:53:31 +03:00
|
|
|
DEF_HELPER_3(bcdctsq, i32, avr, avr, i32)
|
2016-11-25 06:53:32 +03:00
|
|
|
DEF_HELPER_4(bcdcpsgn, i32, avr, avr, avr, i32)
|
2016-11-25 06:53:33 +03:00
|
|
|
DEF_HELPER_3(bcdsetsgn, i32, avr, avr, i32)
|
2017-01-10 05:10:10 +03:00
|
|
|
DEF_HELPER_4(bcds, i32, avr, avr, avr, i32)
|
2017-01-10 05:10:11 +03:00
|
|
|
DEF_HELPER_4(bcdus, i32, avr, avr, avr, i32)
|
2017-01-10 05:10:12 +03:00
|
|
|
DEF_HELPER_4(bcdsr, i32, avr, avr, avr, i32)
|
2017-01-12 23:08:32 +03:00
|
|
|
DEF_HELPER_4(bcdtrunc, i32, avr, avr, avr, i32)
|
2017-01-12 23:08:33 +03:00
|
|
|
DEF_HELPER_4(bcdutrunc, i32, avr, avr, avr, i32)
|
2014-02-13 01:23:16 +04:00
|
|
|
|
2014-01-03 02:21:21 +04:00
|
|
|
DEF_HELPER_2(xsadddp, void, env, i32)
|
2017-01-09 17:26:13 +03:00
|
|
|
DEF_HELPER_2(xsaddqp, void, env, i32)
|
2014-01-03 02:21:21 +04:00
|
|
|
DEF_HELPER_2(xssubdp, void, env, i32)
|
2014-01-03 02:21:22 +04:00
|
|
|
DEF_HELPER_2(xsmuldp, void, env, i32)
|
2017-01-12 19:24:08 +03:00
|
|
|
DEF_HELPER_2(xsmulqp, void, env, i32)
|
2014-01-03 02:21:23 +04:00
|
|
|
DEF_HELPER_2(xsdivdp, void, env, i32)
|
2017-01-12 19:24:07 +03:00
|
|
|
DEF_HELPER_2(xsdivqp, void, env, i32)
|
2014-01-03 02:21:24 +04:00
|
|
|
DEF_HELPER_2(xsredp, void, env, i32)
|
2014-01-03 02:21:25 +04:00
|
|
|
DEF_HELPER_2(xssqrtdp, void, env, i32)
|
2014-01-03 02:21:26 +04:00
|
|
|
DEF_HELPER_2(xsrsqrtedp, void, env, i32)
|
2014-01-03 02:21:27 +04:00
|
|
|
DEF_HELPER_2(xstdivdp, void, env, i32)
|
2014-01-03 02:21:28 +04:00
|
|
|
DEF_HELPER_2(xstsqrtdp, void, env, i32)
|
target-ppc: Add VSX ISA2.06 Multiply Add Instructions
This patch adds the VSX floating point multiply/add instructions
defined by V2.06 of the PowerPC ISA:
- xsmaddadp, xvmaddadp, xvmaddasp
- xsmaddmdp, xvmaddmdp, xvmaddmsp
- xsmsubadp, xvmsubadp, xvmsubasp
- xsmsubmdp, xvmsubmdp, xvmsubmsp
- xsnmaddadp, xvnmaddadp, xvnmaddasp
- xsnmaddmdp, xvnmaddmdp, xvnmaddmsp
- xsnmsubadp, xvnmsubadp, xvnmsubasp
- xsnmsubmdp, xvnmsubmdp, xvnmsubmsp
Signed-off-by: Tom Musta <tommusta@gmail.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-01-03 02:21:29 +04:00
|
|
|
DEF_HELPER_2(xsmaddadp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsmaddmdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsmsubadp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsmsubmdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsnmaddadp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsnmaddmdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsnmsubadp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsnmsubmdp, void, env, i32)
|
2016-10-26 09:26:24 +03:00
|
|
|
DEF_HELPER_2(xscmpeqdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xscmpgtdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xscmpgedp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xscmpnedp, void, env, i32)
|
2016-11-23 14:37:13 +03:00
|
|
|
DEF_HELPER_2(xscmpexpdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xscmpexpqp, void, env, i32)
|
2014-01-03 02:21:30 +04:00
|
|
|
DEF_HELPER_2(xscmpodp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xscmpudp, void, env, i32)
|
2016-11-23 14:37:14 +03:00
|
|
|
DEF_HELPER_2(xscmpoqp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xscmpuqp, void, env, i32)
|
2014-01-03 02:21:31 +04:00
|
|
|
DEF_HELPER_2(xsmaxdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsmindp, void, env, i32)
|
2017-02-06 13:29:59 +03:00
|
|
|
DEF_HELPER_2(xsmaxcdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsmincdp, void, env, i32)
|
2017-02-06 13:30:00 +03:00
|
|
|
DEF_HELPER_2(xsmaxjdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsminjdp, void, env, i32)
|
2017-01-06 09:14:49 +03:00
|
|
|
DEF_HELPER_2(xscvdphp, void, env, i32)
|
2017-01-09 17:26:14 +03:00
|
|
|
DEF_HELPER_2(xscvdpqp, void, env, i32)
|
2014-01-03 02:21:33 +04:00
|
|
|
DEF_HELPER_2(xscvdpsp, void, env, i32)
|
2014-01-15 18:10:45 +04:00
|
|
|
DEF_HELPER_2(xscvdpspn, i64, env, i64)
|
2017-01-09 17:26:15 +03:00
|
|
|
DEF_HELPER_2(xscvqpdp, void, env, i32)
|
2017-01-10 11:50:43 +03:00
|
|
|
DEF_HELPER_2(xscvqpsdz, void, env, i32)
|
|
|
|
DEF_HELPER_2(xscvqpswz, void, env, i32)
|
2017-02-10 10:23:09 +03:00
|
|
|
DEF_HELPER_2(xscvqpudz, void, env, i32)
|
|
|
|
DEF_HELPER_2(xscvqpuwz, void, env, i32)
|
2017-01-06 09:14:49 +03:00
|
|
|
DEF_HELPER_2(xscvhpdp, void, env, i32)
|
2017-01-12 19:24:06 +03:00
|
|
|
DEF_HELPER_2(xscvsdqp, void, env, i32)
|
2014-01-03 02:21:33 +04:00
|
|
|
DEF_HELPER_2(xscvspdp, void, env, i32)
|
2014-01-15 18:10:45 +04:00
|
|
|
DEF_HELPER_2(xscvspdpn, i64, env, i64)
|
target-ppc: Add VSX ISA2.06 Integer Conversion Instructions
This patch adds the VSX Integer Conversion instructions defined by
V2.06 of the PowerPC ISA:
- xscvdpsxds, xscvdpsxws, xscvdpuxds, xscvdpuxws
- xvcvdpsxds, xvcvdpsxws, xvcvdpuxds, xvcvdpuxws
- xvcvspsxds, xvcvspsxws, xvcvspuxds, xvcvspuxws
- xscvsxddp, xscvuxddp
- xvcvsxddp, xscvsxwdp, xvcvuxddp, xvcvuxwdp
- xvcvsxdsp, xscvsxwsp, xvcvuxdsp, xvcvuxwsp
Signed-off-by: Tom Musta <tommusta@gmail.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-01-03 02:21:34 +04:00
|
|
|
DEF_HELPER_2(xscvdpsxds, void, env, i32)
|
|
|
|
DEF_HELPER_2(xscvdpsxws, void, env, i32)
|
|
|
|
DEF_HELPER_2(xscvdpuxds, void, env, i32)
|
|
|
|
DEF_HELPER_2(xscvdpuxws, void, env, i32)
|
|
|
|
DEF_HELPER_2(xscvsxddp, void, env, i32)
|
2014-01-15 18:10:40 +04:00
|
|
|
DEF_HELPER_2(xscvuxdsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xscvsxdsp, void, env, i32)
|
2017-01-12 19:24:06 +03:00
|
|
|
DEF_HELPER_2(xscvudqp, void, env, i32)
|
target-ppc: Add VSX ISA2.06 Integer Conversion Instructions
This patch adds the VSX Integer Conversion instructions defined by
V2.06 of the PowerPC ISA:
- xscvdpsxds, xscvdpsxws, xscvdpuxds, xscvdpuxws
- xvcvdpsxds, xvcvdpsxws, xvcvdpuxds, xvcvdpuxws
- xvcvspsxds, xvcvspsxws, xvcvspuxds, xvcvspuxws
- xscvsxddp, xscvuxddp
- xvcvsxddp, xscvsxwdp, xvcvuxddp, xvcvuxwdp
- xvcvsxdsp, xscvsxwsp, xvcvuxdsp, xvcvuxwsp
Signed-off-by: Tom Musta <tommusta@gmail.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-01-03 02:21:34 +04:00
|
|
|
DEF_HELPER_2(xscvuxddp, void, env, i32)
|
2017-01-13 12:23:40 +03:00
|
|
|
DEF_HELPER_2(xststdcsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xststdcdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xststdcqp, void, env, i32)
|
target-ppc: Add VSX Rounding Instructions
This patch adds the VSX Round to Floating Point Integer instructions:
- xsrdpi, xsrdpic, xsrdpim, xsrdpip, xsrdpiz
- xvrdpi, xvrdpic, xvrdpim, xvrdpip, xvrdpiz
- xvrspi, xvrspic, xvrspim, xvrspip, xvrspiz
Signed-off-by: Tom Musta <tommusta@gmail.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-01-03 02:21:35 +04:00
|
|
|
DEF_HELPER_2(xsrdpi, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsrdpic, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsrdpim, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsrdpip, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsrdpiz, void, env, i32)
|
2017-02-04 01:01:14 +03:00
|
|
|
DEF_HELPER_2(xsrqpi, void, env, i32)
|
2017-02-04 01:01:15 +03:00
|
|
|
DEF_HELPER_2(xsrqpxp, void, env, i32)
|
2017-02-04 01:01:16 +03:00
|
|
|
DEF_HELPER_2(xssqrtqp, void, env, i32)
|
2017-02-04 01:01:17 +03:00
|
|
|
DEF_HELPER_2(xssubqp, void, env, i32)
|
2014-01-03 02:21:21 +04:00
|
|
|
|
2014-01-15 18:10:33 +04:00
|
|
|
DEF_HELPER_2(xsaddsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xssubsp, void, env, i32)
|
2014-01-15 18:10:34 +04:00
|
|
|
DEF_HELPER_2(xsmulsp, void, env, i32)
|
2014-01-15 18:10:35 +04:00
|
|
|
DEF_HELPER_2(xsdivsp, void, env, i32)
|
2014-01-15 18:10:36 +04:00
|
|
|
DEF_HELPER_2(xsresp, void, env, i32)
|
2014-01-15 18:10:44 +04:00
|
|
|
DEF_HELPER_2(xsrsp, i64, env, i64)
|
2014-01-15 18:10:37 +04:00
|
|
|
DEF_HELPER_2(xssqrtsp, void, env, i32)
|
2014-01-15 18:10:38 +04:00
|
|
|
DEF_HELPER_2(xsrsqrtesp, void, env, i32)
|
2014-01-15 18:10:39 +04:00
|
|
|
DEF_HELPER_2(xsmaddasp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsmaddmsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsmsubasp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsmsubmsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsnmaddasp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsnmaddmsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsnmsubasp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xsnmsubmsp, void, env, i32)
|
2014-01-15 18:10:33 +04:00
|
|
|
|
2014-01-03 02:21:21 +04:00
|
|
|
DEF_HELPER_2(xvadddp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvsubdp, void, env, i32)
|
2014-01-03 02:21:22 +04:00
|
|
|
DEF_HELPER_2(xvmuldp, void, env, i32)
|
2014-01-03 02:21:23 +04:00
|
|
|
DEF_HELPER_2(xvdivdp, void, env, i32)
|
2014-01-03 02:21:24 +04:00
|
|
|
DEF_HELPER_2(xvredp, void, env, i32)
|
2014-01-03 02:21:25 +04:00
|
|
|
DEF_HELPER_2(xvsqrtdp, void, env, i32)
|
2014-01-03 02:21:26 +04:00
|
|
|
DEF_HELPER_2(xvrsqrtedp, void, env, i32)
|
2014-01-03 02:21:27 +04:00
|
|
|
DEF_HELPER_2(xvtdivdp, void, env, i32)
|
2014-01-03 02:21:28 +04:00
|
|
|
DEF_HELPER_2(xvtsqrtdp, void, env, i32)
|
target-ppc: Add VSX ISA2.06 Multiply Add Instructions
This patch adds the VSX floating point multiply/add instructions
defined by V2.06 of the PowerPC ISA:
- xsmaddadp, xvmaddadp, xvmaddasp
- xsmaddmdp, xvmaddmdp, xvmaddmsp
- xsmsubadp, xvmsubadp, xvmsubasp
- xsmsubmdp, xvmsubmdp, xvmsubmsp
- xsnmaddadp, xvnmaddadp, xvnmaddasp
- xsnmaddmdp, xvnmaddmdp, xvnmaddmsp
- xsnmsubadp, xvnmsubadp, xvnmsubasp
- xsnmsubmdp, xvnmsubmdp, xvnmsubmsp
Signed-off-by: Tom Musta <tommusta@gmail.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-01-03 02:21:29 +04:00
|
|
|
DEF_HELPER_2(xvmaddadp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvmaddmdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvmsubadp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvmsubmdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvnmaddadp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvnmaddmdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvnmsubadp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvnmsubmdp, void, env, i32)
|
2014-01-03 02:21:31 +04:00
|
|
|
DEF_HELPER_2(xvmaxdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvmindp, void, env, i32)
|
2014-01-03 02:21:32 +04:00
|
|
|
DEF_HELPER_2(xvcmpeqdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcmpgedp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcmpgtdp, void, env, i32)
|
2016-10-26 09:26:29 +03:00
|
|
|
DEF_HELPER_2(xvcmpnedp, void, env, i32)
|
2014-01-03 02:21:33 +04:00
|
|
|
DEF_HELPER_2(xvcvdpsp, void, env, i32)
|
target-ppc: Add VSX ISA2.06 Integer Conversion Instructions
This patch adds the VSX Integer Conversion instructions defined by
V2.06 of the PowerPC ISA:
- xscvdpsxds, xscvdpsxws, xscvdpuxds, xscvdpuxws
- xvcvdpsxds, xvcvdpsxws, xvcvdpuxds, xvcvdpuxws
- xvcvspsxds, xvcvspsxws, xvcvspuxds, xvcvspuxws
- xscvsxddp, xscvuxddp
- xvcvsxddp, xscvsxwdp, xvcvuxddp, xvcvuxwdp
- xvcvsxdsp, xscvsxwsp, xvcvuxdsp, xvcvuxwsp
Signed-off-by: Tom Musta <tommusta@gmail.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-01-03 02:21:34 +04:00
|
|
|
DEF_HELPER_2(xvcvdpsxds, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcvdpsxws, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcvdpuxds, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcvdpuxws, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcvsxddp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcvuxddp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcvsxwdp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcvuxwdp, void, env, i32)
|
target-ppc: Add VSX Rounding Instructions
This patch adds the VSX Round to Floating Point Integer instructions:
- xsrdpi, xsrdpic, xsrdpim, xsrdpip, xsrdpiz
- xvrdpi, xvrdpic, xvrdpim, xvrdpip, xvrdpiz
- xvrspi, xvrspic, xvrspim, xvrspip, xvrspiz
Signed-off-by: Tom Musta <tommusta@gmail.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-01-03 02:21:35 +04:00
|
|
|
DEF_HELPER_2(xvrdpi, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvrdpic, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvrdpim, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvrdpip, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvrdpiz, void, env, i32)
|
2014-01-03 02:21:21 +04:00
|
|
|
|
|
|
|
DEF_HELPER_2(xvaddsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvsubsp, void, env, i32)
|
2014-01-03 02:21:22 +04:00
|
|
|
DEF_HELPER_2(xvmulsp, void, env, i32)
|
2014-01-03 02:21:23 +04:00
|
|
|
DEF_HELPER_2(xvdivsp, void, env, i32)
|
2014-01-03 02:21:24 +04:00
|
|
|
DEF_HELPER_2(xvresp, void, env, i32)
|
2014-01-03 02:21:25 +04:00
|
|
|
DEF_HELPER_2(xvsqrtsp, void, env, i32)
|
2014-01-03 02:21:26 +04:00
|
|
|
DEF_HELPER_2(xvrsqrtesp, void, env, i32)
|
2014-01-03 02:21:27 +04:00
|
|
|
DEF_HELPER_2(xvtdivsp, void, env, i32)
|
2014-01-03 02:21:28 +04:00
|
|
|
DEF_HELPER_2(xvtsqrtsp, void, env, i32)
|
target-ppc: Add VSX ISA2.06 Multiply Add Instructions
This patch adds the VSX floating point multiply/add instructions
defined by V2.06 of the PowerPC ISA:
- xsmaddadp, xvmaddadp, xvmaddasp
- xsmaddmdp, xvmaddmdp, xvmaddmsp
- xsmsubadp, xvmsubadp, xvmsubasp
- xsmsubmdp, xvmsubmdp, xvmsubmsp
- xsnmaddadp, xvnmaddadp, xvnmaddasp
- xsnmaddmdp, xvnmaddmdp, xvnmaddmsp
- xsnmsubadp, xvnmsubadp, xvnmsubasp
- xsnmsubmdp, xvnmsubmdp, xvnmsubmsp
Signed-off-by: Tom Musta <tommusta@gmail.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-01-03 02:21:29 +04:00
|
|
|
DEF_HELPER_2(xvmaddasp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvmaddmsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvmsubasp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvmsubmsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvnmaddasp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvnmaddmsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvnmsubasp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvnmsubmsp, void, env, i32)
|
2014-01-03 02:21:31 +04:00
|
|
|
DEF_HELPER_2(xvmaxsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvminsp, void, env, i32)
|
2014-01-03 02:21:32 +04:00
|
|
|
DEF_HELPER_2(xvcmpeqsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcmpgesp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcmpgtsp, void, env, i32)
|
2016-10-26 09:26:29 +03:00
|
|
|
DEF_HELPER_2(xvcmpnesp, void, env, i32)
|
2014-01-03 02:21:33 +04:00
|
|
|
DEF_HELPER_2(xvcvspdp, void, env, i32)
|
2017-01-12 19:24:09 +03:00
|
|
|
DEF_HELPER_2(xvcvsphp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcvhpsp, void, env, i32)
|
target-ppc: Add VSX ISA2.06 Integer Conversion Instructions
This patch adds the VSX Integer Conversion instructions defined by
V2.06 of the PowerPC ISA:
- xscvdpsxds, xscvdpsxws, xscvdpuxds, xscvdpuxws
- xvcvdpsxds, xvcvdpsxws, xvcvdpuxds, xvcvdpuxws
- xvcvspsxds, xvcvspsxws, xvcvspuxds, xvcvspuxws
- xscvsxddp, xscvuxddp
- xvcvsxddp, xscvsxwdp, xvcvuxddp, xvcvuxwdp
- xvcvsxdsp, xscvsxwsp, xvcvuxdsp, xvcvuxwsp
Signed-off-by: Tom Musta <tommusta@gmail.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-01-03 02:21:34 +04:00
|
|
|
DEF_HELPER_2(xvcvspsxds, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcvspsxws, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcvspuxds, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcvspuxws, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcvsxdsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcvuxdsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcvsxwsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvcvuxwsp, void, env, i32)
|
2017-01-13 12:23:39 +03:00
|
|
|
DEF_HELPER_2(xvtstdcsp, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvtstdcdp, void, env, i32)
|
target-ppc: Add VSX Rounding Instructions
This patch adds the VSX Round to Floating Point Integer instructions:
- xsrdpi, xsrdpic, xsrdpim, xsrdpip, xsrdpiz
- xvrdpi, xvrdpic, xvrdpim, xvrdpip, xvrdpiz
- xvrspi, xvrspic, xvrspim, xvrspip, xvrspiz
Signed-off-by: Tom Musta <tommusta@gmail.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2014-01-03 02:21:35 +04:00
|
|
|
DEF_HELPER_2(xvrspi, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvrspic, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvrspim, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvrspip, void, env, i32)
|
|
|
|
DEF_HELPER_2(xvrspiz, void, env, i32)
|
2016-12-07 21:25:02 +03:00
|
|
|
DEF_HELPER_2(xxperm, void, env, i32)
|
|
|
|
DEF_HELPER_2(xxpermr, void, env, i32)
|
2017-01-06 09:14:43 +03:00
|
|
|
DEF_HELPER_4(xxextractuw, void, env, tl, tl, i32)
|
2017-01-06 09:14:44 +03:00
|
|
|
DEF_HELPER_4(xxinsertw, void, env, tl, tl, i32)
|
2017-01-10 11:50:41 +03:00
|
|
|
DEF_HELPER_2(xvxsigsp, void, env, i32)
|
2014-01-03 02:21:21 +04:00
|
|
|
|
2012-05-30 08:23:27 +04:00
|
|
|
DEF_HELPER_2(efscfsi, i32, env, i32)
|
|
|
|
DEF_HELPER_2(efscfui, i32, env, i32)
|
|
|
|
DEF_HELPER_2(efscfuf, i32, env, i32)
|
|
|
|
DEF_HELPER_2(efscfsf, i32, env, i32)
|
|
|
|
DEF_HELPER_2(efsctsi, i32, env, i32)
|
|
|
|
DEF_HELPER_2(efsctui, i32, env, i32)
|
|
|
|
DEF_HELPER_2(efsctsiz, i32, env, i32)
|
|
|
|
DEF_HELPER_2(efsctuiz, i32, env, i32)
|
|
|
|
DEF_HELPER_2(efsctsf, i32, env, i32)
|
|
|
|
DEF_HELPER_2(efsctuf, i32, env, i32)
|
|
|
|
DEF_HELPER_2(evfscfsi, i64, env, i64)
|
|
|
|
DEF_HELPER_2(evfscfui, i64, env, i64)
|
|
|
|
DEF_HELPER_2(evfscfuf, i64, env, i64)
|
|
|
|
DEF_HELPER_2(evfscfsf, i64, env, i64)
|
|
|
|
DEF_HELPER_2(evfsctsi, i64, env, i64)
|
|
|
|
DEF_HELPER_2(evfsctui, i64, env, i64)
|
|
|
|
DEF_HELPER_2(evfsctsiz, i64, env, i64)
|
|
|
|
DEF_HELPER_2(evfsctuiz, i64, env, i64)
|
|
|
|
DEF_HELPER_2(evfsctsf, i64, env, i64)
|
|
|
|
DEF_HELPER_2(evfsctuf, i64, env, i64)
|
|
|
|
DEF_HELPER_3(efsadd, i32, env, i32, i32)
|
|
|
|
DEF_HELPER_3(efssub, i32, env, i32, i32)
|
|
|
|
DEF_HELPER_3(efsmul, i32, env, i32, i32)
|
|
|
|
DEF_HELPER_3(efsdiv, i32, env, i32, i32)
|
|
|
|
DEF_HELPER_3(evfsadd, i64, env, i64, i64)
|
|
|
|
DEF_HELPER_3(evfssub, i64, env, i64, i64)
|
|
|
|
DEF_HELPER_3(evfsmul, i64, env, i64, i64)
|
|
|
|
DEF_HELPER_3(evfsdiv, i64, env, i64, i64)
|
|
|
|
DEF_HELPER_3(efststlt, i32, env, i32, i32)
|
|
|
|
DEF_HELPER_3(efststgt, i32, env, i32, i32)
|
|
|
|
DEF_HELPER_3(efststeq, i32, env, i32, i32)
|
|
|
|
DEF_HELPER_3(efscmplt, i32, env, i32, i32)
|
|
|
|
DEF_HELPER_3(efscmpgt, i32, env, i32, i32)
|
|
|
|
DEF_HELPER_3(efscmpeq, i32, env, i32, i32)
|
|
|
|
DEF_HELPER_3(evfststlt, i32, env, i64, i64)
|
|
|
|
DEF_HELPER_3(evfststgt, i32, env, i64, i64)
|
|
|
|
DEF_HELPER_3(evfststeq, i32, env, i64, i64)
|
|
|
|
DEF_HELPER_3(evfscmplt, i32, env, i64, i64)
|
|
|
|
DEF_HELPER_3(evfscmpgt, i32, env, i64, i64)
|
|
|
|
DEF_HELPER_3(evfscmpeq, i32, env, i64, i64)
|
|
|
|
DEF_HELPER_2(efdcfsi, i64, env, i32)
|
|
|
|
DEF_HELPER_2(efdcfsid, i64, env, i64)
|
|
|
|
DEF_HELPER_2(efdcfui, i64, env, i32)
|
|
|
|
DEF_HELPER_2(efdcfuid, i64, env, i64)
|
|
|
|
DEF_HELPER_2(efdctsi, i32, env, i64)
|
|
|
|
DEF_HELPER_2(efdctui, i32, env, i64)
|
|
|
|
DEF_HELPER_2(efdctsiz, i32, env, i64)
|
|
|
|
DEF_HELPER_2(efdctsidz, i64, env, i64)
|
|
|
|
DEF_HELPER_2(efdctuiz, i32, env, i64)
|
|
|
|
DEF_HELPER_2(efdctuidz, i64, env, i64)
|
|
|
|
DEF_HELPER_2(efdcfsf, i64, env, i32)
|
|
|
|
DEF_HELPER_2(efdcfuf, i64, env, i32)
|
|
|
|
DEF_HELPER_2(efdctsf, i32, env, i64)
|
|
|
|
DEF_HELPER_2(efdctuf, i32, env, i64)
|
|
|
|
DEF_HELPER_2(efscfd, i32, env, i64)
|
|
|
|
DEF_HELPER_2(efdcfs, i64, env, i32)
|
|
|
|
DEF_HELPER_3(efdadd, i64, env, i64, i64)
|
|
|
|
DEF_HELPER_3(efdsub, i64, env, i64, i64)
|
|
|
|
DEF_HELPER_3(efdmul, i64, env, i64, i64)
|
|
|
|
DEF_HELPER_3(efddiv, i64, env, i64, i64)
|
|
|
|
DEF_HELPER_3(efdtstlt, i32, env, i64, i64)
|
|
|
|
DEF_HELPER_3(efdtstgt, i32, env, i64, i64)
|
|
|
|
DEF_HELPER_3(efdtsteq, i32, env, i64, i64)
|
|
|
|
DEF_HELPER_3(efdcmplt, i32, env, i64, i64)
|
|
|
|
DEF_HELPER_3(efdcmpgt, i32, env, i64, i64)
|
|
|
|
DEF_HELPER_3(efdcmpeq, i32, env, i64, i64)
|
2008-11-23 13:54:04 +03:00
|
|
|
|
2008-11-30 19:22:56 +03:00
|
|
|
#if !defined(CONFIG_USER_ONLY)
|
2012-05-30 08:23:31 +04:00
|
|
|
DEF_HELPER_2(4xx_tlbre_hi, tl, env, tl)
|
|
|
|
DEF_HELPER_2(4xx_tlbre_lo, tl, env, tl)
|
|
|
|
DEF_HELPER_3(4xx_tlbwe_hi, void, env, tl, tl)
|
|
|
|
DEF_HELPER_3(4xx_tlbwe_lo, void, env, tl, tl)
|
|
|
|
DEF_HELPER_2(4xx_tlbsx, tl, env, tl)
|
|
|
|
DEF_HELPER_3(440_tlbre, tl, env, i32, tl)
|
|
|
|
DEF_HELPER_4(440_tlbwe, void, env, i32, tl, tl)
|
|
|
|
DEF_HELPER_2(440_tlbsx, tl, env, tl)
|
|
|
|
DEF_HELPER_1(booke206_tlbre, void, env)
|
|
|
|
DEF_HELPER_1(booke206_tlbwe, void, env)
|
|
|
|
DEF_HELPER_2(booke206_tlbsx, void, env, tl)
|
|
|
|
DEF_HELPER_2(booke206_tlbivax, void, env, tl)
|
|
|
|
DEF_HELPER_2(booke206_tlbilx0, void, env, tl)
|
|
|
|
DEF_HELPER_2(booke206_tlbilx1, void, env, tl)
|
|
|
|
DEF_HELPER_2(booke206_tlbilx3, void, env, tl)
|
2014-05-28 21:25:36 +04:00
|
|
|
DEF_HELPER_2(booke206_tlbflush, void, env, tl)
|
2012-05-30 08:23:31 +04:00
|
|
|
DEF_HELPER_3(booke_setpid, void, env, i32, tl)
|
2018-09-21 09:59:07 +03:00
|
|
|
DEF_HELPER_2(booke_set_eplc, void, env, tl)
|
|
|
|
DEF_HELPER_2(booke_set_epsc, void, env, tl)
|
2012-05-30 08:23:31 +04:00
|
|
|
DEF_HELPER_2(6xx_tlbd, void, env, tl)
|
|
|
|
DEF_HELPER_2(6xx_tlbi, void, env, tl)
|
|
|
|
DEF_HELPER_2(74xx_tlbd, void, env, tl)
|
|
|
|
DEF_HELPER_2(74xx_tlbi, void, env, tl)
|
2012-10-09 23:53:09 +04:00
|
|
|
DEF_HELPER_FLAGS_1(tlbia, TCG_CALL_NO_RWG, void, env)
|
|
|
|
DEF_HELPER_FLAGS_2(tlbie, TCG_CALL_NO_RWG, void, env, tl)
|
2016-01-28 02:31:04 +03:00
|
|
|
DEF_HELPER_FLAGS_2(tlbiva, TCG_CALL_NO_RWG, void, env, tl)
|
2008-12-07 00:46:17 +03:00
|
|
|
#if defined(TARGET_PPC64)
|
2012-10-09 23:53:09 +04:00
|
|
|
DEF_HELPER_FLAGS_3(store_slb, TCG_CALL_NO_RWG, void, env, tl, tl)
|
2012-05-30 08:23:31 +04:00
|
|
|
DEF_HELPER_2(load_slb_esid, tl, env, tl)
|
|
|
|
DEF_HELPER_2(load_slb_vsid, tl, env, tl)
|
2016-06-07 05:50:27 +03:00
|
|
|
DEF_HELPER_2(find_slb_vsid, tl, env, tl)
|
2012-10-09 23:53:09 +04:00
|
|
|
DEF_HELPER_FLAGS_1(slbia, TCG_CALL_NO_RWG, void, env)
|
|
|
|
DEF_HELPER_FLAGS_2(slbie, TCG_CALL_NO_RWG, void, env, tl)
|
2017-02-09 13:34:01 +03:00
|
|
|
DEF_HELPER_FLAGS_2(slbieg, TCG_CALL_NO_RWG, void, env, tl)
|
2008-12-07 00:46:17 +03:00
|
|
|
#endif
|
2013-09-15 02:38:30 +04:00
|
|
|
DEF_HELPER_FLAGS_2(load_sr, TCG_CALL_NO_RWG, tl, env, tl)
|
2012-10-09 23:53:09 +04:00
|
|
|
DEF_HELPER_FLAGS_3(store_sr, TCG_CALL_NO_RWG, void, env, tl, tl)
|
2008-11-30 19:23:35 +03:00
|
|
|
|
2012-10-09 23:53:09 +04:00
|
|
|
DEF_HELPER_FLAGS_1(602_mfrom, TCG_CALL_NO_RWG_SE, tl, tl)
|
2012-01-31 06:19:23 +04:00
|
|
|
DEF_HELPER_1(msgsnd, void, tl)
|
2012-05-30 08:23:23 +04:00
|
|
|
DEF_HELPER_2(msgclr, void, env, tl)
|
2018-01-18 17:54:03 +03:00
|
|
|
DEF_HELPER_1(book3s_msgsnd, void, tl)
|
|
|
|
DEF_HELPER_2(book3s_msgclr, void, env, tl)
|
2008-11-30 19:22:56 +03:00
|
|
|
#endif
|
|
|
|
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_4(dlmzb, tl, env, tl, tl, i32)
|
2012-10-09 23:53:09 +04:00
|
|
|
DEF_HELPER_FLAGS_2(clcs, TCG_CALL_NO_RWG_SE, tl, env, i32)
|
2008-12-06 15:19:14 +03:00
|
|
|
#if !defined(CONFIG_USER_ONLY)
|
2012-05-30 08:23:31 +04:00
|
|
|
DEF_HELPER_2(rac, tl, env, tl)
|
2008-12-06 15:19:14 +03:00
|
|
|
#endif
|
2012-05-30 08:23:29 +04:00
|
|
|
DEF_HELPER_3(div, tl, env, tl, tl)
|
|
|
|
DEF_HELPER_3(divo, tl, env, tl, tl)
|
|
|
|
DEF_HELPER_3(divs, tl, env, tl, tl)
|
|
|
|
DEF_HELPER_3(divso, tl, env, tl, tl)
|
2008-11-30 20:26:29 +03:00
|
|
|
|
2013-09-15 02:38:30 +04:00
|
|
|
DEF_HELPER_2(load_dcr, tl, env, tl)
|
2012-05-30 08:23:36 +04:00
|
|
|
DEF_HELPER_3(store_dcr, void, env, tl, tl)
|
2008-12-07 16:40:29 +03:00
|
|
|
|
2012-05-30 08:23:38 +04:00
|
|
|
DEF_HELPER_2(load_dump_spr, void, env, i32)
|
|
|
|
DEF_HELPER_2(store_dump_spr, void, env, i32)
|
2014-06-04 16:50:56 +04:00
|
|
|
DEF_HELPER_4(fscr_facility_check, void, env, i32, i32, i32)
|
2014-06-04 16:50:59 +04:00
|
|
|
DEF_HELPER_4(msr_facility_check, void, env, i32, i32, i32)
|
2016-07-31 08:13:10 +03:00
|
|
|
DEF_HELPER_FLAGS_1(load_tbl, TCG_CALL_NO_RWG, tl, env)
|
|
|
|
DEF_HELPER_FLAGS_1(load_tbu, TCG_CALL_NO_RWG, tl, env)
|
|
|
|
DEF_HELPER_FLAGS_1(load_atbl, TCG_CALL_NO_RWG, tl, env)
|
|
|
|
DEF_HELPER_FLAGS_1(load_atbu, TCG_CALL_NO_RWG, tl, env)
|
|
|
|
DEF_HELPER_FLAGS_1(load_601_rtcl, TCG_CALL_NO_RWG, tl, env)
|
|
|
|
DEF_HELPER_FLAGS_1(load_601_rtcu, TCG_CALL_NO_RWG, tl, env)
|
2008-12-07 16:40:29 +03:00
|
|
|
#if !defined(CONFIG_USER_ONLY)
|
|
|
|
#if defined(TARGET_PPC64)
|
2016-07-31 08:13:10 +03:00
|
|
|
DEF_HELPER_FLAGS_1(load_purr, TCG_CALL_NO_RWG, tl, env)
|
2018-04-24 14:30:42 +03:00
|
|
|
DEF_HELPER_2(store_ptcr, void, env, tl)
|
2008-12-07 16:40:29 +03:00
|
|
|
#endif
|
2012-05-30 08:23:38 +04:00
|
|
|
DEF_HELPER_2(store_sdr1, void, env, tl)
|
2017-04-13 09:02:36 +03:00
|
|
|
DEF_HELPER_2(store_pidr, void, env, tl)
|
2019-02-15 20:00:26 +03:00
|
|
|
DEF_HELPER_2(store_lpidr, void, env, tl)
|
2016-07-31 08:13:10 +03:00
|
|
|
DEF_HELPER_FLAGS_2(store_tbl, TCG_CALL_NO_RWG, void, env, tl)
|
|
|
|
DEF_HELPER_FLAGS_2(store_tbu, TCG_CALL_NO_RWG, void, env, tl)
|
|
|
|
DEF_HELPER_FLAGS_2(store_atbl, TCG_CALL_NO_RWG, void, env, tl)
|
|
|
|
DEF_HELPER_FLAGS_2(store_atbu, TCG_CALL_NO_RWG, void, env, tl)
|
|
|
|
DEF_HELPER_FLAGS_2(store_601_rtcl, TCG_CALL_NO_RWG, void, env, tl)
|
|
|
|
DEF_HELPER_FLAGS_2(store_601_rtcu, TCG_CALL_NO_RWG, void, env, tl)
|
|
|
|
DEF_HELPER_FLAGS_1(load_decr, TCG_CALL_NO_RWG, tl, env)
|
|
|
|
DEF_HELPER_FLAGS_2(store_decr, TCG_CALL_NO_RWG, void, env, tl)
|
|
|
|
DEF_HELPER_FLAGS_1(load_hdecr, TCG_CALL_NO_RWG, tl, env)
|
|
|
|
DEF_HELPER_FLAGS_2(store_hdecr, TCG_CALL_NO_RWG, void, env, tl)
|
2012-05-30 08:23:38 +04:00
|
|
|
DEF_HELPER_2(store_hid0_601, void, env, tl)
|
|
|
|
DEF_HELPER_3(store_403_pbr, void, env, i32, tl)
|
2016-07-31 08:13:10 +03:00
|
|
|
DEF_HELPER_FLAGS_1(load_40x_pit, TCG_CALL_NO_RWG, tl, env)
|
|
|
|
DEF_HELPER_FLAGS_2(store_40x_pit, TCG_CALL_NO_RWG, void, env, tl)
|
2012-05-30 08:23:38 +04:00
|
|
|
DEF_HELPER_2(store_40x_dbcr0, void, env, tl)
|
|
|
|
DEF_HELPER_2(store_40x_sler, void, env, tl)
|
2016-07-31 08:13:10 +03:00
|
|
|
DEF_HELPER_FLAGS_2(store_booke_tcr, TCG_CALL_NO_RWG, void, env, tl)
|
|
|
|
DEF_HELPER_FLAGS_2(store_booke_tsr, TCG_CALL_NO_RWG, void, env, tl)
|
2012-05-30 08:23:31 +04:00
|
|
|
DEF_HELPER_3(store_ibatl, void, env, i32, tl)
|
|
|
|
DEF_HELPER_3(store_ibatu, void, env, i32, tl)
|
|
|
|
DEF_HELPER_3(store_dbatl, void, env, i32, tl)
|
|
|
|
DEF_HELPER_3(store_dbatu, void, env, i32, tl)
|
|
|
|
DEF_HELPER_3(store_601_batl, void, env, i32, tl)
|
|
|
|
DEF_HELPER_3(store_601_batu, void, env, i32, tl)
|
2008-12-07 16:40:29 +03:00
|
|
|
#endif
|
2014-04-22 00:54:56 +04:00
|
|
|
|
|
|
|
#define dh_alias_fprp ptr
|
|
|
|
#define dh_ctype_fprp uint64_t *
|
|
|
|
#define dh_is_signed_fprp dh_is_signed_ptr
|
2014-04-22 00:55:01 +04:00
|
|
|
|
|
|
|
DEF_HELPER_4(dadd, void, env, fprp, fprp, fprp)
|
|
|
|
DEF_HELPER_4(daddq, void, env, fprp, fprp, fprp)
|
2014-04-22 00:55:02 +04:00
|
|
|
DEF_HELPER_4(dsub, void, env, fprp, fprp, fprp)
|
|
|
|
DEF_HELPER_4(dsubq, void, env, fprp, fprp, fprp)
|
2014-04-22 00:55:03 +04:00
|
|
|
DEF_HELPER_4(dmul, void, env, fprp, fprp, fprp)
|
|
|
|
DEF_HELPER_4(dmulq, void, env, fprp, fprp, fprp)
|
2014-04-22 00:55:04 +04:00
|
|
|
DEF_HELPER_4(ddiv, void, env, fprp, fprp, fprp)
|
|
|
|
DEF_HELPER_4(ddivq, void, env, fprp, fprp, fprp)
|
2014-04-22 00:55:05 +04:00
|
|
|
DEF_HELPER_3(dcmpo, i32, env, fprp, fprp)
|
|
|
|
DEF_HELPER_3(dcmpoq, i32, env, fprp, fprp)
|
|
|
|
DEF_HELPER_3(dcmpu, i32, env, fprp, fprp)
|
|
|
|
DEF_HELPER_3(dcmpuq, i32, env, fprp, fprp)
|
2014-04-22 00:55:06 +04:00
|
|
|
DEF_HELPER_3(dtstdc, i32, env, fprp, i32)
|
|
|
|
DEF_HELPER_3(dtstdcq, i32, env, fprp, i32)
|
2014-04-22 00:55:07 +04:00
|
|
|
DEF_HELPER_3(dtstdg, i32, env, fprp, i32)
|
|
|
|
DEF_HELPER_3(dtstdgq, i32, env, fprp, i32)
|
2014-04-22 00:55:08 +04:00
|
|
|
DEF_HELPER_3(dtstex, i32, env, fprp, fprp)
|
|
|
|
DEF_HELPER_3(dtstexq, i32, env, fprp, fprp)
|
2014-04-22 00:55:09 +04:00
|
|
|
DEF_HELPER_3(dtstsf, i32, env, fprp, fprp)
|
|
|
|
DEF_HELPER_3(dtstsfq, i32, env, fprp, fprp)
|
2016-07-28 21:14:13 +03:00
|
|
|
DEF_HELPER_3(dtstsfi, i32, env, i32, fprp)
|
|
|
|
DEF_HELPER_3(dtstsfiq, i32, env, i32, fprp)
|
2014-04-22 00:55:10 +04:00
|
|
|
DEF_HELPER_5(dquai, void, env, fprp, fprp, i32, i32)
|
|
|
|
DEF_HELPER_5(dquaiq, void, env, fprp, fprp, i32, i32)
|
|
|
|
DEF_HELPER_5(dqua, void, env, fprp, fprp, fprp, i32)
|
|
|
|
DEF_HELPER_5(dquaq, void, env, fprp, fprp, fprp, i32)
|
2014-04-22 00:55:11 +04:00
|
|
|
DEF_HELPER_5(drrnd, void, env, fprp, fprp, fprp, i32)
|
|
|
|
DEF_HELPER_5(drrndq, void, env, fprp, fprp, fprp, i32)
|
2014-04-22 00:55:12 +04:00
|
|
|
DEF_HELPER_5(drintx, void, env, fprp, fprp, i32, i32)
|
|
|
|
DEF_HELPER_5(drintxq, void, env, fprp, fprp, i32, i32)
|
|
|
|
DEF_HELPER_5(drintn, void, env, fprp, fprp, i32, i32)
|
|
|
|
DEF_HELPER_5(drintnq, void, env, fprp, fprp, i32, i32)
|
2014-04-22 00:55:13 +04:00
|
|
|
DEF_HELPER_3(dctdp, void, env, fprp, fprp)
|
|
|
|
DEF_HELPER_3(dctqpq, void, env, fprp, fprp)
|
2014-04-22 00:55:14 +04:00
|
|
|
DEF_HELPER_3(drsp, void, env, fprp, fprp)
|
|
|
|
DEF_HELPER_3(drdpq, void, env, fprp, fprp)
|
2014-04-22 00:55:15 +04:00
|
|
|
DEF_HELPER_3(dcffix, void, env, fprp, fprp)
|
|
|
|
DEF_HELPER_3(dcffixq, void, env, fprp, fprp)
|
2014-04-22 00:55:16 +04:00
|
|
|
DEF_HELPER_3(dctfix, void, env, fprp, fprp)
|
|
|
|
DEF_HELPER_3(dctfixq, void, env, fprp, fprp)
|
2014-04-22 00:55:17 +04:00
|
|
|
DEF_HELPER_4(ddedpd, void, env, fprp, fprp, i32)
|
|
|
|
DEF_HELPER_4(ddedpdq, void, env, fprp, fprp, i32)
|
2014-04-22 00:55:18 +04:00
|
|
|
DEF_HELPER_4(denbcd, void, env, fprp, fprp, i32)
|
|
|
|
DEF_HELPER_4(denbcdq, void, env, fprp, fprp, i32)
|
2014-04-22 00:55:19 +04:00
|
|
|
DEF_HELPER_3(dxex, void, env, fprp, fprp)
|
|
|
|
DEF_HELPER_3(dxexq, void, env, fprp, fprp)
|
2014-04-22 00:55:20 +04:00
|
|
|
DEF_HELPER_4(diex, void, env, fprp, fprp, fprp)
|
|
|
|
DEF_HELPER_4(diexq, void, env, fprp, fprp, fprp)
|
2014-04-22 00:55:21 +04:00
|
|
|
DEF_HELPER_4(dscri, void, env, fprp, fprp, i32)
|
|
|
|
DEF_HELPER_4(dscriq, void, env, fprp, fprp, i32)
|
|
|
|
DEF_HELPER_4(dscli, void, env, fprp, fprp, i32)
|
|
|
|
DEF_HELPER_4(dscliq, void, env, fprp, fprp, i32)
|
2014-12-18 19:34:34 +03:00
|
|
|
|
|
|
|
DEF_HELPER_1(tbegin, void, env)
|
2016-07-31 08:13:12 +03:00
|
|
|
DEF_HELPER_FLAGS_1(fixup_thrm, TCG_CALL_NO_RWG, void, env)
|
2018-06-26 19:19:10 +03:00
|
|
|
|
2018-08-16 03:35:14 +03:00
|
|
|
#ifdef TARGET_PPC64
|
2018-06-26 19:19:10 +03:00
|
|
|
DEF_HELPER_FLAGS_3(lq_le_parallel, TCG_CALL_NO_WG, i64, env, tl, i32)
|
|
|
|
DEF_HELPER_FLAGS_3(lq_be_parallel, TCG_CALL_NO_WG, i64, env, tl, i32)
|
2018-06-26 19:19:11 +03:00
|
|
|
DEF_HELPER_FLAGS_5(stq_le_parallel, TCG_CALL_NO_WG,
|
|
|
|
void, env, tl, i64, i64, i32)
|
|
|
|
DEF_HELPER_FLAGS_5(stq_be_parallel, TCG_CALL_NO_WG,
|
|
|
|
void, env, tl, i64, i64, i32)
|
2018-06-26 19:19:12 +03:00
|
|
|
DEF_HELPER_5(stqcx_le_parallel, i32, env, tl, i64, i64, i32)
|
|
|
|
DEF_HELPER_5(stqcx_be_parallel, i32, env, tl, i64, i64, i32)
|
2018-06-26 19:19:10 +03:00
|
|
|
#endif
|