comparison mc-code-ia32.c @ 840:1547193bddde

minor fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 04 Dec 2010 13:02:51 +0900
parents 425768eb5e9e
children c005a392e27e
comparison
equal deleted inserted replaced
839:aed9be3c8b78 840:1547193bddde
3645 } 3645 }
3646 } 3646 }
3647 3647
3648 void code_cmp_lregister(int reg,int label,int cond) 3648 void code_cmp_lregister(int reg,int label,int cond)
3649 { 3649 {
3650 char *crn; 3650 use_longlong(reg);
3651 use_int(reg); 3651 if (reg==REG_L) {
3652 crn = register_name(reg,0); 3652 char *crn;
3653 printf("\tmovl %%esi,%s\n",crn); 3653 reg = get_register();
3654 printf("\torl %%edi,%s\n",crn); 3654 crn = register_name(reg,0);
3655 printf("\ttestl %s,%s\n",crn,crn); 3655 printf("\tmovl %%esi,%s\n",crn);
3656 printf("\torl %%edi,%s\n",crn);
3657 printf("\ttestl %s,%s\n",crn,crn);
3658 free_register(reg);
3659 } else {
3660 printf("\torl %s,%s\n",l_edx(reg),l_eax(reg));
3661 printf("\ttestl %s,%s\n",l_eax(reg),l_eax(reg));
3662 }
3656 jcond(label,cond); 3663 jcond(label,cond);
3657 } 3664 }
3658 3665
3659 void code_cmp_lrgvar(int e1,int e2,int label,int cond) 3666 void code_cmp_lrgvar(int e1,int e2,int label,int cond)
3660 { 3667 {