Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
SWIFTsim
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
SWIFT
SWIFTsim
Commits
f1e514d2
Commit
f1e514d2
authored
8 years ago
by
James Willis
Browse files
Options
Downloads
Patches
Plain Diff
Disable bad vectorisation.
parent
23178443
Branches
Branches containing commit
Tags
Tags containing commit
1 merge request
!287
Particle caching
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/runner_doiact.h
+34
-34
34 additions, 34 deletions
src/runner_doiact.h
with
34 additions
and
34 deletions
src/runner_doiact.h
+
34
−
34
View file @
f1e514d2
...
@@ -112,7 +112,7 @@ void DOPAIR_NAIVE(struct runner *r, struct cell *restrict ci,
...
@@ -112,7 +112,7 @@ void DOPAIR_NAIVE(struct runner *r, struct cell *restrict ci,
error
(
"Don't use in actual runs ! Slow code !"
);
error
(
"Don't use in actual runs ! Slow code !"
);
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
int
icount
=
0
;
int
icount
=
0
;
float
r2q
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
r2q
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
...
@@ -167,7 +167,7 @@ void DOPAIR_NAIVE(struct runner *r, struct cell *restrict ci,
...
@@ -167,7 +167,7 @@ void DOPAIR_NAIVE(struct runner *r, struct cell *restrict ci,
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
<
hig2
||
r2
<
pj
->
h
*
pj
->
h
*
kernel_gamma2
)
{
if
(
r2
<
hig2
||
r2
<
pj
->
h
*
pj
->
h
*
kernel_gamma2
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
IACT
(
r2
,
dx
,
hi
,
pj
->
h
,
pi
,
pj
);
IACT
(
r2
,
dx
,
hi
,
pj
->
h
,
pi
,
pj
);
...
@@ -197,7 +197,7 @@ void DOPAIR_NAIVE(struct runner *r, struct cell *restrict ci,
...
@@ -197,7 +197,7 @@ void DOPAIR_NAIVE(struct runner *r, struct cell *restrict ci,
}
/* loop over the parts in ci. */
}
/* loop over the parts in ci. */
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
/* Pick up any leftovers. */
/* Pick up any leftovers. */
if
(
icount
>
0
)
if
(
icount
>
0
)
for
(
int
k
=
0
;
k
<
icount
;
k
++
)
for
(
int
k
=
0
;
k
<
icount
;
k
++
)
...
@@ -213,7 +213,7 @@ void DOSELF_NAIVE(struct runner *r, struct cell *restrict c) {
...
@@ -213,7 +213,7 @@ void DOSELF_NAIVE(struct runner *r, struct cell *restrict c) {
error
(
"Don't use in actual runs ! Slow code !"
);
error
(
"Don't use in actual runs ! Slow code !"
);
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
int
icount
=
0
;
int
icount
=
0
;
float
r2q
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
r2q
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
...
@@ -256,7 +256,7 @@ void DOSELF_NAIVE(struct runner *r, struct cell *restrict c) {
...
@@ -256,7 +256,7 @@ void DOSELF_NAIVE(struct runner *r, struct cell *restrict c) {
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
<
hig2
||
r2
<
pj
->
h
*
pj
->
h
*
kernel_gamma2
)
{
if
(
r2
<
hig2
||
r2
<
pj
->
h
*
pj
->
h
*
kernel_gamma2
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
IACT
(
r2
,
dx
,
hi
,
pj
->
h
,
pi
,
pj
);
IACT
(
r2
,
dx
,
hi
,
pj
->
h
,
pi
,
pj
);
...
@@ -286,7 +286,7 @@ void DOSELF_NAIVE(struct runner *r, struct cell *restrict c) {
...
@@ -286,7 +286,7 @@ void DOSELF_NAIVE(struct runner *r, struct cell *restrict c) {
}
/* loop over the parts in ci. */
}
/* loop over the parts in ci. */
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
/* Pick up any leftovers. */
/* Pick up any leftovers. */
if
(
icount
>
0
)
if
(
icount
>
0
)
for
(
int
k
=
0
;
k
<
icount
;
k
++
)
for
(
int
k
=
0
;
k
<
icount
;
k
++
)
...
@@ -315,7 +315,7 @@ void DOPAIR_SUBSET_NAIVE(struct runner *r, struct cell *restrict ci,
...
@@ -315,7 +315,7 @@ void DOPAIR_SUBSET_NAIVE(struct runner *r, struct cell *restrict ci,
error
(
"Don't use in actual runs ! Slow code !"
);
error
(
"Don't use in actual runs ! Slow code !"
);
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
int
icount
=
0
;
int
icount
=
0
;
float
r2q
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
r2q
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
...
@@ -365,7 +365,7 @@ void DOPAIR_SUBSET_NAIVE(struct runner *r, struct cell *restrict ci,
...
@@ -365,7 +365,7 @@ void DOPAIR_SUBSET_NAIVE(struct runner *r, struct cell *restrict ci,
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
<
hig2
)
{
if
(
r2
<
hig2
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
IACT_NONSYM
(
r2
,
dx
,
hi
,
pj
->
h
,
pi
,
pj
);
IACT_NONSYM
(
r2
,
dx
,
hi
,
pj
->
h
,
pi
,
pj
);
...
@@ -395,7 +395,7 @@ void DOPAIR_SUBSET_NAIVE(struct runner *r, struct cell *restrict ci,
...
@@ -395,7 +395,7 @@ void DOPAIR_SUBSET_NAIVE(struct runner *r, struct cell *restrict ci,
}
/* loop over the parts in ci. */
}
/* loop over the parts in ci. */
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
/* Pick up any leftovers. */
/* Pick up any leftovers. */
if
(
icount
>
0
)
if
(
icount
>
0
)
for
(
int
k
=
0
;
k
<
icount
;
k
++
)
for
(
int
k
=
0
;
k
<
icount
;
k
++
)
...
@@ -422,7 +422,7 @@ void DOPAIR_SUBSET(struct runner *r, struct cell *restrict ci,
...
@@ -422,7 +422,7 @@ void DOPAIR_SUBSET(struct runner *r, struct cell *restrict ci,
struct
engine
*
e
=
r
->
e
;
struct
engine
*
e
=
r
->
e
;
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
int
icount
=
0
;
int
icount
=
0
;
float
r2q
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
r2q
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
...
@@ -497,7 +497,7 @@ void DOPAIR_SUBSET(struct runner *r, struct cell *restrict ci,
...
@@ -497,7 +497,7 @@ void DOPAIR_SUBSET(struct runner *r, struct cell *restrict ci,
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
<
hig2
)
{
if
(
r2
<
hig2
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
IACT_NONSYM
(
r2
,
dx
,
hi
,
pj
->
h
,
pi
,
pj
);
IACT_NONSYM
(
r2
,
dx
,
hi
,
pj
->
h
,
pi
,
pj
);
...
@@ -562,7 +562,7 @@ void DOPAIR_SUBSET(struct runner *r, struct cell *restrict ci,
...
@@ -562,7 +562,7 @@ void DOPAIR_SUBSET(struct runner *r, struct cell *restrict ci,
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
<
hig2
)
{
if
(
r2
<
hig2
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
IACT_NONSYM
(
r2
,
dx
,
hi
,
pj
->
h
,
pi
,
pj
);
IACT_NONSYM
(
r2
,
dx
,
hi
,
pj
->
h
,
pi
,
pj
);
...
@@ -593,7 +593,7 @@ void DOPAIR_SUBSET(struct runner *r, struct cell *restrict ci,
...
@@ -593,7 +593,7 @@ void DOPAIR_SUBSET(struct runner *r, struct cell *restrict ci,
}
/* loop over the parts in ci. */
}
/* loop over the parts in ci. */
}
}
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
/* Pick up any leftovers. */
/* Pick up any leftovers. */
if
(
icount
>
0
)
if
(
icount
>
0
)
for
(
int
k
=
0
;
k
<
icount
;
k
++
)
for
(
int
k
=
0
;
k
<
icount
;
k
++
)
...
@@ -616,7 +616,7 @@ void DOPAIR_SUBSET(struct runner *r, struct cell *restrict ci,
...
@@ -616,7 +616,7 @@ void DOPAIR_SUBSET(struct runner *r, struct cell *restrict ci,
void
DOSELF_SUBSET
(
struct
runner
*
r
,
struct
cell
*
restrict
ci
,
void
DOSELF_SUBSET
(
struct
runner
*
r
,
struct
cell
*
restrict
ci
,
struct
part
*
restrict
parts
,
int
*
restrict
ind
,
int
count
)
{
struct
part
*
restrict
parts
,
int
*
restrict
ind
,
int
count
)
{
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
int
icount
=
0
;
int
icount
=
0
;
float
r2q
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
r2q
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
...
@@ -656,7 +656,7 @@ void DOSELF_SUBSET(struct runner *r, struct cell *restrict ci,
...
@@ -656,7 +656,7 @@ void DOSELF_SUBSET(struct runner *r, struct cell *restrict ci,
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
>
0
.
0
f
&&
r2
<
hig2
)
{
if
(
r2
>
0
.
0
f
&&
r2
<
hig2
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
IACT_NONSYM
(
r2
,
dx
,
hi
,
pj
->
h
,
pi
,
pj
);
IACT_NONSYM
(
r2
,
dx
,
hi
,
pj
->
h
,
pi
,
pj
);
...
@@ -686,7 +686,7 @@ void DOSELF_SUBSET(struct runner *r, struct cell *restrict ci,
...
@@ -686,7 +686,7 @@ void DOSELF_SUBSET(struct runner *r, struct cell *restrict ci,
}
/* loop over the parts in ci. */
}
/* loop over the parts in ci. */
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
/* Pick up any leftovers. */
/* Pick up any leftovers. */
if
(
icount
>
0
)
if
(
icount
>
0
)
for
(
int
k
=
0
;
k
<
icount
;
k
++
)
for
(
int
k
=
0
;
k
<
icount
;
k
++
)
...
@@ -707,7 +707,7 @@ void DOPAIR1(struct runner *r, struct cell *ci, struct cell *cj) {
...
@@ -707,7 +707,7 @@ void DOPAIR1(struct runner *r, struct cell *ci, struct cell *cj) {
const
struct
engine
*
restrict
e
=
r
->
e
;
const
struct
engine
*
restrict
e
=
r
->
e
;
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
int
icount
=
0
;
int
icount
=
0
;
float
r2q
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
r2q
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
...
@@ -785,7 +785,7 @@ void DOPAIR1(struct runner *r, struct cell *ci, struct cell *cj) {
...
@@ -785,7 +785,7 @@ void DOPAIR1(struct runner *r, struct cell *ci, struct cell *cj) {
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
<
hig2
)
{
if
(
r2
<
hig2
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
IACT_NONSYM
(
r2
,
dx
,
hi
,
pj
->
h
,
pi
,
pj
);
IACT_NONSYM
(
r2
,
dx
,
hi
,
pj
->
h
,
pi
,
pj
);
...
@@ -847,7 +847,7 @@ void DOPAIR1(struct runner *r, struct cell *ci, struct cell *cj) {
...
@@ -847,7 +847,7 @@ void DOPAIR1(struct runner *r, struct cell *ci, struct cell *cj) {
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
<
hjg2
)
{
if
(
r2
<
hjg2
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
IACT_NONSYM
(
r2
,
dx
,
hj
,
pi
->
h
,
pj
,
pi
);
IACT_NONSYM
(
r2
,
dx
,
hj
,
pi
->
h
,
pj
,
pi
);
...
@@ -877,7 +877,7 @@ void DOPAIR1(struct runner *r, struct cell *ci, struct cell *cj) {
...
@@ -877,7 +877,7 @@ void DOPAIR1(struct runner *r, struct cell *ci, struct cell *cj) {
}
/* loop over the parts in ci. */
}
/* loop over the parts in ci. */
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
/* Pick up any leftovers. */
/* Pick up any leftovers. */
if
(
icount
>
0
)
if
(
icount
>
0
)
for
(
int
k
=
0
;
k
<
icount
;
k
++
)
for
(
int
k
=
0
;
k
<
icount
;
k
++
)
...
@@ -898,7 +898,7 @@ void DOPAIR2(struct runner *r, struct cell *ci, struct cell *cj) {
...
@@ -898,7 +898,7 @@ void DOPAIR2(struct runner *r, struct cell *ci, struct cell *cj) {
struct
engine
*
restrict
e
=
r
->
e
;
struct
engine
*
restrict
e
=
r
->
e
;
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
int
icount1
=
0
;
int
icount1
=
0
;
float
r2q1
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
r2q1
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq1
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq1
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
...
@@ -1015,7 +1015,7 @@ void DOPAIR2(struct runner *r, struct cell *ci, struct cell *cj) {
...
@@ -1015,7 +1015,7 @@ void DOPAIR2(struct runner *r, struct cell *ci, struct cell *cj) {
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
<
hig2
)
{
if
(
r2
<
hig2
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
IACT_NONSYM
(
r2
,
dx
,
hj
,
hi
,
pj
,
pi
);
IACT_NONSYM
(
r2
,
dx
,
hj
,
hi
,
pj
,
pi
);
...
@@ -1066,7 +1066,7 @@ void DOPAIR2(struct runner *r, struct cell *ci, struct cell *cj) {
...
@@ -1066,7 +1066,7 @@ void DOPAIR2(struct runner *r, struct cell *ci, struct cell *cj) {
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
<
hig2
)
{
if
(
r2
<
hig2
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
/* Does pj need to be updated too? */
/* Does pj need to be updated too? */
if
(
part_is_active
(
pj
,
e
))
if
(
part_is_active
(
pj
,
e
))
...
@@ -1159,7 +1159,7 @@ void DOPAIR2(struct runner *r, struct cell *ci, struct cell *cj) {
...
@@ -1159,7 +1159,7 @@ void DOPAIR2(struct runner *r, struct cell *ci, struct cell *cj) {
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
<
hjg2
&&
r2
>
hi
*
hi
*
kernel_gamma2
)
{
if
(
r2
<
hjg2
&&
r2
>
hi
*
hi
*
kernel_gamma2
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
IACT_NONSYM
(
r2
,
dx
,
hi
,
hj
,
pi
,
pj
);
IACT_NONSYM
(
r2
,
dx
,
hi
,
hj
,
pi
,
pj
);
...
@@ -1209,7 +1209,7 @@ void DOPAIR2(struct runner *r, struct cell *ci, struct cell *cj) {
...
@@ -1209,7 +1209,7 @@ void DOPAIR2(struct runner *r, struct cell *ci, struct cell *cj) {
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
<
hjg2
&&
r2
>
hi
*
hi
*
kernel_gamma2
)
{
if
(
r2
<
hjg2
&&
r2
>
hi
*
hi
*
kernel_gamma2
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
/* Does pi need to be updated too? */
/* Does pi need to be updated too? */
if
(
part_is_active
(
pi
,
e
))
if
(
part_is_active
(
pi
,
e
))
...
@@ -1267,7 +1267,7 @@ void DOPAIR2(struct runner *r, struct cell *ci, struct cell *cj) {
...
@@ -1267,7 +1267,7 @@ void DOPAIR2(struct runner *r, struct cell *ci, struct cell *cj) {
}
/* loop over the parts in ci. */
}
/* loop over the parts in ci. */
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
/* Pick up any leftovers. */
/* Pick up any leftovers. */
if
(
icount1
>
0
)
if
(
icount1
>
0
)
for
(
int
k
=
0
;
k
<
icount1
;
k
++
)
for
(
int
k
=
0
;
k
<
icount1
;
k
++
)
...
@@ -1294,7 +1294,7 @@ void DOSELF1(struct runner *r, struct cell *restrict c) {
...
@@ -1294,7 +1294,7 @@ void DOSELF1(struct runner *r, struct cell *restrict c) {
const
struct
engine
*
e
=
r
->
e
;
const
struct
engine
*
e
=
r
->
e
;
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
int
icount1
=
0
;
int
icount1
=
0
;
float
r2q1
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
r2q1
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq1
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq1
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
...
@@ -1365,7 +1365,7 @@ void DOSELF1(struct runner *r, struct cell *restrict c) {
...
@@ -1365,7 +1365,7 @@ void DOSELF1(struct runner *r, struct cell *restrict c) {
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
<
hj
*
hj
*
kernel_gamma2
)
{
if
(
r2
<
hj
*
hj
*
kernel_gamma2
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
IACT_NONSYM
(
r2
,
dx
,
hj
,
hi
,
pj
,
pi
);
IACT_NONSYM
(
r2
,
dx
,
hj
,
hi
,
pj
,
pi
);
...
@@ -1421,7 +1421,7 @@ void DOSELF1(struct runner *r, struct cell *restrict c) {
...
@@ -1421,7 +1421,7 @@ void DOSELF1(struct runner *r, struct cell *restrict c) {
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
<
hig2
||
doj
)
{
if
(
r2
<
hig2
||
doj
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
/* Which parts need to be updated? */
/* Which parts need to be updated? */
if
(
r2
<
hig2
&&
doj
)
if
(
r2
<
hig2
&&
doj
)
...
@@ -1504,7 +1504,7 @@ void DOSELF1(struct runner *r, struct cell *restrict c) {
...
@@ -1504,7 +1504,7 @@ void DOSELF1(struct runner *r, struct cell *restrict c) {
}
/* loop over all particles. */
}
/* loop over all particles. */
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
/* Pick up any leftovers. */
/* Pick up any leftovers. */
if
(
icount1
>
0
)
if
(
icount1
>
0
)
for
(
int
k
=
0
;
k
<
icount1
;
k
++
)
for
(
int
k
=
0
;
k
<
icount1
;
k
++
)
...
@@ -1529,7 +1529,7 @@ void DOSELF2(struct runner *r, struct cell *restrict c) {
...
@@ -1529,7 +1529,7 @@ void DOSELF2(struct runner *r, struct cell *restrict c) {
const
struct
engine
*
e
=
r
->
e
;
const
struct
engine
*
e
=
r
->
e
;
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
int
icount1
=
0
;
int
icount1
=
0
;
float
r2q1
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
r2q1
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq1
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
float
hiq1
[
VEC_SIZE
]
__attribute__
((
aligned
(
16
)));
...
@@ -1600,7 +1600,7 @@ void DOSELF2(struct runner *r, struct cell *restrict c) {
...
@@ -1600,7 +1600,7 @@ void DOSELF2(struct runner *r, struct cell *restrict c) {
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
<
hig2
||
r2
<
hj
*
hj
*
kernel_gamma2
)
{
if
(
r2
<
hig2
||
r2
<
hj
*
hj
*
kernel_gamma2
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
IACT_NONSYM
(
r2
,
dx
,
hj
,
hi
,
pj
,
pi
);
IACT_NONSYM
(
r2
,
dx
,
hj
,
hi
,
pj
,
pi
);
...
@@ -1654,7 +1654,7 @@ void DOSELF2(struct runner *r, struct cell *restrict c) {
...
@@ -1654,7 +1654,7 @@ void DOSELF2(struct runner *r, struct cell *restrict c) {
/* Hit or miss? */
/* Hit or miss? */
if
(
r2
<
hig2
||
r2
<
hj
*
hj
*
kernel_gamma2
)
{
if
(
r2
<
hig2
||
r2
<
hj
*
hj
*
kernel_gamma2
)
{
#ifndef WITH_VECTORIZATION
#ifndef WITH_
BAD_
VECTORIZATION
/* Does pj need to be updated too? */
/* Does pj need to be updated too? */
if
(
part_is_active
(
pj
,
e
))
if
(
part_is_active
(
pj
,
e
))
...
@@ -1712,7 +1712,7 @@ void DOSELF2(struct runner *r, struct cell *restrict c) {
...
@@ -1712,7 +1712,7 @@ void DOSELF2(struct runner *r, struct cell *restrict c) {
}
/* loop over all particles. */
}
/* loop over all particles. */
#ifdef WITH_VECTORIZATION
#ifdef WITH_
BAD_
VECTORIZATION
/* Pick up any leftovers. */
/* Pick up any leftovers. */
if
(
icount1
>
0
)
if
(
icount1
>
0
)
for
(
int
k
=
0
;
k
<
icount1
;
k
++
)
for
(
int
k
=
0
;
k
<
icount1
;
k
++
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment