SDCC has three rabbit-supporting ports: r2k for the Rabbit 2000, r2ka for the Rabbit 2000A, 2000B, 2000C and 3000, r3ka for the Rabbit 3000A. The instruction set of the Rabbit 2000 to Rabbit 3000 is the same, and a subset of the Rabbit 3000A instruction set. Code from the r2k backend will work on Rabbit 2000 to 3000A and code from the r2ka backend will work on Rabbit 2000A to 3000A. In some hardware confgurations (see below), code from the r2ka backend will work on the Rabbit 2000. Typically, code from the r3ka backend will be faster and smaller than code from the r2ka backend, and code from the r2ka backend will be faster and smaller than code from the r2k backend.