1. A method of compiling a program to be executed on a target microprocessor with multiple execution units of a same type, the method comprising: selecting one of the execution units for testing; scheduling execution of diagnostic code on the selected execution unit; and scheduling execution of program code on remaining execution units of the same type