Fault-Only-First Indexed Loads Instructions
lidawei14@...
Hi all,
In this page I would like to discuss about fault-only-first indexed load instructions since we have
certain using cases, for example, SPEC CPU 2006 4.1.bzip2 src/blocksort.c:line 712.
For fault-only-first instructions like vleff.v, they support data dependent loop exits like code below:
```
In this page I would like to discuss about fault-only-first indexed load instructions since we have
certain using cases, for example, SPEC CPU 2006 4.1.bzip2 src/blocksort.c:line 712.
For fault-only-first instructions like vleff.v, they support data dependent loop exits like code below:
```
for (i=0; i<N; i++){
t= a[i];
if (t< 3)
return t;
}
```
but in some cases we have indirect data access pattern:
```
but in some cases we have indirect data access pattern:
```
for (i=0; i<N; i++){
t= a[b[i]];
if (t< 3)
return t;
}
```
We will need to load indices b[i] first and then do an indexed fault-only-first load for a[],
thus this raises a need for fault-only-first indexed load instructions in our V extension.
In the spec it says fault-only-first instructions could be implemented in future versions,
then I believe it makes sense to have a discussion here.
We will need to load indices b[i] first and then do an indexed fault-only-first load for a[],
thus this raises a need for fault-only-first indexed load instructions in our V extension.
In the spec it says fault-only-first instructions could be implemented in future versions,
then I believe it makes sense to have a discussion here.