we used the opposite approach to design the Super FX chip (we called it the Mario chip - likely the first ever gpu)
Carl & Pete would write code to do 3d math and render polygons... and write and re-write the code hundreds of times, using an imaginary assembler language. they would invent new instructions on the fly to let their code get tighter. they would keep coming up with new instructions, new registers, new ways of forming instructions and referencing registers etc... until the code was the tightest... and THEN, we designed a microprocessor from scratch to execute those instructions.
Also, likely the opposite way that microprocessors were designed... because (in the past) the designers had no idea what their cpus were going to be used for, whereas we knew what we wanted to achieve, so got to use software to drive the hardware design.
this was the first time that a cpu was able to be designed using programmable gate arrays. literally Ben & Rob could make a change to the hardware design - the netlist, and email it off to the usa, and actel would Fedex back the next day a working chip for us to try out. this was before you could program your own fpga's yourself (and Xilinx at the time wasn't large enough to fit a whole microprocessor). this iterative approach allowed us to design the optimum 'gpu' for the task.