+ /* Can't use this if the user has appropriated eax, ecx, or edi. */
+ if (global_regs[0] || global_regs[2] || global_regs[5])
+ return false;
+
Can you use/add AX_REG, CX_REG, DI_REG, SI_REG instead using 0, 2,
4, 5?
Sure. Patch below. OK to commit if it passes bootstrap/testing?
-Nathan
2007-10-12 Nathan Froyd <froydnj@codesourcery.com>
* config/i386/i386.md (SI_REG, DI_REG): New constants.
(strmov): Use defined constants.
(cmpstrnsi): Likewise.
* config/i386/i386.c (decide_alg): Use defined constants.
(ix86_expand_strlen): Likewise.