Commit 6eea2b1b81a878b471d597f7fac8598240088898

Authored by bellard
1 parent ae200d10

add missing FORCE_RET (Paul Brook)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1329 c046a42c-6fe2-441c-8c8c-71466251a162
target-i386/op.c
@@ -1842,11 +1842,13 @@ void OPPROTO op_fsts_ST0_A0(void) @@ -1842,11 +1842,13 @@ void OPPROTO op_fsts_ST0_A0(void)
1842 #else 1842 #else
1843 stfl(A0, (float)ST0); 1843 stfl(A0, (float)ST0);
1844 #endif 1844 #endif
  1845 + FORCE_RET();
1845 } 1846 }
1846 1847
1847 void OPPROTO op_fstl_ST0_A0(void) 1848 void OPPROTO op_fstl_ST0_A0(void)
1848 { 1849 {
1849 stfq(A0, (double)ST0); 1850 stfq(A0, (double)ST0);
  1851 + FORCE_RET();
1850 } 1852 }
1851 1853
1852 void OPPROTO op_fstt_ST0_A0(void) 1854 void OPPROTO op_fstt_ST0_A0(void)
@@ -1868,6 +1870,7 @@ void OPPROTO op_fist_ST0_A0(void) @@ -1868,6 +1870,7 @@ void OPPROTO op_fist_ST0_A0(void)
1868 if (val != (int16_t)val) 1870 if (val != (int16_t)val)
1869 val = -32768; 1871 val = -32768;
1870 stw(A0, val); 1872 stw(A0, val);
  1873 + FORCE_RET();
1871 } 1874 }
1872 1875
1873 void OPPROTO op_fistl_ST0_A0(void) 1876 void OPPROTO op_fistl_ST0_A0(void)
@@ -1882,6 +1885,7 @@ void OPPROTO op_fistl_ST0_A0(void) @@ -1882,6 +1885,7 @@ void OPPROTO op_fistl_ST0_A0(void)
1882 d = ST0; 1885 d = ST0;
1883 val = lrint(d); 1886 val = lrint(d);
1884 stl(A0, val); 1887 stl(A0, val);
  1888 + FORCE_RET();
1885 } 1889 }
1886 1890
1887 void OPPROTO op_fistll_ST0_A0(void) 1891 void OPPROTO op_fistll_ST0_A0(void)
@@ -1896,6 +1900,7 @@ void OPPROTO op_fistll_ST0_A0(void) @@ -1896,6 +1900,7 @@ void OPPROTO op_fistll_ST0_A0(void)
1896 d = ST0; 1900 d = ST0;
1897 val = llrint(d); 1901 val = llrint(d);
1898 stq(A0, val); 1902 stq(A0, val);
  1903 + FORCE_RET();
1899 } 1904 }
1900 1905
1901 void OPPROTO op_fbld_ST0_A0(void) 1906 void OPPROTO op_fbld_ST0_A0(void)
@@ -2228,6 +2233,7 @@ void OPPROTO op_fnstsw_A0(void) @@ -2228,6 +2233,7 @@ void OPPROTO op_fnstsw_A0(void)
2228 int fpus; 2233 int fpus;
2229 fpus = (env->fpus & ~0x3800) | (env->fpstt & 0x7) << 11; 2234 fpus = (env->fpus & ~0x3800) | (env->fpstt & 0x7) << 11;
2230 stw(A0, fpus); 2235 stw(A0, fpus);
  2236 + FORCE_RET();
2231 } 2237 }
2232 2238
2233 void OPPROTO op_fnstsw_EAX(void) 2239 void OPPROTO op_fnstsw_EAX(void)
@@ -2240,6 +2246,7 @@ void OPPROTO op_fnstsw_EAX(void) @@ -2240,6 +2246,7 @@ void OPPROTO op_fnstsw_EAX(void)
2240 void OPPROTO op_fnstcw_A0(void) 2246 void OPPROTO op_fnstcw_A0(void)
2241 { 2247 {
2242 stw(A0, env->fpuc); 2248 stw(A0, env->fpuc);
  2249 + FORCE_RET();
2243 } 2250 }
2244 2251
2245 void OPPROTO op_fldcw_A0(void) 2252 void OPPROTO op_fldcw_A0(void)
target-i386/ops_mem.h
@@ -51,33 +51,39 @@ void OPPROTO glue(glue(op_ldl, MEMSUFFIX), _T1_A0)(void) @@ -51,33 +51,39 @@ void OPPROTO glue(glue(op_ldl, MEMSUFFIX), _T1_A0)(void)
51 void OPPROTO glue(glue(op_stb, MEMSUFFIX), _T0_A0)(void) 51 void OPPROTO glue(glue(op_stb, MEMSUFFIX), _T0_A0)(void)
52 { 52 {
53 glue(stb, MEMSUFFIX)(A0, T0); 53 glue(stb, MEMSUFFIX)(A0, T0);
  54 + FORCE_RET();
54 } 55 }
55 56
56 void OPPROTO glue(glue(op_stw, MEMSUFFIX), _T0_A0)(void) 57 void OPPROTO glue(glue(op_stw, MEMSUFFIX), _T0_A0)(void)
57 { 58 {
58 glue(stw, MEMSUFFIX)(A0, T0); 59 glue(stw, MEMSUFFIX)(A0, T0);
  60 + FORCE_RET();
59 } 61 }
60 62
61 void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T0_A0)(void) 63 void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T0_A0)(void)
62 { 64 {
63 glue(stl, MEMSUFFIX)(A0, T0); 65 glue(stl, MEMSUFFIX)(A0, T0);
  66 + FORCE_RET();
64 } 67 }
65 68
66 #if 0 69 #if 0
67 void OPPROTO glue(glue(op_stb, MEMSUFFIX), _T1_A0)(void) 70 void OPPROTO glue(glue(op_stb, MEMSUFFIX), _T1_A0)(void)
68 { 71 {
69 glue(stb, MEMSUFFIX)(A0, T1); 72 glue(stb, MEMSUFFIX)(A0, T1);
  73 + FORCE_RET();
70 } 74 }
71 #endif 75 #endif
72 76
73 void OPPROTO glue(glue(op_stw, MEMSUFFIX), _T1_A0)(void) 77 void OPPROTO glue(glue(op_stw, MEMSUFFIX), _T1_A0)(void)
74 { 78 {
75 glue(stw, MEMSUFFIX)(A0, T1); 79 glue(stw, MEMSUFFIX)(A0, T1);
  80 + FORCE_RET();
76 } 81 }
77 82
78 void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T1_A0)(void) 83 void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T1_A0)(void)
79 { 84 {
80 glue(stl, MEMSUFFIX)(A0, T1); 85 glue(stl, MEMSUFFIX)(A0, T1);
  86 + FORCE_RET();
81 } 87 }
82 88
83 /* SSE/MMX support */ 89 /* SSE/MMX support */
@@ -93,6 +99,7 @@ void OPPROTO glue(glue(op_stq, MEMSUFFIX), _env_A0)(void) @@ -93,6 +99,7 @@ void OPPROTO glue(glue(op_stq, MEMSUFFIX), _env_A0)(void)
93 uint64_t *p; 99 uint64_t *p;
94 p = (uint64_t *)((char *)env + PARAM1); 100 p = (uint64_t *)((char *)env + PARAM1);
95 glue(stq, MEMSUFFIX)(A0, *p); 101 glue(stq, MEMSUFFIX)(A0, *p);
  102 + FORCE_RET();
96 } 103 }
97 104
98 void OPPROTO glue(glue(op_ldo, MEMSUFFIX), _env_A0)(void) 105 void OPPROTO glue(glue(op_ldo, MEMSUFFIX), _env_A0)(void)
@@ -109,6 +116,7 @@ void OPPROTO glue(glue(op_sto, MEMSUFFIX), _env_A0)(void) @@ -109,6 +116,7 @@ void OPPROTO glue(glue(op_sto, MEMSUFFIX), _env_A0)(void)
109 p = (XMMReg *)((char *)env + PARAM1); 116 p = (XMMReg *)((char *)env + PARAM1);
110 glue(stq, MEMSUFFIX)(A0, p->XMM_Q(0)); 117 glue(stq, MEMSUFFIX)(A0, p->XMM_Q(0));
111 glue(stq, MEMSUFFIX)(A0 + 8, p->XMM_Q(1)); 118 glue(stq, MEMSUFFIX)(A0 + 8, p->XMM_Q(1));
  119 + FORCE_RET();
112 } 120 }
113 121
114 #ifdef TARGET_X86_64 122 #ifdef TARGET_X86_64
@@ -135,11 +143,13 @@ void OPPROTO glue(glue(op_ldq, MEMSUFFIX), _T1_A0)(void) @@ -135,11 +143,13 @@ void OPPROTO glue(glue(op_ldq, MEMSUFFIX), _T1_A0)(void)
135 void OPPROTO glue(glue(op_stq, MEMSUFFIX), _T0_A0)(void) 143 void OPPROTO glue(glue(op_stq, MEMSUFFIX), _T0_A0)(void)
136 { 144 {
137 glue(stq, MEMSUFFIX)(A0, T0); 145 glue(stq, MEMSUFFIX)(A0, T0);
  146 + FORCE_RET();
138 } 147 }
139 148
140 void OPPROTO glue(glue(op_stq, MEMSUFFIX), _T1_A0)(void) 149 void OPPROTO glue(glue(op_stq, MEMSUFFIX), _T1_A0)(void)
141 { 150 {
142 glue(stq, MEMSUFFIX)(A0, T1); 151 glue(stq, MEMSUFFIX)(A0, T1);
  152 + FORCE_RET();
143 } 153 }
144 #endif 154 #endif
145 155
target-sparc/op.c
@@ -765,6 +765,7 @@ void OPPROTO op_eval_fbue(void) @@ -765,6 +765,7 @@ void OPPROTO op_eval_fbue(void)
765 { 765 {
766 // 0 or 3 766 // 0 or 3
767 T2 = !(FFLAG_SET(FSR_FCC1) ^ FFLAG_SET(FSR_FCC0)); 767 T2 = !(FFLAG_SET(FSR_FCC1) ^ FFLAG_SET(FSR_FCC0));
  768 + FORCE_RET();
768 } 769 }
769 770
770 void OPPROTO op_eval_fbge(void) 771 void OPPROTO op_eval_fbge(void)