#define DDCHELP
#endif
-#define REGLEN 9
+#define REGLEN 10
+#if 0
static char *regs64[] = {"rax", "r10", "r11", "r9", "r8", "rcx", "rdx", "rsi", "rdi"};
static char *regs8l[] = {"al", "r10b", "r11b", "r9b", "r8b", "cl", "dl", "sil", "dil"};
+#else
+static char *regs64[] = {"rax", "r10", "r11", "r9", "rax", "r10", "r11", "rax", "r10", "r11"};
+static char *regs8l[] = {"al", "r10b", "r11b", "r9b", "al", "r10b", "r11b", "al", "r10b", "r11b"};
+#endif
void func_header(char *s)
{
{
/* tritt z.b. bei snafu_05.0 auf */
printf("\t//gen_subspecial(%i)\n", e);
- if (!e)
- KIDREG2ID(0);
+ KIDREG2ID(0);
KIDKIDREG2PARM(1,0);
- if(e)
+
+ if(e) {
printf("\tsubq $%d, %%%s\n", KIDKID_VAL(1,0), BN_REG);
- else
+ } else {
printf("\tsubq %%%s, %%%s\n", KIDKID_REG(1,0), BN_REG);
+ }
+ if(e) KIDKIDREG2PARM(1,1);
printf("\taddq %%%s, %%%s\n", KIDKID_REG(1,1), BN_REG);
}