Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.

Proposal "Big Integer" Instructions

Sirisian
Beginner
108 Views

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?

0 Kudos
0 Replies
Reply