Fix PPC symbol clash

This commit is contained in:
mio
2025-04-13 01:13:39 +08:00
parent bd5a8c5146
commit 7795248730
7 changed files with 794 additions and 12 deletions

View File

@@ -83,9 +83,9 @@ fn build_with_cmake() {
};
// GNU-specific linker flags (but not on macOS)
if compiler.is_like_gnu() && env::consts::OS != "macos" {
println!("cargo:rustc-link-arg=-Wl,-allow-multiple-definition");
}
// if compiler.is_like_gnu() && env::consts::OS != "macos" {
// println!("cargo:rustc-link-arg=-Wl,-allow-multiple-definition");
// }
// Configure build generator
if has_ninja {

View File

@@ -1729,4 +1729,267 @@
#define gen_helper_store_booke_tcr gen_helper_store_booke_tcr_ppc
#define store_booke_tcr store_booke_tcr_ppc
#define ppc_hash32_get_phys_page_debug ppc_hash32_get_phys_page_debug_ppc
#define helper_fadd helper_fadd_ppc
#define helper_todouble helper_todouble_ppc
#define helper_tosingle helper_tosingle_ppc
#define helper_compute_fprf_float16 helper_compute_fprf_float16_ppc
#define helper_compute_fprf_float32 helper_compute_fprf_float32_ppc
#define helper_compute_fprf_float64 helper_compute_fprf_float64_ppc
#define helper_compute_fprf_float128 helper_compute_fprf_float128_ppc
#define helper_fpscr_clrbit helper_fpscr_clrbit_ppc
#define helper_fpscr_setbit helper_fpscr_setbit_ppc
#define helper_store_fpscr helper_store_fpscr_ppc
#define helper_float_check_status helper_float_check_status_ppc
#define helper_reset_fpstatus helper_reset_fpstatus_ppc
#define helper_fsub helper_fsub_ppc
#define helper_fmul helper_fmul_ppc
#define helper_fdiv helper_fdiv_ppc
#define helper_fctiw helper_fctiw_ppc
#define helper_fctiwz helper_fctiwz_ppc
#define helper_fctiwu helper_fctiwu_ppc
#define helper_fctiwuz helper_fctiwuz_ppc
#define helper_fctid helper_fctid_ppc
#define helper_fctidz helper_fctidz_ppc
#define helper_fctidu helper_fctidu_ppc
#define helper_fctiduz helper_fctiduz_ppc
#define helper_fcfid helper_fcfid_ppc
#define helper_fcfids helper_fcfids_ppc
#define helper_fcfidu helper_fcfidu_ppc
#define helper_fcfidus helper_fcfidus_ppc
#define helper_frin helper_frin_ppc
#define helper_friz helper_friz_ppc
#define helper_frip helper_frip_ppc
#define helper_frim helper_frim_ppc
#define helper_fmadd helper_fmadd_ppc
#define helper_fnmadd helper_fnmadd_ppc
#define helper_fmsub helper_fmsub_ppc
#define helper_fnmsub helper_fnmsub_ppc
#define helper_frsp helper_frsp_ppc
#define helper_fsqrt helper_fsqrt_ppc
#define helper_fre helper_fre_ppc
#define helper_fres helper_fres_ppc
#define helper_frsqrte helper_frsqrte_ppc
#define helper_fsel helper_fsel_ppc
#define helper_ftdiv helper_ftdiv_ppc
#define helper_ftsqrt helper_ftsqrt_ppc
#define helper_fcmpu helper_fcmpu_ppc
#define helper_fcmpo helper_fcmpo_ppc
#define helper_efscfsi helper_efscfsi_ppc
#define helper_efscfui helper_efscfui_ppc
#define helper_efscfuf helper_efscfuf_ppc
#define helper_efscfsf helper_efscfsf_ppc
#define helper_efsctsi helper_efsctsi_ppc
#define helper_efsctui helper_efsctui_ppc
#define helper_efsctsiz helper_efsctsiz_ppc
#define helper_efsctuiz helper_efsctuiz_ppc
#define helper_efsctsf helper_efsctsf_ppc
#define helper_efsctuf helper_efsctuf_ppc
#define helper_evfscfsi helper_evfscfsi_ppc
#define helper_evfscfui helper_evfscfui_ppc
#define helper_evfscfuf helper_evfscfuf_ppc
#define helper_evfscfsf helper_evfscfsf_ppc
#define helper_evfsctsi helper_evfsctsi_ppc
#define helper_evfsctui helper_evfsctui_ppc
#define helper_evfsctsiz helper_evfsctsiz_ppc
#define helper_evfsctuiz helper_evfsctuiz_ppc
#define helper_evfsctsf helper_evfsctsf_ppc
#define helper_evfsctuf helper_evfsctuf_ppc
#define helper_efsadd helper_efsadd_ppc
#define helper_efssub helper_efssub_ppc
#define helper_efsmul helper_efsmul_ppc
#define helper_efsdiv helper_efsdiv_ppc
#define helper_evfsadd helper_evfsadd_ppc
#define helper_evfssub helper_evfssub_ppc
#define helper_evfsmul helper_evfsmul_ppc
#define helper_evfsdiv helper_evfsdiv_ppc
#define helper_efststlt helper_efststlt_ppc
#define helper_efststgt helper_efststgt_ppc
#define helper_efststeq helper_efststeq_ppc
#define helper_efscmplt helper_efscmplt_ppc
#define helper_efscmpgt helper_efscmpgt_ppc
#define helper_efscmpeq helper_efscmpeq_ppc
#define helper_evfststlt helper_evfststlt_ppc
#define helper_evfststgt helper_evfststgt_ppc
#define helper_evfststeq helper_evfststeq_ppc
#define helper_evfscmplt helper_evfscmplt_ppc
#define helper_evfscmpgt helper_evfscmpgt_ppc
#define helper_evfscmpeq helper_evfscmpeq_ppc
#define helper_efdcfsi helper_efdcfsi_ppc
#define helper_efdcfsid helper_efdcfsid_ppc
#define helper_efdcfui helper_efdcfui_ppc
#define helper_efdcfuid helper_efdcfuid_ppc
#define helper_efdctsi helper_efdctsi_ppc
#define helper_efdctui helper_efdctui_ppc
#define helper_efdctsiz helper_efdctsiz_ppc
#define helper_efdctsidz helper_efdctsidz_ppc
#define helper_efdctuiz helper_efdctuiz_ppc
#define helper_efdctuidz helper_efdctuidz_ppc
#define helper_efdcfsf helper_efdcfsf_ppc
#define helper_efdcfuf helper_efdcfuf_ppc
#define helper_efdctsf helper_efdctsf_ppc
#define helper_efdctuf helper_efdctuf_ppc
#define helper_efscfd helper_efscfd_ppc
#define helper_efdcfs helper_efdcfs_ppc
#define helper_efdadd helper_efdadd_ppc
#define helper_efdsub helper_efdsub_ppc
#define helper_efdmul helper_efdmul_ppc
#define helper_efddiv helper_efddiv_ppc
#define helper_efdtstlt helper_efdtstlt_ppc
#define helper_efdtstgt helper_efdtstgt_ppc
#define helper_efdtsteq helper_efdtsteq_ppc
#define helper_efdcmplt helper_efdcmplt_ppc
#define helper_efdcmpgt helper_efdcmpgt_ppc
#define helper_efdcmpeq helper_efdcmpeq_ppc
#define helper_xsadddp helper_xsadddp_ppc
#define helper_xsaddsp helper_xsaddsp_ppc
#define helper_xvadddp helper_xvadddp_ppc
#define helper_xvaddsp helper_xvaddsp_ppc
#define helper_xssubdp helper_xssubdp_ppc
#define helper_xssubsp helper_xssubsp_ppc
#define helper_xvsubdp helper_xvsubdp_ppc
#define helper_xvsubsp helper_xvsubsp_ppc
#define helper_xsaddqp helper_xsaddqp_ppc
#define helper_xsmuldp helper_xsmuldp_ppc
#define helper_xsmulsp helper_xsmulsp_ppc
#define helper_xvmuldp helper_xvmuldp_ppc
#define helper_xvmulsp helper_xvmulsp_ppc
#define helper_xsmulqp helper_xsmulqp_ppc
#define helper_xsdivdp helper_xsdivdp_ppc
#define helper_xsdivsp helper_xsdivsp_ppc
#define helper_xvdivdp helper_xvdivdp_ppc
#define helper_xvdivsp helper_xvdivsp_ppc
#define helper_xsdivqp helper_xsdivqp_ppc
#define helper_xsredp helper_xsredp_ppc
#define helper_xsresp helper_xsresp_ppc
#define helper_xvredp helper_xvredp_ppc
#define helper_xvresp helper_xvresp_ppc
#define helper_xssqrtdp helper_xssqrtdp_ppc
#define helper_xssqrtsp helper_xssqrtsp_ppc
#define helper_xvsqrtdp helper_xvsqrtdp_ppc
#define helper_xvsqrtsp helper_xvsqrtsp_ppc
#define helper_xsrsqrtedp helper_xsrsqrtedp_ppc
#define helper_xsrsqrtesp helper_xsrsqrtesp_ppc
#define helper_xvrsqrtedp helper_xvrsqrtedp_ppc
#define helper_xvrsqrtesp helper_xvrsqrtesp_ppc
#define helper_xstdivdp helper_xstdivdp_ppc
#define helper_xvtdivdp helper_xvtdivdp_ppc
#define helper_xvtdivsp helper_xvtdivsp_ppc
#define helper_xstsqrtdp helper_xstsqrtdp_ppc
#define helper_xvtsqrtdp helper_xvtsqrtdp_ppc
#define helper_xvtsqrtsp helper_xvtsqrtsp_ppc
#define helper_xsmadddp helper_xsmadddp_ppc
#define helper_xsmsubdp helper_xsmsubdp_ppc
#define helper_xsnmadddp helper_xsnmadddp_ppc
#define helper_xsnmsubdp helper_xsnmsubdp_ppc
#define helper_xsmaddsp helper_xsmaddsp_ppc
#define helper_xsmsubsp helper_xsmsubsp_ppc
#define helper_xsnmaddsp helper_xsnmaddsp_ppc
#define helper_xsnmsubsp helper_xsnmsubsp_ppc
#define helper_xvmadddp helper_xvmadddp_ppc
#define helper_xvmsubdp helper_xvmsubdp_ppc
#define helper_xvnmadddp helper_xvnmadddp_ppc
#define helper_xvnmsubdp helper_xvnmsubdp_ppc
#define helper_xvmaddsp helper_xvmaddsp_ppc
#define helper_xvmsubsp helper_xvmsubsp_ppc
#define helper_xvnmaddsp helper_xvnmaddsp_ppc
#define helper_xvnmsubsp helper_xvnmsubsp_ppc
#define helper_xscmpeqdp helper_xscmpeqdp_ppc
#define helper_xscmpgedp helper_xscmpgedp_ppc
#define helper_xscmpgtdp helper_xscmpgtdp_ppc
#define helper_xscmpnedp helper_xscmpnedp_ppc
#define helper_xscmpexpdp helper_xscmpexpdp_ppc
#define helper_xscmpexpqp helper_xscmpexpqp_ppc
#define helper_xscmpodp helper_xscmpodp_ppc
#define helper_xscmpudp helper_xscmpudp_ppc
#define helper_xscmpoqp helper_xscmpoqp_ppc
#define helper_xscmpuqp helper_xscmpuqp_ppc
#define helper_xsmaxdp helper_xsmaxdp_ppc
#define helper_xvmaxdp helper_xvmaxdp_ppc
#define helper_xvmaxsp helper_xvmaxsp_ppc
#define helper_xsmindp helper_xsmindp_ppc
#define helper_xvmindp helper_xvmindp_ppc
#define helper_xvminsp helper_xvminsp_ppc
#define helper_xsmaxcdp helper_xsmaxcdp_ppc
#define helper_xsmincdp helper_xsmincdp_ppc
#define helper_xsmaxjdp helper_xsmaxjdp_ppc
#define helper_xsminjdp helper_xsminjdp_ppc
#define helper_xvcmpeqdp helper_xvcmpeqdp_ppc
#define helper_xvcmpgedp helper_xvcmpgedp_ppc
#define helper_xvcmpgtdp helper_xvcmpgtdp_ppc
#define helper_xvcmpnedp helper_xvcmpnedp_ppc
#define helper_xvcmpeqsp helper_xvcmpeqsp_ppc
#define helper_xvcmpgesp helper_xvcmpgesp_ppc
#define helper_xvcmpgtsp helper_xvcmpgtsp_ppc
#define helper_xvcmpnesp helper_xvcmpnesp_ppc
#define helper_xscvdpsp helper_xscvdpsp_ppc
#define helper_xscvspdp helper_xscvspdp_ppc
#define helper_xvcvdpsp helper_xvcvdpsp_ppc
#define helper_xvcvspdp helper_xvcvspdp_ppc
#define helper_xscvdpqp helper_xscvdpqp_ppc
#define helper_xscvdphp helper_xscvdphp_ppc
#define helper_xscvhpdp helper_xscvhpdp_ppc
#define helper_xvcvsphp helper_xvcvsphp_ppc
#define helper_xvcvhpsp helper_xvcvhpsp_ppc
#define helper_xscvqpdp helper_xscvqpdp_ppc
#define helper_xscvdpspn helper_xscvdpspn_ppc
#define helper_xscvspdpn helper_xscvspdpn_ppc
#define helper_xscvdpsxds helper_xscvdpsxds_ppc
#define helper_xscvdpsxws helper_xscvdpsxws_ppc
#define helper_xscvdpuxds helper_xscvdpuxds_ppc
#define helper_xscvdpuxws helper_xscvdpuxws_ppc
#define helper_xvcvdpsxds helper_xvcvdpsxds_ppc
#define helper_xvcvdpsxws helper_xvcvdpsxws_ppc
#define helper_xvcvdpuxds helper_xvcvdpuxds_ppc
#define helper_xvcvdpuxws helper_xvcvdpuxws_ppc
#define helper_xvcvspsxds helper_xvcvspsxds_ppc
#define helper_xvcvspsxws helper_xvcvspsxws_ppc
#define helper_xvcvspuxds helper_xvcvspuxds_ppc
#define helper_xvcvspuxws helper_xvcvspuxws_ppc
#define helper_xscvqpsdz helper_xscvqpsdz_ppc
#define helper_xscvqpswz helper_xscvqpswz_ppc
#define helper_xscvqpudz helper_xscvqpudz_ppc
#define helper_xscvqpuwz helper_xscvqpuwz_ppc
#define helper_xscvsxddp helper_xscvsxddp_ppc
#define helper_xscvuxddp helper_xscvuxddp_ppc
#define helper_xscvsxdsp helper_xscvsxdsp_ppc
#define helper_xscvuxdsp helper_xscvuxdsp_ppc
#define helper_xvcvsxddp helper_xvcvsxddp_ppc
#define helper_xvcvuxddp helper_xvcvuxddp_ppc
#define helper_xvcvsxwdp helper_xvcvsxwdp_ppc
#define helper_xvcvuxwdp helper_xvcvuxwdp_ppc
#define helper_xvcvsxdsp helper_xvcvsxdsp_ppc
#define helper_xvcvuxdsp helper_xvcvuxdsp_ppc
#define helper_xvcvsxwsp helper_xvcvsxwsp_ppc
#define helper_xvcvuxwsp helper_xvcvuxwsp_ppc
#define helper_xscvsdqp helper_xscvsdqp_ppc
#define helper_xscvudqp helper_xscvudqp_ppc
#define helper_xsrdpi helper_xsrdpi_ppc
#define helper_xsrdpic helper_xsrdpic_ppc
#define helper_xsrdpim helper_xsrdpim_ppc
#define helper_xsrdpip helper_xsrdpip_ppc
#define helper_xsrdpiz helper_xsrdpiz_ppc
#define helper_xvrdpi helper_xvrdpi_ppc
#define helper_xvrdpic helper_xvrdpic_ppc
#define helper_xvrdpim helper_xvrdpim_ppc
#define helper_xvrdpip helper_xvrdpip_ppc
#define helper_xvrdpiz helper_xvrdpiz_ppc
#define helper_xvrspi helper_xvrspi_ppc
#define helper_xvrspic helper_xvrspic_ppc
#define helper_xvrspim helper_xvrspim_ppc
#define helper_xvrspip helper_xvrspip_ppc
#define helper_xvrspiz helper_xvrspiz_ppc
#define helper_xsrsp helper_xsrsp_ppc
#define helper_xxperm helper_xxperm_ppc
#define helper_xxpermr helper_xxpermr_ppc
#define helper_xvxsigsp helper_xvxsigsp_ppc
#define helper_xvtstdcdp helper_xvtstdcdp_ppc
#define helper_xvtstdcsp helper_xvtstdcsp_ppc
#define helper_xststdcdp helper_xststdcdp_ppc
#define helper_xststdcqp helper_xststdcqp_ppc
#define helper_xststdcsp helper_xststdcsp_ppc
#define helper_xsrqpi helper_xsrqpi_ppc
#define helper_xsrqpxp helper_xsrqpxp_ppc
#define helper_xssqrtqp helper_xssqrtqp_ppc
#define helper_xssubqp helper_xssubqp_ppc
#define do_store_fpscr do_store_fpscr_ppc
#endif

View File

@@ -1729,4 +1729,267 @@
#define gen_helper_store_booke_tcr gen_helper_store_booke_tcr_ppc64
#define store_booke_tcr store_booke_tcr_ppc64
#define ppc_hash32_get_phys_page_debug ppc_hash32_get_phys_page_debug_ppc64
#define helper_fadd helper_fadd_ppc64
#define helper_todouble helper_todouble_ppc64
#define helper_tosingle helper_tosingle_ppc64
#define helper_compute_fprf_float16 helper_compute_fprf_float16_ppc64
#define helper_compute_fprf_float32 helper_compute_fprf_float32_ppc64
#define helper_compute_fprf_float64 helper_compute_fprf_float64_ppc64
#define helper_compute_fprf_float128 helper_compute_fprf_float128_ppc64
#define helper_fpscr_clrbit helper_fpscr_clrbit_ppc64
#define helper_fpscr_setbit helper_fpscr_setbit_ppc64
#define helper_store_fpscr helper_store_fpscr_ppc64
#define helper_float_check_status helper_float_check_status_ppc64
#define helper_reset_fpstatus helper_reset_fpstatus_ppc64
#define helper_fsub helper_fsub_ppc64
#define helper_fmul helper_fmul_ppc64
#define helper_fdiv helper_fdiv_ppc64
#define helper_fctiw helper_fctiw_ppc64
#define helper_fctiwz helper_fctiwz_ppc64
#define helper_fctiwu helper_fctiwu_ppc64
#define helper_fctiwuz helper_fctiwuz_ppc64
#define helper_fctid helper_fctid_ppc64
#define helper_fctidz helper_fctidz_ppc64
#define helper_fctidu helper_fctidu_ppc64
#define helper_fctiduz helper_fctiduz_ppc64
#define helper_fcfid helper_fcfid_ppc64
#define helper_fcfids helper_fcfids_ppc64
#define helper_fcfidu helper_fcfidu_ppc64
#define helper_fcfidus helper_fcfidus_ppc64
#define helper_frin helper_frin_ppc64
#define helper_friz helper_friz_ppc64
#define helper_frip helper_frip_ppc64
#define helper_frim helper_frim_ppc64
#define helper_fmadd helper_fmadd_ppc64
#define helper_fnmadd helper_fnmadd_ppc64
#define helper_fmsub helper_fmsub_ppc64
#define helper_fnmsub helper_fnmsub_ppc64
#define helper_frsp helper_frsp_ppc64
#define helper_fsqrt helper_fsqrt_ppc64
#define helper_fre helper_fre_ppc64
#define helper_fres helper_fres_ppc64
#define helper_frsqrte helper_frsqrte_ppc64
#define helper_fsel helper_fsel_ppc64
#define helper_ftdiv helper_ftdiv_ppc64
#define helper_ftsqrt helper_ftsqrt_ppc64
#define helper_fcmpu helper_fcmpu_ppc64
#define helper_fcmpo helper_fcmpo_ppc64
#define helper_efscfsi helper_efscfsi_ppc64
#define helper_efscfui helper_efscfui_ppc64
#define helper_efscfuf helper_efscfuf_ppc64
#define helper_efscfsf helper_efscfsf_ppc64
#define helper_efsctsi helper_efsctsi_ppc64
#define helper_efsctui helper_efsctui_ppc64
#define helper_efsctsiz helper_efsctsiz_ppc64
#define helper_efsctuiz helper_efsctuiz_ppc64
#define helper_efsctsf helper_efsctsf_ppc64
#define helper_efsctuf helper_efsctuf_ppc64
#define helper_evfscfsi helper_evfscfsi_ppc64
#define helper_evfscfui helper_evfscfui_ppc64
#define helper_evfscfuf helper_evfscfuf_ppc64
#define helper_evfscfsf helper_evfscfsf_ppc64
#define helper_evfsctsi helper_evfsctsi_ppc64
#define helper_evfsctui helper_evfsctui_ppc64
#define helper_evfsctsiz helper_evfsctsiz_ppc64
#define helper_evfsctuiz helper_evfsctuiz_ppc64
#define helper_evfsctsf helper_evfsctsf_ppc64
#define helper_evfsctuf helper_evfsctuf_ppc64
#define helper_efsadd helper_efsadd_ppc64
#define helper_efssub helper_efssub_ppc64
#define helper_efsmul helper_efsmul_ppc64
#define helper_efsdiv helper_efsdiv_ppc64
#define helper_evfsadd helper_evfsadd_ppc64
#define helper_evfssub helper_evfssub_ppc64
#define helper_evfsmul helper_evfsmul_ppc64
#define helper_evfsdiv helper_evfsdiv_ppc64
#define helper_efststlt helper_efststlt_ppc64
#define helper_efststgt helper_efststgt_ppc64
#define helper_efststeq helper_efststeq_ppc64
#define helper_efscmplt helper_efscmplt_ppc64
#define helper_efscmpgt helper_efscmpgt_ppc64
#define helper_efscmpeq helper_efscmpeq_ppc64
#define helper_evfststlt helper_evfststlt_ppc64
#define helper_evfststgt helper_evfststgt_ppc64
#define helper_evfststeq helper_evfststeq_ppc64
#define helper_evfscmplt helper_evfscmplt_ppc64
#define helper_evfscmpgt helper_evfscmpgt_ppc64
#define helper_evfscmpeq helper_evfscmpeq_ppc64
#define helper_efdcfsi helper_efdcfsi_ppc64
#define helper_efdcfsid helper_efdcfsid_ppc64
#define helper_efdcfui helper_efdcfui_ppc64
#define helper_efdcfuid helper_efdcfuid_ppc64
#define helper_efdctsi helper_efdctsi_ppc64
#define helper_efdctui helper_efdctui_ppc64
#define helper_efdctsiz helper_efdctsiz_ppc64
#define helper_efdctsidz helper_efdctsidz_ppc64
#define helper_efdctuiz helper_efdctuiz_ppc64
#define helper_efdctuidz helper_efdctuidz_ppc64
#define helper_efdcfsf helper_efdcfsf_ppc64
#define helper_efdcfuf helper_efdcfuf_ppc64
#define helper_efdctsf helper_efdctsf_ppc64
#define helper_efdctuf helper_efdctuf_ppc64
#define helper_efscfd helper_efscfd_ppc64
#define helper_efdcfs helper_efdcfs_ppc64
#define helper_efdadd helper_efdadd_ppc64
#define helper_efdsub helper_efdsub_ppc64
#define helper_efdmul helper_efdmul_ppc64
#define helper_efddiv helper_efddiv_ppc64
#define helper_efdtstlt helper_efdtstlt_ppc64
#define helper_efdtstgt helper_efdtstgt_ppc64
#define helper_efdtsteq helper_efdtsteq_ppc64
#define helper_efdcmplt helper_efdcmplt_ppc64
#define helper_efdcmpgt helper_efdcmpgt_ppc64
#define helper_efdcmpeq helper_efdcmpeq_ppc64
#define helper_xsadddp helper_xsadddp_ppc64
#define helper_xsaddsp helper_xsaddsp_ppc64
#define helper_xvadddp helper_xvadddp_ppc64
#define helper_xvaddsp helper_xvaddsp_ppc64
#define helper_xssubdp helper_xssubdp_ppc64
#define helper_xssubsp helper_xssubsp_ppc64
#define helper_xvsubdp helper_xvsubdp_ppc64
#define helper_xvsubsp helper_xvsubsp_ppc64
#define helper_xsaddqp helper_xsaddqp_ppc64
#define helper_xsmuldp helper_xsmuldp_ppc64
#define helper_xsmulsp helper_xsmulsp_ppc64
#define helper_xvmuldp helper_xvmuldp_ppc64
#define helper_xvmulsp helper_xvmulsp_ppc64
#define helper_xsmulqp helper_xsmulqp_ppc64
#define helper_xsdivdp helper_xsdivdp_ppc64
#define helper_xsdivsp helper_xsdivsp_ppc64
#define helper_xvdivdp helper_xvdivdp_ppc64
#define helper_xvdivsp helper_xvdivsp_ppc64
#define helper_xsdivqp helper_xsdivqp_ppc64
#define helper_xsredp helper_xsredp_ppc64
#define helper_xsresp helper_xsresp_ppc64
#define helper_xvredp helper_xvredp_ppc64
#define helper_xvresp helper_xvresp_ppc64
#define helper_xssqrtdp helper_xssqrtdp_ppc64
#define helper_xssqrtsp helper_xssqrtsp_ppc64
#define helper_xvsqrtdp helper_xvsqrtdp_ppc64
#define helper_xvsqrtsp helper_xvsqrtsp_ppc64
#define helper_xsrsqrtedp helper_xsrsqrtedp_ppc64
#define helper_xsrsqrtesp helper_xsrsqrtesp_ppc64
#define helper_xvrsqrtedp helper_xvrsqrtedp_ppc64
#define helper_xvrsqrtesp helper_xvrsqrtesp_ppc64
#define helper_xstdivdp helper_xstdivdp_ppc64
#define helper_xvtdivdp helper_xvtdivdp_ppc64
#define helper_xvtdivsp helper_xvtdivsp_ppc64
#define helper_xstsqrtdp helper_xstsqrtdp_ppc64
#define helper_xvtsqrtdp helper_xvtsqrtdp_ppc64
#define helper_xvtsqrtsp helper_xvtsqrtsp_ppc64
#define helper_xsmadddp helper_xsmadddp_ppc64
#define helper_xsmsubdp helper_xsmsubdp_ppc64
#define helper_xsnmadddp helper_xsnmadddp_ppc64
#define helper_xsnmsubdp helper_xsnmsubdp_ppc64
#define helper_xsmaddsp helper_xsmaddsp_ppc64
#define helper_xsmsubsp helper_xsmsubsp_ppc64
#define helper_xsnmaddsp helper_xsnmaddsp_ppc64
#define helper_xsnmsubsp helper_xsnmsubsp_ppc64
#define helper_xvmadddp helper_xvmadddp_ppc64
#define helper_xvmsubdp helper_xvmsubdp_ppc64
#define helper_xvnmadddp helper_xvnmadddp_ppc64
#define helper_xvnmsubdp helper_xvnmsubdp_ppc64
#define helper_xvmaddsp helper_xvmaddsp_ppc64
#define helper_xvmsubsp helper_xvmsubsp_ppc64
#define helper_xvnmaddsp helper_xvnmaddsp_ppc64
#define helper_xvnmsubsp helper_xvnmsubsp_ppc64
#define helper_xscmpeqdp helper_xscmpeqdp_ppc64
#define helper_xscmpgedp helper_xscmpgedp_ppc64
#define helper_xscmpgtdp helper_xscmpgtdp_ppc64
#define helper_xscmpnedp helper_xscmpnedp_ppc64
#define helper_xscmpexpdp helper_xscmpexpdp_ppc64
#define helper_xscmpexpqp helper_xscmpexpqp_ppc64
#define helper_xscmpodp helper_xscmpodp_ppc64
#define helper_xscmpudp helper_xscmpudp_ppc64
#define helper_xscmpoqp helper_xscmpoqp_ppc64
#define helper_xscmpuqp helper_xscmpuqp_ppc64
#define helper_xsmaxdp helper_xsmaxdp_ppc64
#define helper_xvmaxdp helper_xvmaxdp_ppc64
#define helper_xvmaxsp helper_xvmaxsp_ppc64
#define helper_xsmindp helper_xsmindp_ppc64
#define helper_xvmindp helper_xvmindp_ppc64
#define helper_xvminsp helper_xvminsp_ppc64
#define helper_xsmaxcdp helper_xsmaxcdp_ppc64
#define helper_xsmincdp helper_xsmincdp_ppc64
#define helper_xsmaxjdp helper_xsmaxjdp_ppc64
#define helper_xsminjdp helper_xsminjdp_ppc64
#define helper_xvcmpeqdp helper_xvcmpeqdp_ppc64
#define helper_xvcmpgedp helper_xvcmpgedp_ppc64
#define helper_xvcmpgtdp helper_xvcmpgtdp_ppc64
#define helper_xvcmpnedp helper_xvcmpnedp_ppc64
#define helper_xvcmpeqsp helper_xvcmpeqsp_ppc64
#define helper_xvcmpgesp helper_xvcmpgesp_ppc64
#define helper_xvcmpgtsp helper_xvcmpgtsp_ppc64
#define helper_xvcmpnesp helper_xvcmpnesp_ppc64
#define helper_xscvdpsp helper_xscvdpsp_ppc64
#define helper_xscvspdp helper_xscvspdp_ppc64
#define helper_xvcvdpsp helper_xvcvdpsp_ppc64
#define helper_xvcvspdp helper_xvcvspdp_ppc64
#define helper_xscvdpqp helper_xscvdpqp_ppc64
#define helper_xscvdphp helper_xscvdphp_ppc64
#define helper_xscvhpdp helper_xscvhpdp_ppc64
#define helper_xvcvsphp helper_xvcvsphp_ppc64
#define helper_xvcvhpsp helper_xvcvhpsp_ppc64
#define helper_xscvqpdp helper_xscvqpdp_ppc64
#define helper_xscvdpspn helper_xscvdpspn_ppc64
#define helper_xscvspdpn helper_xscvspdpn_ppc64
#define helper_xscvdpsxds helper_xscvdpsxds_ppc64
#define helper_xscvdpsxws helper_xscvdpsxws_ppc64
#define helper_xscvdpuxds helper_xscvdpuxds_ppc64
#define helper_xscvdpuxws helper_xscvdpuxws_ppc64
#define helper_xvcvdpsxds helper_xvcvdpsxds_ppc64
#define helper_xvcvdpsxws helper_xvcvdpsxws_ppc64
#define helper_xvcvdpuxds helper_xvcvdpuxds_ppc64
#define helper_xvcvdpuxws helper_xvcvdpuxws_ppc64
#define helper_xvcvspsxds helper_xvcvspsxds_ppc64
#define helper_xvcvspsxws helper_xvcvspsxws_ppc64
#define helper_xvcvspuxds helper_xvcvspuxds_ppc64
#define helper_xvcvspuxws helper_xvcvspuxws_ppc64
#define helper_xscvqpsdz helper_xscvqpsdz_ppc64
#define helper_xscvqpswz helper_xscvqpswz_ppc64
#define helper_xscvqpudz helper_xscvqpudz_ppc64
#define helper_xscvqpuwz helper_xscvqpuwz_ppc64
#define helper_xscvsxddp helper_xscvsxddp_ppc64
#define helper_xscvuxddp helper_xscvuxddp_ppc64
#define helper_xscvsxdsp helper_xscvsxdsp_ppc64
#define helper_xscvuxdsp helper_xscvuxdsp_ppc64
#define helper_xvcvsxddp helper_xvcvsxddp_ppc64
#define helper_xvcvuxddp helper_xvcvuxddp_ppc64
#define helper_xvcvsxwdp helper_xvcvsxwdp_ppc64
#define helper_xvcvuxwdp helper_xvcvuxwdp_ppc64
#define helper_xvcvsxdsp helper_xvcvsxdsp_ppc64
#define helper_xvcvuxdsp helper_xvcvuxdsp_ppc64
#define helper_xvcvsxwsp helper_xvcvsxwsp_ppc64
#define helper_xvcvuxwsp helper_xvcvuxwsp_ppc64
#define helper_xscvsdqp helper_xscvsdqp_ppc64
#define helper_xscvudqp helper_xscvudqp_ppc64
#define helper_xsrdpi helper_xsrdpi_ppc64
#define helper_xsrdpic helper_xsrdpic_ppc64
#define helper_xsrdpim helper_xsrdpim_ppc64
#define helper_xsrdpip helper_xsrdpip_ppc64
#define helper_xsrdpiz helper_xsrdpiz_ppc64
#define helper_xvrdpi helper_xvrdpi_ppc64
#define helper_xvrdpic helper_xvrdpic_ppc64
#define helper_xvrdpim helper_xvrdpim_ppc64
#define helper_xvrdpip helper_xvrdpip_ppc64
#define helper_xvrdpiz helper_xvrdpiz_ppc64
#define helper_xvrspi helper_xvrspi_ppc64
#define helper_xvrspic helper_xvrspic_ppc64
#define helper_xvrspim helper_xvrspim_ppc64
#define helper_xvrspip helper_xvrspip_ppc64
#define helper_xvrspiz helper_xvrspiz_ppc64
#define helper_xsrsp helper_xsrsp_ppc64
#define helper_xxperm helper_xxperm_ppc64
#define helper_xxpermr helper_xxpermr_ppc64
#define helper_xvxsigsp helper_xvxsigsp_ppc64
#define helper_xvtstdcdp helper_xvtstdcdp_ppc64
#define helper_xvtstdcsp helper_xvtstdcsp_ppc64
#define helper_xststdcdp helper_xststdcdp_ppc64
#define helper_xststdcqp helper_xststdcqp_ppc64
#define helper_xststdcsp helper_xststdcsp_ppc64
#define helper_xsrqpi helper_xsrqpi_ppc64
#define helper_xsrqpxp helper_xsrqpxp_ppc64
#define helper_xssqrtqp helper_xssqrtqp_ppc64
#define helper_xssubqp helper_xssubqp_ppc64
#define do_store_fpscr do_store_fpscr_ppc64
#endif

View File

@@ -617,7 +617,7 @@ void helper_store_fpscr(CPUPPCState *env, uint64_t arg, uint32_t mask)
fpscr_set_rounding_mode(env);
}
void store_fpscr(CPUPPCState *env, uint64_t arg, uint32_t mask)
void do_store_fpscr(CPUPPCState *env, uint64_t arg, uint32_t mask)
{
helper_store_fpscr(env, arg, mask);
}

