Updated afer report with corrections and actions.
Make requested revisions to Paolo's upstream patches:
- COMPLETE.
- first patch submitted with changes recommended by Daniel Barboza, awaiting merge.
- second patch made obsolete by merge of Max's V6 patch:
- this incorporates the use of memcpy; and
- we have asked for clarification from Richard Henderson of why atomicity matters for the memcpy call.
SiFive benchmarks:
- COMPLETE.
- the two previously reported failing benchmarks (
strlen
andstrncmp
) are due to attempting to explore values of LMUL that are not supported.
Generate TCG Ops for vector load/store
- IN PROGRESS.
Improve first-fault handling for vector load/store helper functions.
- NOT STARTED.
- Work is affected by Max's version 6 patch.
Improve strided load/store helper functions.
- NOT STARTED.
Note. Max's V6 patch now merged into upstream master.
See report-2024-11-12-13-42-52.pdf. Commits in branches of the rise-rvv-tcg-qemu repository:
- master: 134b443512
- development: 503712d564
Embecosm patch #1 v. master.
- no significant impact:
strcat
,strchr
,strcmp
,strcpy
- improvement:
memchr
,memcmp
,memcpy
,memmove
,memset
,strncat
,strncpy
,strnlen
- no data:
strlen
,strncmp
2024-11-13:
- Paolo Savini to investigate whether patch #1 may cause exceptions to be taken at the wrong byte address, thereby causing a failure on resumption.
- Paolo Savini to investigate whether patch #2 can use larger
memcpy
than Max and therefore may offer further improvements - Jeremy Bennett to redo the SiFive benchmark scripts without any plugins enabled and to report just total execution time when comparing.
Paolo Savini and Jeremy Bennett are both away traveling on 20 November, so the meeting on this date is cancelled. Our next meeting will therefore be on 27 November.