Mercurial > hg > CbC > old > device
changeset 769:74701505c42d
i64 switch
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 18 Nov 2010 01:47:03 +0900 |
parents | ec9fdbb27351 |
children | b674d8421430 |
files | mc-code-i64.c |
diffstat | 1 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mc-code-i64.c Thu Nov 18 01:08:52 2010 +0900 +++ b/mc-code-i64.c Thu Nov 18 01:47:03 2010 +0900 @@ -4544,7 +4544,8 @@ printf("\tja\t_%d\n",dlabel); if (delta==1) { #ifdef __APPLE__ - printf("\tmovq\t_%d-(%%rip,%s,8),%s\n",l,crn,crn); + printf("\tleaq\t_%d(%%rip),%%rbx\n",l); + printf("\tmovslq\t(%%rbx,%s,4),%s\n",crn,crn); printf("\taddq\t%%rbx,%s\n",crn); printf("\tjmp\t*%s\n",crn); #else @@ -4565,7 +4566,8 @@ printf("\tandl\t%%eax,%%edx\n"); printf("\tjne\t_%d\n",dlabel); #ifdef __APPLE__ - printf("\tmovq\t_%d-(%%rip,%s,6),%s\n",l,crn,crn); + printf("\tleaq\t_%d(%%rip),%%rbx\n",l); + printf("\tmovslq\t(%%rbx,%s,2),%s\n",crn,crn); printf("\taddq\t%%rbx,%s\n",crn); printf("\tjmp\t*%s\n",crn); #else @@ -4577,7 +4579,8 @@ printf("\tandl\t%%eax,%%edx\n"); printf("\tjne\t_%d\n",dlabel); #ifdef __APPLE__ - printf("\tmovq\t_%d-(%%ebx,%s,4),%s\n",l,crn,crn); + printf("\tleaq\t_%d(%%rip),%%rbx\n",l); + printf("\tmovslq\t(%%rbx,%s),%s\n",crn,crn); printf("\taddq\t%%rbx,%s\n",crn); printf("\tjmp\t*%s\n",crn); #else @@ -4590,7 +4593,8 @@ printf("\tandl\t%%edx,%%edx\n"); printf("\tjne\t_%d\n",dlabel); #ifdef __APPLE__ - printf("\tmovq\t_%d-(%%rbx,%s,8),%s\n",l,crn,crn); + printf("\tleaq\t_%d(%%rip),%%rbx\n",l); + printf("\tmovslq\t(%%rbx,%s,4),%s\n",crn,crn); printf("\taddq\t%%rbx,%s\n",crn); printf("\tjmp\t*%s\n",crn); #else