diff options
Diffstat (limited to 'src/dynarec/la64/dynarec_la64_helper.h')
| -rw-r--r-- | src/dynarec/la64/dynarec_la64_helper.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/dynarec/la64/dynarec_la64_helper.h b/src/dynarec/la64/dynarec_la64_helper.h index 9720cf25..68219e77 100644 --- a/src/dynarec/la64/dynarec_la64_helper.h +++ b/src/dynarec/la64/dynarec_la64_helper.h @@ -642,6 +642,16 @@ GETGYxy(gx, 0); \ GETEYxy(ex, 1, D); +// Get writable GYx, and non-written VYx, EYSD or EYSS , for FMA SD/SSinsts. +#define GETGYx_VYx_EYxw(gx, vx, ex, D) \ + GETVYx(vx, 0); \ + if (rex.w) { \ + GETEYSD(ex, 0, D) \ + } else { \ + GETEYSS(ex, 0, D); \ + } \ + GETGYx(gx, 1); + // Get direction with size Z and based of F_DF flag, on register r ready for load/store fetching // using s as scratch. // F_DF is not in LBT4.eflags, don't worry @@ -874,7 +884,7 @@ SET_DFNONE() #define SET_NODF() dyn->f.dfnone = 0 -#define SET_DFOK() \ +#define SET_DFOK() \ dyn->f.dfnone = 1 #define CLEAR_FLAGS_(s) \ |