We can use the roundss/sd/ps/pd instructions like we do for
ceil/floor/trunc/rint/nearbyint.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | ||
---|---|---|
1026 | Should it be 0? Precision (signaled only if imm[3] = ‘0; if imm[3] = ‘1, then the Precision Mask in the MXSCSR is ignored and precision exception is not signaled.) |
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | ||
---|---|---|
1026 |
I thought TS 18661-1 doesn't allow roundeven/round/ceil/trunc/floor to raise inexact exception. |
LGTM.
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | ||
---|---|---|
1026 |
Indeed, TS 18661-1 changed wording and now these functions are closer to their roundToIntegral* counterparts from IEEE-754. |
Should it be 0?
From ROUNDSS description: