Mill Computing, Inc. Forums The Mill Architecture Execution Reply To: Execution

JonathanThompson
Participant
Post count: 11

Ok, I’m not surprised: I was very hopeful, that’s true 😉

A great example where such multiway branches can be very useful can be found in the recursive-descent lexer/parser code generated by ANTLR, as it generates (depending on generation options) lots of switch/case situations, recursively.

Now, I’m wondering: is there a way in a single instruction to encode a rather complex if/then/else where you have multiple values meet some conditions (say if(a==b&&c==D|d=a)? I’d expect it’d take 3 CPU cycles, due to phasing, and the practicality of data to load, etc. but can it be encoded and set off in a single instruction?

Using the ganged operations in instructions, I’m suspecting that could be synthesized, but I’m not sure: that could really make code fly.