[gamecode] Move the lea block

It just feels better with it being close the load/store etc
This commit is contained in:
Bill Currie 2022-01-15 16:39:52 +09:00
parent e133de8c89
commit a14b9f8252
2 changed files with 13 additions and 12 deletions

View File

@ -11,6 +11,7 @@ bitmap_txt = """
0 0101 1100 return (size in st->c)
0 0110 0nnn
0 0110 10mm lea
0 0110 1100 convert (conversion mode in st->b)
0 0110 1101 with (mode in st->a, value in st->b, reg in st->c)
0 0110 111t state
@ -23,7 +24,7 @@ bitmap_txt = """
1 1001 t1ss scale
1 1001 t100 swizzle
1 1010 d1xx
1 1011 00mm lea
1 1011 00nn
1 1011 01ss any
1 1011 0100
1 1011 10ss all

View File

@ -2961,7 +2961,16 @@ pr_exec_ruamoko (progs_t *pr, int exitdepth)
break;
// 0 0110
// 0nnn spare
// 10nn spare
case OP_LEA_A:
case OP_LEA_C:
case OP_LEA_D:
mm = pr_address_mode (pr, st, (st_op - OP_LEA_A));
op_c->pointer_var = mm - pr->pr_globals;
break;
case OP_LEA_E:
mm = pr_address_mode (pr, st, 4);
op_c->pointer_var = mm - pr->pr_globals;
break;
case OP_CONV:
switch (st->b) {
#include "libs/gamecode/pr_convert.cinc"
@ -3327,16 +3336,7 @@ pr_exec_ruamoko (progs_t *pr, int exitdepth)
OP_cmp_T (GT, U, long, lvec2, lvec4, >, ulong, ulvec2, ulvec4);
// spare
// 1 1011
case OP_LEA_A:
case OP_LEA_C:
case OP_LEA_D:
mm = pr_address_mode (pr, st, (st_op - OP_LEA_A));
op_c->pointer_var = mm - pr->pr_globals;
break;
case OP_LEA_E:
mm = pr_address_mode (pr, st, 4);
op_c->pointer_var = mm - pr->pr_globals;
break;
// 00nn spare
case OP_ANY_2:
OPC(int) = any2i (OPA(ivec2));
break;