Mill Computing, Inc. › Forums › The Mill › Architecture › Execution › Reply To: Execution
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.