And VAX is like, the epitome of CISC. It has a fuckton of addressing modes, and you can use every single one of them with every instruction, and everything that can be done through addressing modes is done through addressing modes.
It's beautiful and makes it impossible to pipeline.
where the PC has to point to the middle of an instruction, and that's where the immediate is expected to be, and the rest of the operand addresses can be after that
@novenary@wolf480pl@lanodan@norm Also helps that x86 is "ugly" in ways that doesn't really impact performance (see e.g the absence of mem-mem instructions)
Though I do think it's still pretty tame compared to how VAX would actually let you do it with pretty much any operation, see e.g: godbolt.org/z/e3dPWPvrK
By "tame" I mean the set of possible mem-mem operations are constrained enough that I think Intel did manage to special case them for fast operation in their newer processors
@ammarfaizi2@novenary@wolf480pl@lanodan@norm re: unconstrained addressing mode/op combination, this used to be the goal of ISA designers, but then they realize that such kinds of design is hard to be made fast; x86, by virtue of being a descendant of the 8080 (which is itself not much of an orthogonal ISA), managed to mostly avoid this issue, that's how I understand it