- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is more of a discussion, not a real proposal, because I can't find anyone familiar with this topic. I'll keep this short.
For some background I've had code I wrote over a decade ago that performs integer-only computation in order to bypass floating point issues. (To get exact results). The issue is one piece of it requires up to 512-bit integer math.
The basic operations I'd want for unsigned values (though I understand signed might be more useful) are addition, subtraction, multiplication, and division/modulus. 512 might complicate this without 1024-bit registers?
I'd also like comparison operators and associated conditional move instructions.
ADD SUB MUL DIV CMP CMOVcc
128 1 1 1 1 1 30
256 1 1 1 1 1 30
512 1 1 1 1 1 30
I don't actually need all the 90 CMOVcc variants, but I'd understand if the standards process forces an all or nothing implementation.
My goal with these new instructions would be performance related as such operations require a lot of instructions.
Have such extensions been proposed before? Is there a fundamental issue (like the carry operations)? Or is it a lack of uses to justify the opcode complexity? Or lack of compiler interest? Or something else?
If this is viable now, is there a way to find engineers that could create a formal proposal to push this through Intel and AMD's process for new extensions?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Most likely such instructions have not been implemented because there is no high demand for them. In other words, the die area for an efficient implementation is rather spent on other features. Instead other instructions have been realized to support the software implementation of long integer arithmetic, e.g. ADX and MULX. See New Instructions Supporting Large Integer Arithmetic on Intel® Architecture Processors for examples how to use them.
You might also want to check is libraries like GMP can serve your needs.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page