Check immediates if they support the range or are not allowed (e.g. floats)

This commit is contained in:
gingerBill
2026-08-11 14:52:21 +01:00
parent c70f717211
commit ce6346a20f
4 changed files with 124 additions and 25 deletions

View File

@@ -361,8 +361,14 @@ main :: proc() {
strings.write_string(&sb, "\t\tcase OP_M128: case OP_XMM: case OP_XMM_M128: case OP_XMM0_IMPL: return 128;\n")
strings.write_string(&sb, "\t\tcase OP_M256: case OP_YMM: case OP_YMM_M256: return 256;\n")
strings.write_string(&sb, "\t\tcase OP_M512: case OP_ZMM: case OP_ZMM_M512: return 512;\n")
strings.write_string(&sb, "\t\tcase OP_IMM8: return 8;\n")
strings.write_string(&sb, "\t\tcase OP_IMM16: return 16;\n")
strings.write_string(&sb, "\t\tcase OP_IMM32: return 32;\n")
strings.write_string(&sb, "\t\tcase OP_IMM64: return 64;\n")
strings.write_string(&sb, "\t\tcase OP_REL8: return 8;\n")
strings.write_string(&sb, "\t\tcase OP_REL32: return 32;\n")
strings.write_string(&sb, "\t\t}\n")
strings.write_string(&sb, "\t\treturn 0; // OP_M (sizeless), OP_IMM*, OP_REL*, OP_K (opmask width is data-dependent), etc.\n")
strings.write_string(&sb, "\t\treturn 0; // OP_M (sizeless), OP_K (opmask width is data-dependent), OP_ONE_IMPL, moffs, ptr, sreg/cr/dr, etc.\n")
strings.write_string(&sb, "\t}\n")
}
strings.write_string(&sb, "\n")