X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=include%2Flightning%2Flightning.h;h=23015a447f609bccbff080c55e84abc06dd51f38;hb=cb72ea130a5ef1b2f47691ed586ad48bb0c39269;hp=a155b8a8f242dd3f2f266d4fa3900000434cf4b0;hpb=e68dc4d6acd30112bf175243291e4198ce8003ca;p=pcsx_rearmed.git diff --git a/include/lightning/lightning.h b/include/lightning/lightning.h index a155b8a8..23015a44 100644 --- a/include/lightning/lightning.h +++ b/include/lightning/lightning.h @@ -24,6 +24,7 @@ #include #include #include +#include #if defined(__hpux) && defined(__hppa__) # include @@ -123,6 +124,11 @@ typedef jit_int32_t jit_bool_t; typedef jit_int32_t jit_gpr_t; typedef jit_int32_t jit_fpr_t; +#if !defined(__powerpc__) && \ + (defined(__POWERPC__) || defined(__ppc__) || defined(__PPC__)) +#define __powerpc__ 1 +#endif + #if defined(__i386__) || defined(__x86_64__) # include #elif defined(__mips__) @@ -305,10 +311,6 @@ typedef enum { #define jit_comr(u,v) jit_new_node_ww(jit_code_comr,u,v) jit_code_negr, jit_code_comr, -#define jit_ffsr(u,v) jit_new_node_ww(jit_code_ffsr,u,v) -#define jit_clzr(u,v) jit_new_node_ww(jit_code_clzr,u,v) - jit_code_ffsr, jit_code_clzr, - #define jit_ltr(u,v,w) jit_new_node_www(jit_code_ltr,u,v,w) #define jit_lti(u,v,w) jit_new_node_www(jit_code_lti,u,v,w) jit_code_ltr, jit_code_lti, @@ -343,9 +345,11 @@ typedef enum { #define jit_movr(u,v) jit_new_node_ww(jit_code_movr,u,v) #define jit_movi(u,v) jit_new_node_ww(jit_code_movi,u,v) jit_code_movr, jit_code_movi, + #define jit_movnr(u,v,w) jit_new_node_www(jit_code_movnr,u,v,w) #define jit_movzr(u,v,w) jit_new_node_www(jit_code_movzr,u,v,w) jit_code_movnr, jit_code_movzr, + #define jit_extr_c(u,v) jit_new_node_ww(jit_code_extr_c,u,v) #define jit_extr_uc(u,v) jit_new_node_ww(jit_code_extr_uc,u,v) jit_code_extr_c, jit_code_extr_uc, @@ -898,6 +902,22 @@ typedef enum { #define jit_movr_d_w(u, v) jit_new_node_ww(jit_code_movr_d_w, u, v) #define jit_movi_d_w(u, v) jit_new_node_wd(jit_code_movi_d_w, u, v) +#define jit_bswapr_us(u,v) jit_new_node_ww(jit_code_bswapr_us,u,v) + jit_code_bswapr_us, +#define jit_bswapr_ui(u,v) jit_new_node_ww(jit_code_bswapr_ui,u,v) + jit_code_bswapr_ui, +#define jit_bswapr_ul(u,v) jit_new_node_ww(jit_code_bswapr_ul,u,v) + jit_code_bswapr_ul, +#if __WORDSIZE == 32 +#define jit_bswapr(u,v) jit_new_node_ww(jit_code_bswapr_ui,u,v) +#else +#define jit_bswapr(u,v) jit_new_node_ww(jit_code_bswapr_ul,u,v) +#endif + + jit_code_casr, jit_code_casi, +#define jit_casr(u, v, w, x) jit_new_node_wwq(jit_code_casr, u, v, w, x) +#define jit_casi(u, v, w, x) jit_new_node_wwq(jit_code_casi, u, v, w, x) + jit_code_last_code } jit_code_t; @@ -1066,6 +1086,10 @@ extern jit_node_t *_jit_new_node_www(jit_state_t*, jit_code_t, extern jit_node_t *_jit_new_node_qww(jit_state_t*, jit_code_t, jit_int32_t, jit_int32_t, jit_word_t, jit_word_t); +#define jit_new_node_wwq(c,u,v,l,h) _jit_new_node_wwq(_jit,c,u,v,l,h) +extern jit_node_t *_jit_new_node_wwq(jit_state_t*, jit_code_t, + jit_word_t, jit_word_t, + jit_int32_t, jit_int32_t); #define jit_new_node_wwf(c,u,v,w) _jit_new_node_wwf(_jit,c,u,v,w) extern jit_node_t *_jit_new_node_wwf(jit_state_t*, jit_code_t, jit_word_t, jit_word_t, jit_float32_t);