View File

@@ -261,7 +261,7 @@ uc_err reg_write(void *_env, int mode, unsigned int regid, const void *value,
break;
case UC_PPC_REG_FPSCR:
CHECK_REG_TYPE(uint32_t);
store_fpscr(env, *(uint32_t *)value, 0xffffffff);
do_store_fpscr(env, *(uint32_t *)value, 0xffffffff);
break;
}
}

View File

@@ -2343,13 +2343,6 @@ static void tcg_target_qemu_prologue(TCGContext *s)
}
tcg_out_st(s, TCG_TYPE_PTR, TCG_REG_R0, TCG_REG_R1, FRAME_SIZE+LR_OFFSET);
#ifndef CONFIG_SOFTMMU
if (guest_base) {
tcg_out_movi_int(s, TCG_TYPE_PTR, TCG_GUEST_BASE_REG, guest_base, true);
tcg_regset_set_reg(s->reserved_regs, TCG_GUEST_BASE_REG);
}
#endif
tcg_out_mov(s, TCG_TYPE_PTR, TCG_AREG0, tcg_target_call_iarg_regs[0]);
tcg_out32(s, MTSPR | RS(tcg_target_call_iarg_regs[1]) | CTR);
if (USE_REG_TB) {

View File

@@ -6264,6 +6264,269 @@ gen_helper_store_booke_tsr \
gen_helper_store_booke_tcr \
store_booke_tcr \
ppc_hash32_get_phys_page_debug \
helper_fadd \
helper_todouble \
helper_tosingle \
helper_compute_fprf_float16 \
helper_compute_fprf_float32 \
helper_compute_fprf_float64 \
helper_compute_fprf_float128 \
helper_fpscr_clrbit \
helper_fpscr_setbit \
helper_store_fpscr \
helper_float_check_status \
helper_reset_fpstatus \
helper_fsub \
helper_fmul \
helper_fdiv \
helper_fctiw \
helper_fctiwz \
helper_fctiwu \
helper_fctiwuz \
helper_fctid \
helper_fctidz \
helper_fctidu \
helper_fctiduz \
helper_fcfid \
helper_fcfids \
helper_fcfidu \
helper_fcfidus \
helper_frin \
helper_friz \
helper_frip \
helper_frim \
helper_fmadd \
helper_fnmadd \
helper_fmsub \
helper_fnmsub \
helper_frsp \
helper_fsqrt \
helper_fre \
helper_fres \
helper_frsqrte \
helper_fsel \
helper_ftdiv \
helper_ftsqrt \
helper_fcmpu \
helper_fcmpo \
helper_efscfsi \
helper_efscfui \
helper_efscfuf \
helper_efscfsf \
helper_efsctsi \
helper_efsctui \
helper_efsctsiz \
helper_efsctuiz \
helper_efsctsf \
helper_efsctuf \
helper_evfscfsi \
helper_evfscfui \
helper_evfscfuf \
helper_evfscfsf \
helper_evfsctsi \
helper_evfsctui \
helper_evfsctsiz \
helper_evfsctuiz \
helper_evfsctsf \
helper_evfsctuf \
helper_efsadd \
helper_efssub \
helper_efsmul \
helper_efsdiv \
helper_evfsadd \
helper_evfssub \
helper_evfsmul \
helper_evfsdiv \
helper_efststlt \
helper_efststgt \
helper_efststeq \
helper_efscmplt \
helper_efscmpgt \
helper_efscmpeq \
helper_evfststlt \
helper_evfststgt \
helper_evfststeq \
helper_evfscmplt \
helper_evfscmpgt \
helper_evfscmpeq \
helper_efdcfsi \
helper_efdcfsid \
helper_efdcfui \
helper_efdcfuid \
helper_efdctsi \
helper_efdctui \
helper_efdctsiz \
helper_efdctsidz \
helper_efdctuiz \
helper_efdctuidz \
helper_efdcfsf \
helper_efdcfuf \
helper_efdctsf \
helper_efdctuf \
helper_efscfd \
helper_efdcfs \
helper_efdadd \
helper_efdsub \
helper_efdmul \
helper_efddiv \
helper_efdtstlt \
helper_efdtstgt \
helper_efdtsteq \
helper_efdcmplt \
helper_efdcmpgt \
helper_efdcmpeq \
helper_xsadddp \
helper_xsaddsp \
helper_xvadddp \
helper_xvaddsp \
helper_xssubdp \
helper_xssubsp \
helper_xvsubdp \
helper_xvsubsp \
helper_xsaddqp \
helper_xsmuldp \
helper_xsmulsp \
helper_xvmuldp \
helper_xvmulsp \
helper_xsmulqp \
helper_xsdivdp \
helper_xsdivsp \
helper_xvdivdp \
helper_xvdivsp \
helper_xsdivqp \
helper_xsredp \
helper_xsresp \
helper_xvredp \
helper_xvresp \
helper_xssqrtdp \
helper_xssqrtsp \
helper_xvsqrtdp \
helper_xvsqrtsp \
helper_xsrsqrtedp \
helper_xsrsqrtesp \
helper_xvrsqrtedp \
helper_xvrsqrtesp \
helper_xstdivdp \
helper_xvtdivdp \
helper_xvtdivsp \
helper_xstsqrtdp \
helper_xvtsqrtdp \
helper_xvtsqrtsp \
helper_xsmadddp \
helper_xsmsubdp \
helper_xsnmadddp \
helper_xsnmsubdp \
helper_xsmaddsp \
helper_xsmsubsp \
helper_xsnmaddsp \
helper_xsnmsubsp \
helper_xvmadddp \
helper_xvmsubdp \
helper_xvnmadddp \
helper_xvnmsubdp \
helper_xvmaddsp \
helper_xvmsubsp \
helper_xvnmaddsp \
helper_xvnmsubsp \
helper_xscmpeqdp \
helper_xscmpgedp \
helper_xscmpgtdp \
helper_xscmpnedp \
helper_xscmpexpdp \
helper_xscmpexpqp \
helper_xscmpodp \
helper_xscmpudp \
helper_xscmpoqp \
helper_xscmpuqp \
helper_xsmaxdp \
helper_xvmaxdp \
helper_xvmaxsp \
helper_xsmindp \
helper_xvmindp \
helper_xvminsp \
helper_xsmaxcdp \
helper_xsmincdp \
helper_xsmaxjdp \
helper_xsminjdp \
helper_xvcmpeqdp \
helper_xvcmpgedp \
helper_xvcmpgtdp \
helper_xvcmpnedp \
helper_xvcmpeqsp \
helper_xvcmpgesp \
helper_xvcmpgtsp \
helper_xvcmpnesp \
helper_xscvdpsp \
helper_xscvspdp \
helper_xvcvdpsp \
helper_xvcvspdp \
helper_xscvdpqp \
helper_xscvdphp \
helper_xscvhpdp \
helper_xvcvsphp \
helper_xvcvhpsp \
helper_xscvqpdp \
helper_xscvdpspn \
helper_xscvspdpn \
helper_xscvdpsxds \
helper_xscvdpsxws \
helper_xscvdpuxds \
helper_xscvdpuxws \
helper_xvcvdpsxds \
helper_xvcvdpsxws \
helper_xvcvdpuxds \
helper_xvcvdpuxws \
helper_xvcvspsxds \
helper_xvcvspsxws \
helper_xvcvspuxds \
helper_xvcvspuxws \
helper_xscvqpsdz \
helper_xscvqpswz \
helper_xscvqpudz \
helper_xscvqpuwz \
helper_xscvsxddp \
helper_xscvuxddp \
helper_xscvsxdsp \
helper_xscvuxdsp \
helper_xvcvsxddp \
helper_xvcvuxddp \
helper_xvcvsxwdp \
helper_xvcvuxwdp \
helper_xvcvsxdsp \
helper_xvcvuxdsp \
helper_xvcvsxwsp \
helper_xvcvuxwsp \
helper_xscvsdqp \
helper_xscvudqp \
helper_xsrdpi \
helper_xsrdpic \
helper_xsrdpim \
helper_xsrdpip \
helper_xsrdpiz \
helper_xvrdpi \
helper_xvrdpic \
helper_xvrdpim \
helper_xvrdpip \
helper_xvrdpiz \
helper_xvrspi \
helper_xvrspic \
helper_xvrspim \
helper_xvrspip \
helper_xvrspiz \
helper_xsrsp \
helper_xxperm \
helper_xxpermr \
helper_xvxsigsp \
helper_xvtstdcdp \
helper_xvtstdcsp \
helper_xststdcdp \
helper_xststdcqp \
helper_xststdcsp \
helper_xsrqpi \
helper_xsrqpxp \
helper_xssqrtqp \
helper_xssubqp \
do_store_fpscr
"
ppc64_SYMBOLS=${ppc_SYMBOLS}