Displaying 1 result from an estimated 1 matches for "32b4e3ed".
2017 Mar 20
2
Is it a valid fp transformation?
This C program produces different results with -O0 and -O3 optimization levels.
#include <stdio.h>
float test(unsigned int arg) {
return (float)((int)(arg * 58)) + 1;
}
int main() {
printf("%d\n", (int)test((unsigned int)-831710640));
}
O0 result is -994576896
O3 result is -994576832
It happens because LLVM (specifically instcombine) does the following transformation: