comparison mc-code-i64.c @ 845:a97cd8b97434

minor fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 06 Dec 2010 16:23:42 +0900 (2010-12-06)
parents 11d784da0c7b
children 4640447d80ef
comparison
equal deleted inserted replaced
844:11d784da0c7b 845:a97cd8b97434
3703 e = d 3703 e = d
3704 */ 3704 */
3705 void code_dassign_dregister(int e,int d,int f) 3705 void code_dassign_dregister(int e,int d,int f)
3706 { 3706 {
3707 use_float(d,f); 3707 use_float(d,f);
3708 printf("\tmovapd %s,%s\n",fregister_name(f),fregister_name(e)); 3708 if (f!=e)
3709 printf("\tmovapd %s,%s\n",fregister_name(f),fregister_name(e));
3709 } 3710 }
3710 3711
3711 void code_dassign(int e2,int freg,int d) 3712 void code_dassign(int e2,int freg,int d)
3712 { 3713 {
3713 use_float(d,freg); 3714 use_float(d,freg);
4411 } 4412 }
4412 4413
4413 void code_lassign(int e1,int e2) 4414 void code_lassign(int e1,int e2)
4414 { 4415 {
4415 use_longlong(e2); 4416 use_longlong(e2);
4416 printf("\tmovq %s,(%s)\n",register_name(e2,0),register_name(e1,0)); 4417 if (e2!=e1)
4418 printf("\tmovq %s,(%s)\n",register_name(e2,0),register_name(e1,0));
4417 } 4419 }
4418 4420
4419 void code_lassign_gvar(int e1,int e2) 4421 void code_lassign_gvar(int e1,int e2)
4420 { 4422 {
4421 code_assign_gvar(e1,e2,SIZE_OF_LONGLONG); 4423 code_assign_gvar(e1,e2,SIZE_OF_LONGLONG);