powerpc/85xx: Fix SPE float to integer conversion failure
Conversion from float to integer should based on both the instruction encoding and the sign of the operand. A simple testcase to show the issue: static float fm; static signed int si_min = (-2147483647 - 1); static unsigned int ui; int main() { fm = (float) si_min; ; ui = (unsigned int)fm; printf("ui=%d, should be %d\n", ui, si_min); return 0; } Result: ui=-1, should be -2147483648 Signed-off-by: NShan Hai <shan.hai@windriver.com> Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
Showing
想要评论请 注册 或 登录