
Advice before getting started
I just finished every challenge in the excellent game Turing Complete (https://store.steampowered.com/app/1444480/Turing_Complete/) which involves creating an 8-bit processor and writing assembly for it. As for my background I've written a fair bit of assembly in my career for Microchip PIC compilers, written a NES and GB emulator, so I've got a solid background. But I don't have a CS degree and I never took a compiler course.
I'd like to try building a 16-bit processor in Turing Complete's sandbox mode, and then I'd like to write C code on my computer and cross-compile it to the new processor. I haven't decided on an instruction set yet, it might be fun to spin my own, but also I could take an existing one.
How would I port something like gcc or llvm or something over to my new processor? I'd like to get advice up front before I select/design the instruction set. I'm not looking to run any sort of OS, just bare metal C code.
I'm not looking to write a compiler (at least not yet), I just want to use something existing.
EDIT: I'm not looking to run the compiler on the game's processor. I want to cross-compile small programs targeted for my game's processor. The simulation still runs at least at 1-10 MHz, so we're talking 80's level computer here, so I'm not expecting anything impressive. but I still want to write in C. I'm also happy to write in a limited subset of C.