Okay, there's the misunderstanding - I hadn't understood you were talking about automated pre-checkin testing. I still am not seeing the need for "multiple compilers, multiple OSes, and multiple binary architectures" mentioned by the original poster for a product that is intended for a single platform
Different compilers on the same platform find different bugs (warnings, errors).
Different static analysis tools also find different defects.
Different numbers of CPUs/Cores find different timing bugs, deadlocks, race conditions, corruption etc. on concurrent code.
Different binary architectures show up endianness bugs and subtle corruption bugs due to alignment of data in memory.
Different OSs find different run-time behaviour problems and dependency problems. They also find problems in any OS abstraction code.
The more compilers. analysers, machines, architectures and OSs you use, the more bugs you find, and the more bugs you find and fix, the higher the quality of your product.
It's always easiest to develop on top of a high-quality code base. That's when you're fastest.
You don't need a QA department. Automation can get you 80-90% of the benefit.
You don't need to do everything all at once. Start adding new tests, builds and platforms as you go, a bit at a time. You should see your velocity increase very soon.