Skybuck Flying
2010-06-07 21:11:19 UTC
Hello,
Suppose I want to design a new instruction for the x86 instruction set or
perhaps the newer version/extension the x64 instruction set... I have a
question about that...
The question is:
What's the maximum number of operands at my disposal for the design ?
For example SHLD has 3 operands:
Two flexible ones and one hard coded one: CL
So what is the maximum number of "flexible operands" ?
And what is the maximum number of "hardcoded operands" ?
For hardcoded operands I imagine that there might be no limit... for example
a "machine/state reset" instruction could simply reset the entire
machine/state.
But I could also imagine that there might be hardware limitations to do or
unwanted situations cost wise... but for now I am looking for true
architectural maximums.
For the "flexible operands" I am not sure what the answer is... ? also is it
a different answer for x86 vs x64 ?
Bye,
Skybuck.
Suppose I want to design a new instruction for the x86 instruction set or
perhaps the newer version/extension the x64 instruction set... I have a
question about that...
The question is:
What's the maximum number of operands at my disposal for the design ?
For example SHLD has 3 operands:
Two flexible ones and one hard coded one: CL
So what is the maximum number of "flexible operands" ?
And what is the maximum number of "hardcoded operands" ?
For hardcoded operands I imagine that there might be no limit... for example
a "machine/state reset" instruction could simply reset the entire
machine/state.
But I could also imagine that there might be hardware limitations to do or
unwanted situations cost wise... but for now I am looking for true
architectural maximums.
For the "flexible operands" I am not sure what the answer is... ? also is it
a different answer for x86 vs x64 ?
Bye,
Skybuck.