Commit db8d9902041dfe771812862ebf06980333a37468

Authored by aurel32
1 parent 49516bc0

Remove FORCE_RET() and RETURN()

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5923 c046a42c-6fe2-441c-8c8c-71466251a162
dyngen-exec.h
@@ -198,9 +198,6 @@ extern int printf(const char *, ...); @@ -198,9 +198,6 @@ extern int printf(const char *, ...);
198 #error unsupported CPU 198 #error unsupported CPU
199 #endif 199 #endif
200 200
201 -/* force GCC to generate only one epilog at the end of the function */  
202 -#define FORCE_RET() __asm__ __volatile__("" : : : "memory");  
203 -  
204 #define xglue(x, y) x ## y 201 #define xglue(x, y) x ## y
205 #define glue(x, y) xglue(x, y) 202 #define glue(x, y) xglue(x, y)
206 #define stringify(s) tostring(s) 203 #define stringify(s) tostring(s)
target-arm/op_helper.c
@@ -509,7 +509,6 @@ void HELPER(neon_trn_u8)(void) @@ -509,7 +509,6 @@ void HELPER(neon_trn_u8)(void)
509 rm = ((T1 & 0xff00ff00) >> 8) | (T0 & 0xff00ff00); 509 rm = ((T1 & 0xff00ff00) >> 8) | (T0 & 0xff00ff00);
510 T0 = rd; 510 T0 = rd;
511 T1 = rm; 511 T1 = rm;
512 - FORCE_RET();  
513 } 512 }
514 513
515 void HELPER(neon_trn_u16)(void) 514 void HELPER(neon_trn_u16)(void)
@@ -520,7 +519,6 @@ void HELPER(neon_trn_u16)(void) @@ -520,7 +519,6 @@ void HELPER(neon_trn_u16)(void)
520 rm = (T1 >> 16) | (T0 & 0xffff0000); 519 rm = (T1 >> 16) | (T0 & 0xffff0000);
521 T0 = rd; 520 T0 = rd;
522 T1 = rm; 521 T1 = rm;
523 - FORCE_RET();  
524 } 522 }
525 523
526 /* Worker routines for zip and unzip. */ 524 /* Worker routines for zip and unzip. */
@@ -534,7 +532,6 @@ void HELPER(neon_unzip_u8)(void) @@ -534,7 +532,6 @@ void HELPER(neon_unzip_u8)(void)
534 | ((T1 << 8) & 0xff0000) | (T1 & 0xff000000); 532 | ((T1 << 8) & 0xff0000) | (T1 & 0xff000000);
535 T0 = rd; 533 T0 = rd;
536 T1 = rm; 534 T1 = rm;
537 - FORCE_RET();  
538 } 535 }
539 536
540 void HELPER(neon_zip_u8)(void) 537 void HELPER(neon_zip_u8)(void)
@@ -547,7 +544,6 @@ void HELPER(neon_zip_u8)(void) @@ -547,7 +544,6 @@ void HELPER(neon_zip_u8)(void)
547 | ((T0 >> 8) & 0xff0000) | (T1 & 0xff000000); 544 | ((T0 >> 8) & 0xff0000) | (T1 & 0xff000000);
548 T0 = rd; 545 T0 = rd;
549 T1 = rm; 546 T1 = rm;
550 - FORCE_RET();  
551 } 547 }
552 548
553 void HELPER(neon_zip_u16)(void) 549 void HELPER(neon_zip_u16)(void)
@@ -557,5 +553,4 @@ void HELPER(neon_zip_u16)(void) @@ -557,5 +553,4 @@ void HELPER(neon_zip_u16)(void)
557 tmp = (T0 & 0xffff) | (T1 << 16); 553 tmp = (T0 & 0xffff) | (T1 << 16);
558 T1 = (T1 & 0xffff0000) | (T0 >> 16); 554 T1 = (T1 & 0xffff0000) | (T0 >> 16);
559 T0 = tmp; 555 T0 = tmp;
560 - FORCE_RET();  
561 } 556 }
target-cris/exec.h
@@ -25,8 +25,6 @@ register struct CPUCRISState *env asm(AREG0); @@ -25,8 +25,6 @@ register struct CPUCRISState *env asm(AREG0);
25 #include "cpu.h" 25 #include "cpu.h"
26 #include "exec-all.h" 26 #include "exec-all.h"
27 27
28 -#define RETURN() __asm__ __volatile__("" : : : "memory");  
29 -  
30 static inline void env_to_regs(void) 28 static inline void env_to_regs(void)
31 { 29 {
32 } 30 }
target-cris/op_helper.c
@@ -189,7 +189,6 @@ void helper_movl_reg_sreg (uint32_t reg, uint32_t sreg) @@ -189,7 +189,6 @@ void helper_movl_reg_sreg (uint32_t reg, uint32_t sreg)
189 } 189 }
190 #endif 190 #endif
191 env->regs[reg] = env->sregs[srs][sreg]; 191 env->regs[reg] = env->sregs[srs][sreg];
192 - RETURN();  
193 } 192 }
194 193
195 static void cris_ccs_rshift(CPUState *env) 194 static void cris_ccs_rshift(CPUState *env)
target-i386/op_helper.c
@@ -1745,7 +1745,6 @@ void helper_aaa(void) @@ -1745,7 +1745,6 @@ void helper_aaa(void)
1745 } 1745 }
1746 EAX = (EAX & ~0xffff) | al | (ah << 8); 1746 EAX = (EAX & ~0xffff) | al | (ah << 8);
1747 CC_SRC = eflags; 1747 CC_SRC = eflags;
1748 - FORCE_RET();  
1749 } 1748 }
1750 1749
1751 void helper_aas(void) 1750 void helper_aas(void)
@@ -1770,7 +1769,6 @@ void helper_aas(void) @@ -1770,7 +1769,6 @@ void helper_aas(void)
1770 } 1769 }
1771 EAX = (EAX & ~0xffff) | al | (ah << 8); 1770 EAX = (EAX & ~0xffff) | al | (ah << 8);
1772 CC_SRC = eflags; 1771 CC_SRC = eflags;
1773 - FORCE_RET();  
1774 } 1772 }
1775 1773
1776 void helper_daa(void) 1774 void helper_daa(void)
@@ -1798,7 +1796,6 @@ void helper_daa(void) @@ -1798,7 +1796,6 @@ void helper_daa(void)
1798 eflags |= parity_table[al]; /* pf */ 1796 eflags |= parity_table[al]; /* pf */
1799 eflags |= (al & 0x80); /* sf */ 1797 eflags |= (al & 0x80); /* sf */
1800 CC_SRC = eflags; 1798 CC_SRC = eflags;
1801 - FORCE_RET();  
1802 } 1799 }
1803 1800
1804 void helper_das(void) 1801 void helper_das(void)
@@ -1829,7 +1826,6 @@ void helper_das(void) @@ -1829,7 +1826,6 @@ void helper_das(void)
1829 eflags |= parity_table[al]; /* pf */ 1826 eflags |= parity_table[al]; /* pf */
1830 eflags |= (al & 0x80); /* sf */ 1827 eflags |= (al & 0x80); /* sf */
1831 CC_SRC = eflags; 1828 CC_SRC = eflags;
1832 - FORCE_RET();  
1833 } 1829 }
1834 1830
1835 void helper_into(int next_eip_addend) 1831 void helper_into(int next_eip_addend)
@@ -3553,7 +3549,6 @@ void helper_fcom_ST0_FT0(void) @@ -3553,7 +3549,6 @@ void helper_fcom_ST0_FT0(void)
3553 3549
3554 ret = floatx_compare(ST0, FT0, &env->fp_status); 3550 ret = floatx_compare(ST0, FT0, &env->fp_status);
3555 env->fpus = (env->fpus & ~0x4500) | fcom_ccval[ret + 1]; 3551 env->fpus = (env->fpus & ~0x4500) | fcom_ccval[ret + 1];
3556 - FORCE_RET();  
3557 } 3552 }
3558 3553
3559 void helper_fucom_ST0_FT0(void) 3554 void helper_fucom_ST0_FT0(void)
@@ -3562,7 +3557,6 @@ void helper_fucom_ST0_FT0(void) @@ -3562,7 +3557,6 @@ void helper_fucom_ST0_FT0(void)
3562 3557
3563 ret = floatx_compare_quiet(ST0, FT0, &env->fp_status); 3558 ret = floatx_compare_quiet(ST0, FT0, &env->fp_status);
3564 env->fpus = (env->fpus & ~0x4500) | fcom_ccval[ret+ 1]; 3559 env->fpus = (env->fpus & ~0x4500) | fcom_ccval[ret+ 1];
3565 - FORCE_RET();  
3566 } 3560 }
3567 3561
3568 static const int fcomi_ccval[4] = {CC_C, CC_Z, 0, CC_Z | CC_P | CC_C}; 3562 static const int fcomi_ccval[4] = {CC_C, CC_Z, 0, CC_Z | CC_P | CC_C};
@@ -3576,7 +3570,6 @@ void helper_fcomi_ST0_FT0(void) @@ -3576,7 +3570,6 @@ void helper_fcomi_ST0_FT0(void)
3576 eflags = helper_cc_compute_all(CC_OP); 3570 eflags = helper_cc_compute_all(CC_OP);
3577 eflags = (eflags & ~(CC_Z | CC_P | CC_C)) | fcomi_ccval[ret + 1]; 3571 eflags = (eflags & ~(CC_Z | CC_P | CC_C)) | fcomi_ccval[ret + 1];
3578 CC_SRC = eflags; 3572 CC_SRC = eflags;
3579 - FORCE_RET();  
3580 } 3573 }
3581 3574
3582 void helper_fucomi_ST0_FT0(void) 3575 void helper_fucomi_ST0_FT0(void)
@@ -3588,7 +3581,6 @@ void helper_fucomi_ST0_FT0(void) @@ -3588,7 +3581,6 @@ void helper_fucomi_ST0_FT0(void)
3588 eflags = helper_cc_compute_all(CC_OP); 3581 eflags = helper_cc_compute_all(CC_OP);
3589 eflags = (eflags & ~(CC_Z | CC_P | CC_C)) | fcomi_ccval[ret + 1]; 3582 eflags = (eflags & ~(CC_Z | CC_P | CC_C)) | fcomi_ccval[ret + 1];
3590 CC_SRC = eflags; 3583 CC_SRC = eflags;
3591 - FORCE_RET();  
3592 } 3584 }
3593 3585
3594 void helper_fadd_ST0_FT0(void) 3586 void helper_fadd_ST0_FT0(void)
@@ -3773,7 +3765,6 @@ void helper_fwait(void) @@ -3773,7 +3765,6 @@ void helper_fwait(void)
3773 { 3765 {
3774 if (env->fpus & FPUS_SE) 3766 if (env->fpus & FPUS_SE)
3775 fpu_raise_exception(); 3767 fpu_raise_exception();
3776 - FORCE_RET();  
3777 } 3768 }
3778 3769
3779 void helper_fninit(void) 3770 void helper_fninit(void)
@@ -4629,7 +4620,6 @@ void helper_boundw(target_ulong a0, int v) @@ -4629,7 +4620,6 @@ void helper_boundw(target_ulong a0, int v)
4629 if (v < low || v > high) { 4620 if (v < low || v > high) {
4630 raise_exception(EXCP05_BOUND); 4621 raise_exception(EXCP05_BOUND);
4631 } 4622 }
4632 - FORCE_RET();  
4633 } 4623 }
4634 4624
4635 void helper_boundl(target_ulong a0, int v) 4625 void helper_boundl(target_ulong a0, int v)
@@ -4640,7 +4630,6 @@ void helper_boundl(target_ulong a0, int v) @@ -4640,7 +4630,6 @@ void helper_boundl(target_ulong a0, int v)
4640 if (v < low || v > high) { 4630 if (v < low || v > high) {
4641 raise_exception(EXCP05_BOUND); 4631 raise_exception(EXCP05_BOUND);
4642 } 4632 }
4643 - FORCE_RET();  
4644 } 4633 }
4645 4634
4646 static float approx_rsqrt(float a) 4635 static float approx_rsqrt(float a)
target-i386/ops_sse.h
@@ -58,7 +58,6 @@ void glue(helper_psrlw, SUFFIX)(Reg *d, Reg *s) @@ -58,7 +58,6 @@ void glue(helper_psrlw, SUFFIX)(Reg *d, Reg *s)
58 d->W(7) >>= shift; 58 d->W(7) >>= shift;
59 #endif 59 #endif
60 } 60 }
61 - FORCE_RET();  
62 } 61 }
63 62
64 void glue(helper_psraw, SUFFIX)(Reg *d, Reg *s) 63 void glue(helper_psraw, SUFFIX)(Reg *d, Reg *s)
@@ -104,7 +103,6 @@ void glue(helper_psllw, SUFFIX)(Reg *d, Reg *s) @@ -104,7 +103,6 @@ void glue(helper_psllw, SUFFIX)(Reg *d, Reg *s)
104 d->W(7) <<= shift; 103 d->W(7) <<= shift;
105 #endif 104 #endif
106 } 105 }
107 - FORCE_RET();  
108 } 106 }
109 107
110 void glue(helper_psrld, SUFFIX)(Reg *d, Reg *s) 108 void glue(helper_psrld, SUFFIX)(Reg *d, Reg *s)
@@ -125,7 +123,6 @@ void glue(helper_psrld, SUFFIX)(Reg *d, Reg *s) @@ -125,7 +123,6 @@ void glue(helper_psrld, SUFFIX)(Reg *d, Reg *s)
125 d->L(3) >>= shift; 123 d->L(3) >>= shift;
126 #endif 124 #endif
127 } 125 }
128 - FORCE_RET();  
129 } 126 }
130 127
131 void glue(helper_psrad, SUFFIX)(Reg *d, Reg *s) 128 void glue(helper_psrad, SUFFIX)(Reg *d, Reg *s)
@@ -163,7 +160,6 @@ void glue(helper_pslld, SUFFIX)(Reg *d, Reg *s) @@ -163,7 +160,6 @@ void glue(helper_pslld, SUFFIX)(Reg *d, Reg *s)
163 d->L(3) <<= shift; 160 d->L(3) <<= shift;
164 #endif 161 #endif
165 } 162 }
166 - FORCE_RET();  
167 } 163 }
168 164
169 void glue(helper_psrlq, SUFFIX)(Reg *d, Reg *s) 165 void glue(helper_psrlq, SUFFIX)(Reg *d, Reg *s)
@@ -182,7 +178,6 @@ void glue(helper_psrlq, SUFFIX)(Reg *d, Reg *s) @@ -182,7 +178,6 @@ void glue(helper_psrlq, SUFFIX)(Reg *d, Reg *s)
182 d->Q(1) >>= shift; 178 d->Q(1) >>= shift;
183 #endif 179 #endif
184 } 180 }
185 - FORCE_RET();  
186 } 181 }
187 182
188 void glue(helper_psllq, SUFFIX)(Reg *d, Reg *s) 183 void glue(helper_psllq, SUFFIX)(Reg *d, Reg *s)
@@ -201,7 +196,6 @@ void glue(helper_psllq, SUFFIX)(Reg *d, Reg *s) @@ -201,7 +196,6 @@ void glue(helper_psllq, SUFFIX)(Reg *d, Reg *s)
201 d->Q(1) <<= shift; 196 d->Q(1) <<= shift;
202 #endif 197 #endif
203 } 198 }
204 - FORCE_RET();  
205 } 199 }
206 200
207 #if SHIFT == 1 201 #if SHIFT == 1
@@ -216,7 +210,6 @@ void glue(helper_psrldq, SUFFIX)(Reg *d, Reg *s) @@ -216,7 +210,6 @@ void glue(helper_psrldq, SUFFIX)(Reg *d, Reg *s)
216 d->B(i) = d->B(i + shift); 210 d->B(i) = d->B(i + shift);
217 for(i = 16 - shift; i < 16; i++) 211 for(i = 16 - shift; i < 16; i++)
218 d->B(i) = 0; 212 d->B(i) = 0;
219 - FORCE_RET();  
220 } 213 }
221 214
222 void glue(helper_pslldq, SUFFIX)(Reg *d, Reg *s) 215 void glue(helper_pslldq, SUFFIX)(Reg *d, Reg *s)
@@ -230,7 +223,6 @@ void glue(helper_pslldq, SUFFIX)(Reg *d, Reg *s) @@ -230,7 +223,6 @@ void glue(helper_pslldq, SUFFIX)(Reg *d, Reg *s)
230 d->B(i) = d->B(i - shift); 223 d->B(i) = d->B(i - shift);
231 for(i = 0; i < shift; i++) 224 for(i = 0; i < shift; i++)
232 d->B(i) = 0; 225 d->B(i) = 0;
233 - FORCE_RET();  
234 } 226 }
235 #endif 227 #endif
236 228
@@ -432,7 +424,6 @@ void glue(helper_pmaddwd, SUFFIX) (Reg *d, Reg *s) @@ -432,7 +424,6 @@ void glue(helper_pmaddwd, SUFFIX) (Reg *d, Reg *s)
432 d->L(i) = (int16_t)s->W(2*i) * (int16_t)d->W(2*i) + 424 d->L(i) = (int16_t)s->W(2*i) * (int16_t)d->W(2*i) +
433 (int16_t)s->W(2*i+1) * (int16_t)d->W(2*i+1); 425 (int16_t)s->W(2*i+1) * (int16_t)d->W(2*i+1);
434 } 426 }
435 - FORCE_RET();  
436 } 427 }
437 428
438 #if SHIFT == 0 429 #if SHIFT == 0
@@ -479,7 +470,6 @@ void glue(helper_maskmov, SUFFIX) (Reg *d, Reg *s, target_ulong a0) @@ -479,7 +470,6 @@ void glue(helper_maskmov, SUFFIX) (Reg *d, Reg *s, target_ulong a0)
479 if (s->B(i) & 0x80) 470 if (s->B(i) & 0x80)
480 stb(a0 + i, d->B(i)); 471 stb(a0 + i, d->B(i));
481 } 472 }
482 - FORCE_RET();  
483 } 473 }
484 474
485 void glue(helper_movl_mm_T0, SUFFIX) (Reg *d, uint32_t val) 475 void glue(helper_movl_mm_T0, SUFFIX) (Reg *d, uint32_t val)
@@ -917,7 +907,6 @@ void helper_ucomiss(Reg *d, Reg *s) @@ -917,7 +907,6 @@ void helper_ucomiss(Reg *d, Reg *s)
917 s1 = s->XMM_S(0); 907 s1 = s->XMM_S(0);
918 ret = float32_compare_quiet(s0, s1, &env->sse_status); 908 ret = float32_compare_quiet(s0, s1, &env->sse_status);
919 CC_SRC = comis_eflags[ret + 1]; 909 CC_SRC = comis_eflags[ret + 1];
920 - FORCE_RET();  
921 } 910 }
922 911
923 void helper_comiss(Reg *d, Reg *s) 912 void helper_comiss(Reg *d, Reg *s)
@@ -929,7 +918,6 @@ void helper_comiss(Reg *d, Reg *s) @@ -929,7 +918,6 @@ void helper_comiss(Reg *d, Reg *s)
929 s1 = s->XMM_S(0); 918 s1 = s->XMM_S(0);
930 ret = float32_compare(s0, s1, &env->sse_status); 919 ret = float32_compare(s0, s1, &env->sse_status);
931 CC_SRC = comis_eflags[ret + 1]; 920 CC_SRC = comis_eflags[ret + 1];
932 - FORCE_RET();  
933 } 921 }
934 922
935 void helper_ucomisd(Reg *d, Reg *s) 923 void helper_ucomisd(Reg *d, Reg *s)
@@ -941,7 +929,6 @@ void helper_ucomisd(Reg *d, Reg *s) @@ -941,7 +929,6 @@ void helper_ucomisd(Reg *d, Reg *s)
941 d1 = s->XMM_D(0); 929 d1 = s->XMM_D(0);
942 ret = float64_compare_quiet(d0, d1, &env->sse_status); 930 ret = float64_compare_quiet(d0, d1, &env->sse_status);
943 CC_SRC = comis_eflags[ret + 1]; 931 CC_SRC = comis_eflags[ret + 1];
944 - FORCE_RET();  
945 } 932 }
946 933
947 void helper_comisd(Reg *d, Reg *s) 934 void helper_comisd(Reg *d, Reg *s)
@@ -953,7 +940,6 @@ void helper_comisd(Reg *d, Reg *s) @@ -953,7 +940,6 @@ void helper_comisd(Reg *d, Reg *s)
953 d1 = s->XMM_D(0); 940 d1 = s->XMM_D(0);
954 ret = float64_compare(d0, d1, &env->sse_status); 941 ret = float64_compare(d0, d1, &env->sse_status);
955 CC_SRC = comis_eflags[ret + 1]; 942 CC_SRC = comis_eflags[ret + 1];
956 - FORCE_RET();  
957 } 943 }
958 944
959 uint32_t helper_movmskps(Reg *s) 945 uint32_t helper_movmskps(Reg *s)
target-sh4/exec.h
@@ -43,8 +43,6 @@ static inline int cpu_halted(CPUState *env) { @@ -43,8 +43,6 @@ static inline int cpu_halted(CPUState *env) {
43 #include "softmmu_exec.h" 43 #include "softmmu_exec.h"
44 #endif 44 #endif
45 45
46 -#define RETURN() __asm__ __volatile__("")  
47 -  
48 static inline void regs_to_env(void) 46 static inline void regs_to_env(void)
49 { 47 {
50 /* XXXXX */ 48 /* XXXXX */