1321 CASE(_f2d): /* convert top of stack float to double */ |
1321 CASE(_f2d): /* convert top of stack float to double */ |
1322 { |
1322 { |
1323 jfloat f; |
1323 jfloat f; |
1324 jdouble r; |
1324 jdouble r; |
1325 f = STACK_FLOAT(-1); |
1325 f = STACK_FLOAT(-1); |
1326 #ifdef IA64 |
|
1327 // IA64 gcc bug |
|
1328 r = ( f == 0.0f ) ? (jdouble) f : (jdouble) f + ia64_double_zero; |
|
1329 #else |
|
1330 r = (jdouble) f; |
1326 r = (jdouble) f; |
1331 #endif |
|
1332 MORE_STACK(-1); // POP |
1327 MORE_STACK(-1); // POP |
1333 SET_STACK_DOUBLE(r, 1); |
1328 SET_STACK_DOUBLE(r, 1); |
1334 UPDATE_PC_AND_TOS_AND_CONTINUE(1, 2); |
1329 UPDATE_PC_AND_TOS_AND_CONTINUE(1, 2); |
1335 } |
1330 } |
1336 |
1331 |