How To Retarget the GNU Toolchain in 21 Patches
atgreen.github.com
atgreen.github.com
But then you make all design decisions by looking at what the toolchain does well, which is inevitably the feature set of the most popular processors. Which are, in turn, designed by hardware engineers, per your original assumption.
Note the lack of any kind of instruction scheduling, unnatural addressing modes, weird arithmetic, etc.
The ggx processor's successor, moxie (which is part of the upstream GNU toolchain), is slowly developing characteristics shared with real architectures as the FPGA implementation develops. For instance, I just introduced a pipeline hazard with my new multi-port register file implementation that will benefit from some instruction scheduling in GCC.