start work on fusing loads in arithmetic

This commit is contained in:
Quentin Carbonneaux 2015-10-22 16:40:52 -04:00
parent 475e90a371
commit 97db80da31
3 changed files with 85 additions and 53 deletions

View file

@ -5,6 +5,7 @@
#include <string.h>
typedef unsigned int uint;
typedef unsigned short ushort;
typedef unsigned long ulong;
typedef struct Bits Bits;
@ -177,10 +178,14 @@ enum Op {
OXSet,
OXSet1 = OXSet + NCmp-1,
OXTest,
OXScale1, /* memory addressing */
OXScale2,
OXScale3,
OXScale4,
OXScale01, /* memory addressing */
OXScale02,
OXScale04,
OXScale08,
OXScale11,
OXScale12,
OXScale14,
OXScale18,
NOp
};
@ -203,8 +208,8 @@ struct OpDesc {
};
struct Ins {
uint16_t op:15;
uint16_t wide:1;
ushort op:15;
ushort wide:1;
Ref to;
Ref arg[2];
};