-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow 8 octets input signed extension function (64bit) #151
base: main
Are you sure you want to change the base?
Conversation
Allow up to 8 input octets for the signed extension function as a consequence of the change to a 64bit architecture. Direct evidence of this requirement in instructions 140 & 141.
Allow `L_Y` to be up to (value) 8 and thus allow the `signed extension`-function up to 8 bytes of input to determine `V_Y`.
In GP-0.5.0-eq:A.20: Allow `L_Y` to be up to (value) 8 and thus allow the `signed extension`-function up to 8 bytes of input to determine `V_Y`. And add mod2^32 to instruction 72.
In GP-0.5.0-eq:A.21: Allow `L_X` to be up to (value) 8 and thus allow the `signed extension`-function up to 8 bytes of input to determine `V_X`.
In GP-0.5.0-eq:A.23: Allow `L_X` to be up to (value) 8 and thus allow the `signed extension`-function up to 8 bytes of input to determine `V_X`. Required for instructions: 126, 127, 132, 133, 137, 138, 139, 140, 141, 142, 144, 145, 146, 147.
The limit of immediates being at most 4 bytes is a deliberate design decision. We don't want 8 byte immediates; it just makes recompilation into native code slower and more complex without any real benefit. |
@koute could you explain instruction 33 (GP-0.5.0) |
8 byte physical (as encoded in the code blob) immediates are not allowed (except the |
Corrections
Thank you for the comments @koute |
Suggested changes (32bit -> 64bit)