-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Open
Labels
backend:X86bugzillaIssues migrated from bugzillaIssues migrated from bugzillagood first issuehttps://github.com/llvm/llvm-project/contributehttps://github.com/llvm/llvm-project/contribute
Description
| Bugzilla Link | 37798 |
| Version | trunk |
| OS | Windows NT |
| Depends On | #37099 |
| CC | @adibiagio,@topperc,@filcab,@gregbedwell,@LebedevRI,@rotateright |
Extended Description
Split off from [Bug #37751].
Now that we've standardised to using X86ISD opcodes for float2int conversions:
// Vector float/double to signed/unsigned integer.
CVTP2SI, CVTP2UI, CVTP2SI_RND, CVTP2UI_RND,
// Scalar float/double to signed/unsigned integer.
CVTS2SI_RND, CVTS2UI_RND,
// Vector float/double to signed/unsigned integer with truncation.
CVTTP2SI, CVTTP2UI, CVTTP2SI_RND, CVTTP2UI_RND,
// Scalar float/double to signed/unsigned integer with truncation.
CVTTS2SI_RND, CVTTS2UI_RND,
We should investigate adding safe constant folding support to these. We could at least support exact conversions (these should be rounding mode independent for non-truncation instructions?).
For truncation instructions we can probably accept inexact conversions as well, as long as no underflow/overflow occurs - this would need to be tested to confirm.
Metadata
Metadata
Assignees
Labels
backend:X86bugzillaIssues migrated from bugzillaIssues migrated from bugzillagood first issuehttps://github.com/llvm/llvm-project/contributehttps://github.com/llvm/llvm-project/contribute