Liste des Groupes | Revenir à c arch |
On 9/18/2024 9:27 AM, MitchAlsup1 wrote:So, you like sailing with an albatross tied around your neck:: Check.On Wed, 18 Sep 2024 4:00:43 +0000, BGB wrote:>
>On 9/17/2024 6:04 PM, MitchAlsup1 wrote:>>Still limited to 32-bit displacement from IP.>
>
How would you perform the following call::
current IP = 0x0000000000001234
target IP = 0x7FFFFFFF00001234
>
This is a single (2-word) instruction in my ISA, assuming GOT is
32-bit displaceable and 64-bit entries.
>
Granted, but in plain RISC-V, there is no real better option.
>
If one wants to generate 64-bit displacement, and doesn't want to load a
constant from memory:
LUI X6, Disp20Hi //20 bits
ADDI X6, X6, Disp12Hi //12 bits
AUIPC X7, Disp20Lo
ADD X7, Disp12Lo
SLLI X6, X6, 32
ADD X7, X7, X6
How very much simpler is::
>
MEM Rd,[IP,Ri<<s,DISP64]
>
1 instruction, 3 words, 1 decode cycle, no forwarding, shorter latency.
>
It is simpler, but N/E in RV64G...
>
This is the whole issue of the idea:
Remain backwards compatible with RV64G / RV64GC (in a binary sense).
*and* try to allow extending it in a way such that performance can beI should remind you that if you eliminate the compressed parts of
less poor...
COMMON ?alpha/ a(100,100), b(300,300),>>>
Which is sort of the whole reason I am considering hacking around it
with an alternate encoding scheme.
Just put in real constants.>>
New encoding scheme can in theory do:
LEA X7, PC, Disp64
In a single 96-bit instruction.
Where is the indexing register?
Generally the use of a displacement and index register are mutually
exclusive (and, cases that can make use of Disp AND Index are much less
common than Disp OR Index).
I may still consider defining an encoding for this, but not yet. It isMyopathy--look it up.
in a similar boat as auto-increment. Both add resource cost with
relatively little benefit in terms of overall performance.
Auto-increment because if one has superscalar, the increment can usually
be co-executed. And, full [Rb+Ri*Sc+Disp], because it is just too
infrequent to really justify the extra cost of a 3-way adder even if
limited mostly to the low-order bits...
Les messages affichés proviennent d'usenet.