[Flint] adding array_length and some math operations encoding
Mirror Gitea refs to GitHub / mirror (push) Successful in 16s
Build / build (push) Failing after 57s
Test / build_and_test (push) Successful in 3m52s

This commit is contained in:
2026-08-30 19:57:09 +02:00
parent cd4f87a99f
commit d357b722ba
18 changed files with 622 additions and 109 deletions
@@ -64,6 +64,11 @@ fn validateInstruction(inst: instruction.Instruction) Error!void {
try validateSource(op.byte_offset);
try validateSource(op.source);
},
.array_length => |op| {
try validateBufferReference(op.buffer);
try validateDestination(op.destination);
try validateSource(op.byte_offset);
},
.surface_read => |op| {
try validateBindingTableIndex(op.binding_table);
try validateDestination(op.destination);
@@ -89,6 +94,11 @@ fn validateInstruction(inst: instruction.Instruction) Error!void {
try validateSource(op.lhs);
try validateSource(op.rhs);
},
.math => |op| {
try validateDestination(op.destination);
try validateSource(op.lhs);
try validateSource(op.rhs);
},
.parallel_copy => |copy| {
for (copy.register_copies) |item| {
try validateDestination(item.destination);