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
Unit Tests
| Time | Test | |
|---|---|---|
| 160 ms | linux > Polly.ScopInfo::Unknown Unit Message ("") | 
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. | |
clang-format not found in user's PATH; not linting file.