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