shithub: spirva

ref: 0481916bfbc64666485d976d5b67e00dff5387ff
dir: /ops.c/

View raw version
#include <u.h>
#include <libc.h>
#include "ops.h"

Ops ops[] = {
	{ "OpNop", 0 },
	{ "OpUndef", 1 },
	{ "OpSizeOf", 321 },
	{ "OpSource", 3 },
	{ "OpSourceExtension", 4 },
	{ "OpName", 5 },
	{ "OpMemberName", 6 },
	
	{ "OpTypeVoid", 19 },
	{ "OpTypeBool", 20 },
	{ "OpTypeInt", 21 },
	{ "OpTypeFloat", 22 },
	{ "OpTypeVector", 23 },
	{ "OpTypeMatrix", 24 },
	{ "OpTypeArray", 28 },
	{ "OpTypeRuntimeArray", 29 },
	{ "OpTypeStruct", 30 },
	{ "OpTypeOpaque", 31 },
	{ "OpTypePointer", 32 },
	{ "OpTypeFunction", 33 },
	
	{ nil, nil },
};

uint
o_lookup(char *n)
{
	Ops *o;
	
	for (o = ops; o->opname; o++) {
		if (strcmp(o->opname, n) == 0) {
			return o->op;
		}
	}
	return 0;
}

char*
o_find(uint op)
{
	Ops *o;
	
	for (o = ops; o->opname; o++) {
		if (o->op == op) {
			return o->opname;
		}
	}
	return nil;
}