-
Notifications
You must be signed in to change notification settings - Fork 244
Description
Hi, I am new to this project, and I want to contribute to this project by implementing Q extension.
I found several difficulties.
-
load and store

For storing and loading 128bits data, alignment checking and virtual address translation can only support up to 64bits. Changing these to 128 bits would affect other extensions. I tried to use 2 separate memory reads to load the data. But I think there will be some problem when there is an invalid read. -
return value from C softfloat lib
For the C softfloat lib, in the existing code, to return a value from a C function, it uses a 64-bits-vector. I worked around this : I defined two separate extern functions to do the calculation: One returns the upper 64 bits, and the other returns the lower 64bits. I am not sure how to transfer structs between sail and C, and I want to ask where to find documentations about this.

