mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-03-21 09:51:41 +00:00
[gamecode] Move the lea block
It just feels better with it being close the load/store etc
This commit is contained in:
parent
e133de8c89
commit
a14b9f8252
2 changed files with 13 additions and 12 deletions
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue