From: Frode Solheim Date: Sun, 6 Sep 2015 19:38:42 +0000 (+0200) Subject: JIT: gen_bswap_16 -> mid_bswap_16, gen_bswap_32 -> mid_bswap_32 X-Git-Tag: 3200~79^2~34 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=e6ec503ae892cfd2184f1eec3f9816f9b10c3258;p=francis%2Fwinuae.git JIT: gen_bswap_16 -> mid_bswap_16, gen_bswap_32 -> mid_bswap_32 --- diff --git a/jit/compemu.h b/jit/compemu.h index 58a190a0..b43d809e 100644 --- a/jit/compemu.h +++ b/jit/compemu.h @@ -365,8 +365,8 @@ DECLARE(lea_l_brr_indexed(W4 d, RR4 s, RR4 index, IMM factor, IMM offset)); DECLARE(mov_l_bRr(RR4 d, RR4 s, IMM offset)); DECLARE(mov_w_bRr(RR4 d, RR2 s, IMM offset)); DECLARE(mov_b_bRr(RR4 d, RR1 s, IMM offset)); -DECLARE(gen_bswap_32(RW4 r)); -DECLARE(gen_bswap_16(RW2 r)); +DECLARE(mid_bswap_32(RW4 r)); +DECLARE(mid_bswap_16(RW2 r)); DECLARE(mov_l_rr(W4 d, RR4 s)); DECLARE(mov_l_mr(IMM d, RR4 s)); DECLARE(mov_w_mr(IMM d, RR2 s)); diff --git a/jit/compemu_midfunc_x86.cpp b/jit/compemu_midfunc_x86.cpp index e4da4cea..6c3f5863 100644 --- a/jit/compemu_midfunc_x86.cpp +++ b/jit/compemu_midfunc_x86.cpp @@ -1499,7 +1499,7 @@ MIDFUNC(3,mov_b_bRr,(RR4 d, RR1 s, IMM offset)) } MENDFUNC(3,mov_b_bRr,(RR4 d, RR1 s, IMM offset)) -MIDFUNC(1,gen_bswap_32,(RW4 r)) +MIDFUNC(1,mid_bswap_32,(RW4 r)) { if (isconst(r)) { @@ -1513,9 +1513,9 @@ MIDFUNC(1,gen_bswap_32,(RW4 r)) raw_bswap_32(r); unlock2(r); } -MENDFUNC(1,gen_bswap_32,(RW4 r)) +MENDFUNC(1,mid_bswap_32,(RW4 r)) -MIDFUNC(1,gen_bswap_16,(RW2 r)) +MIDFUNC(1,mid_bswap_16,(RW2 r)) { if (isconst(r)) { uae_u32 oldv=live.state[r].val; @@ -1530,7 +1530,9 @@ MIDFUNC(1,gen_bswap_16,(RW2 r)) raw_bswap_16(r); unlock2(r); } -MENDFUNC(1,gen_bswap_16,(RW2 r)) +MENDFUNC(1,mid_bswap_16,(RW2 r)) + + MIDFUNC(2,mov_l_rr,(W4 d, RR4 s)) { diff --git a/jit/compemu_support.cpp b/jit/compemu_support.cpp index 5e0d49d0..53c14c98 100644 --- a/jit/compemu_support.cpp +++ b/jit/compemu_support.cpp @@ -2753,8 +2753,8 @@ static void writemem_real(int address, int source, int offset, int size, int tmp f=source; switch(size) { case 1: mov_b_bRr(address,source,MEMBaseDiff); break; - case 2: mov_w_rr(f,source); gen_bswap_16(f); mov_w_bRr(address,f,MEMBaseDiff); break; - case 4: mov_l_rr(f,source); gen_bswap_32(f); mov_l_bRr(address,f,MEMBaseDiff); break; + case 2: mov_w_rr(f,source); mid_bswap_16(f); mov_w_bRr(address,f,MEMBaseDiff); break; + case 4: mov_l_rr(f,source); mid_bswap_32(f); mov_l_bRr(address,f,MEMBaseDiff); break; } forget_about(tmp); forget_about(f); @@ -2770,19 +2770,19 @@ static void writemem_real(int address, int source, int offset, int size, int tmp if (size > 1) { add_l(f,address); /* f now holds the final address */ switch (size) { - case 2: gen_bswap_16(source); mov_w_Rr(f,source,0); - gen_bswap_16(source); return; - case 4: gen_bswap_32(source); mov_l_Rr(f,source,0); - gen_bswap_32(source); return; + case 2: mid_bswap_16(source); mov_w_Rr(f,source,0); + mid_bswap_16(source); return; + case 4: mid_bswap_32(source); mov_l_Rr(f,source,0); + mid_bswap_32(source); return; } } } switch (size) { /* f now holds the offset */ case 1: mov_b_mrr_indexed(address,f,source); break; - case 2: gen_bswap_16(source); mov_w_mrr_indexed(address,f,source); - gen_bswap_16(source); break; /* base, index, source */ - case 4: gen_bswap_32(source); mov_l_mrr_indexed(address,f,source); - gen_bswap_32(source); break; + case 2: mid_bswap_16(source); mov_w_mrr_indexed(address,f,source); + mid_bswap_16(source); break; /* base, index, source */ + case 4: mid_bswap_32(source); mov_l_mrr_indexed(address,f,source); + mid_bswap_32(source); break; } } @@ -2866,8 +2866,8 @@ static void readmem_real(int address, int dest, int offset, int size, int tmp) if (canbang) { /* Woohoo! go directly at the memory! */ switch(size) { case 1: mov_b_brR(dest,address,MEMBaseDiff); break; - case 2: mov_w_brR(dest,address,MEMBaseDiff); gen_bswap_16(dest); break; - case 4: mov_l_brR(dest,address,MEMBaseDiff); gen_bswap_32(dest); break; + case 2: mov_w_brR(dest,address,MEMBaseDiff); mid_bswap_16(dest); break; + case 4: mov_l_brR(dest,address,MEMBaseDiff); mid_bswap_32(dest); break; } forget_about(tmp); return; @@ -2881,8 +2881,8 @@ static void readmem_real(int address, int dest, int offset, int size, int tmp) switch(size) { case 1: mov_b_rrm_indexed(dest,address,f); break; - case 2: mov_w_rrm_indexed(dest,address,f); gen_bswap_16(dest); break; - case 4: mov_l_rrm_indexed(dest,address,f); gen_bswap_32(dest); break; + case 2: mov_w_rrm_indexed(dest,address,f); mid_bswap_16(dest); break; + case 4: mov_l_rrm_indexed(dest,address,f); mid_bswap_32(dest); break; } forget_about(tmp); } diff --git a/jit/gencomp.cpp b/jit/gencomp.cpp index 1efb151b..d25509e2 100644 --- a/jit/gencomp.cpp +++ b/jit/gencomp.cpp @@ -691,12 +691,12 @@ genmovemel (uae_u16 opcode) switch(table68k[opcode].size) { case sz_long: comprintf("\t\t\tmov_l_rR(i,native,offset);\n" - "\t\t\tgen_bswap_32(i);\n" + "\t\t\tmid_bswap_32(i);\n" "\t\t\toffset+=4;\n"); break; case sz_word: comprintf("\t\t\tmov_w_rR(i,native,offset);\n" - "\t\t\tgen_bswap_16(i);\n" + "\t\t\tmid_bswap_16(i);\n" "\t\t\tsign_extend_16_rr(i,i);\n" "\t\t\toffset+=2;\n"); break; @@ -765,13 +765,13 @@ genmovemle (uae_u16 opcode) switch(table68k[opcode].size) { case sz_long: comprintf("\t\t\tmov_l_rr(tmp,i);\n" - "\t\t\tgen_bswap_32(tmp);\n" + "\t\t\tmid_bswap_32(tmp);\n" "\t\t\tmov_l_Rr(native,tmp,offset);\n" "\t\t\toffset+=4;\n"); break; case sz_word: comprintf("\t\t\tmov_l_rr(tmp,i);\n" - "\t\t\tgen_bswap_16(tmp);\n" + "\t\t\tmid_bswap_16(tmp);\n" "\t\t\tmov_w_Rr(native,tmp,offset);\n" "\t\t\toffset+=2;\n"); break; @@ -785,14 +785,14 @@ genmovemle (uae_u16 opcode) case sz_long: comprintf("\t\t\toffset-=4;\n" "\t\t\tmov_l_rr(tmp,15-i);\n" - "\t\t\tgen_bswap_32(tmp);\n" + "\t\t\tmid_bswap_32(tmp);\n" "\t\t\tmov_l_Rr(native,tmp,offset);\n" ); break; case sz_word: comprintf("\t\t\toffset-=2;\n" "\t\t\tmov_l_rr(tmp,15-i);\n" - "\t\t\tgen_bswap_16(tmp);\n" + "\t\t\tmid_bswap_16(tmp);\n" "\t\t\tmov_w_Rr(native,tmp,offset);\n" ); break;