Oh FFS. LOAD_CLOCK.

This commit is contained in:
Ben Vanik
2014-01-08 00:12:22 -08:00
parent a8ade5d33b
commit 894f22cd0b
7 changed files with 40 additions and 7 deletions

View File

@@ -848,6 +848,14 @@ Value* HIRBuilder::LoadVectorShr(Value* sh) {
return i->dest;
}
Value* HIRBuilder::LoadClock() {
Instr* i = AppendInstr(
OPCODE_LOAD_CLOCK_info, 0,
AllocValue(INT64_TYPE));
i->src1.value = i->src2.value = i->src3.value = NULL;
return i->dest;
}
Value* HIRBuilder::LoadContext(size_t offset, TypeName type) {
Instr* i = AppendInstr(
OPCODE_LOAD_CONTEXT_info, 0,

View File

@@ -117,6 +117,8 @@ public:
Value* LoadVectorShl(Value* sh);
Value* LoadVectorShr(Value* sh);
Value* LoadClock();
Value* LoadContext(size_t offset, TypeName type);
void StoreContext(size_t offset, Value* value);

View File

@@ -101,6 +101,8 @@ enum Opcode {
OPCODE_LOAD_VECTOR_SHL,
OPCODE_LOAD_VECTOR_SHR,
OPCODE_LOAD_CLOCK,
OPCODE_LOAD_CONTEXT,
OPCODE_STORE_CONTEXT,

View File

@@ -170,6 +170,12 @@ DEFINE_OPCODE(
OPCODE_SIG_V_V,
0);
DEFINE_OPCODE(
OPCODE_LOAD_CLOCK,
"load_clock",
OPCODE_SIG_V,
0);
DEFINE_OPCODE(
OPCODE_LOAD_CONTEXT,
"load_context",