Displaying 5 results from an estimated 5 matches for "page_bound".
2013 Nov 01
6
[LLVMdev] Vectorization of loops with conditional dereferencing
...scheme becomes more complicated, because we need to break the ranges on page boundaries (maybe something like this):
Done = false;
FirstI = -1, LastI = -1;
while (!Done) {
for (I = FirstI+1; I < N; ++I)
if (r[i] > 0) {
FirstI = I;
break;
}
for (; I < N && !page_bound(&m[i]) && ...; ++I) {
if (r[i] > 0)
LastI = I;
}
Done = I == N;
for (I = FirstI; I <= LastI; ...) {
// Run the scalar/vector loop sequence as before.
}
}
I hope that we don't need to do something like this, but I've been disappointed by C/POSIX s...
2013 Nov 14
0
[LLVMdev] Vectorization of loops with conditional dereferencing
...1 November 2013 13:40, Hal Finkel <hfinkel at anl.gov> wrote:
> Done = false;
> FirstI = -1, LastI = -1;
> while (!Done) {
> for (I = FirstI+1; I < N; ++I)
> if (r[i] > 0) {
> FirstI = I;
> break;
> }
>
> for (; I < N && !page_bound(&m[i]) && ...; ++I) {
> if (r[i] > 0)
> LastI = I;
> }
>
> Done = I == N;
>
> for (I = FirstI; I <= LastI; ...) {
> // Run the scalar/vector loop sequence as before.
> }
> }
>
Hi Hal,
Even if you could do something like this...
2013 Nov 01
0
[LLVMdev] Vectorization of loops with conditional dereferencing
...to break the ranges on page boundaries (maybe something like this):
>
> Done = false;
> FirstI = -1, LastI = -1;
> while (!Done) {
> for (I = FirstI+1; I < N; ++I)
> if (r[i] > 0) {
> FirstI = I;
> break;
> }
>
> for (; I < N && !page_bound(&m[i]) && ...; ++I) {
> if (r[i] > 0)
> LastI = I;
> }
>
> Done = I == N;
>
> for (I = FirstI; I <= LastI; ...) {
> // Run the scalar/vector loop sequence as before.
> }
> }
>
> I hope that we don't need to do something l...
2013 Nov 14
3
[LLVMdev] Vectorization of loops with conditional dereferencing
...1 November 2013 13:40, Hal Finkel <hfinkel at anl.gov> wrote:
> Done = false;
> FirstI = -1, LastI = -1;
> while (!Done) {
> for (I = FirstI+1; I < N; ++I)
> if (r[i] > 0) {
> FirstI = I;
> break;
> }
>
> for (; I < N && !page_bound(&m[i]) && ...; ++I) {
> if (r[i] > 0)
> LastI = I;
> }
>
> Done = I == N;
>
> for (I = FirstI; I <= LastI; ...) {
> // Run the scalar/vector loop sequence as before.
> }
> }
>
> Hi Hal,
>
> Even if you could do so...
2013 Nov 01
1
[LLVMdev] Vectorization of loops with conditional dereferencing
...like this):
> >
> > Done = false;
> > FirstI = -1, LastI = -1;
> > while (!Done) {
> > for (I = FirstI+1; I < N; ++I)
> > if (r[i] > 0) {
> > FirstI = I;
> > break;
> > }
> >
> > for (; I < N && !page_bound(&m[i]) && ...; ++I) {
> > if (r[i] > 0)
> > LastI = I;
> > }
> >
> > Done = I == N;
> >
> > for (I = FirstI; I <= LastI; ...) {
> > // Run the scalar/vector loop sequence as before.
> > }
> > }
> >...