Unsigned int 0 will be converted to float/double -0.0 when the rounding
mode is set to 'FE_DOWNWARD'. Use FILD instruction instead of SSE
instructions on 32-bit target if the strictfp is enabled.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
21245 | Why we need 32Bit check? Above code doesn't do that. |
llvm/lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
21245 | In 64bit, cvtsi2ss will be emitted. There is no intermediate subtraction operation, which avoid such error. |
llvm/lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
21223 | Here, i32 will be promoted to i64 for 64-bit target. |
llvm/lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
21245 | I see. So we still don't need to check it because we can't go here on 64 bit. The check may imply we can't do it on 64 bit for some reason. |
Here, i32 will be promoted to i64 for 64-bit target.