Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
SWIFT
SWIFTsim
Commits
5c9fd282
Commit
5c9fd282
authored
May 21, 2017
by
James Willis
Browse files
Convert vector masks to integers before AND operation.
parent
89885318
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/runner_doiact_vec.c
View file @
5c9fd282
...
...
@@ -703,21 +703,27 @@ __attribute__((always_inline)) INLINE void runner_doself1_density_vec(
v_r2_2
.
v
=
vec_fma
(
v_dz_tmp2
.
v
,
v_dz_tmp2
.
v
,
v_r2_2
.
v
);
/* Form a mask from r2 < hig2 and r2 > 0.*/
mask_t
v_doi_mask
,
v_doi_mask_check
,
v_doi_mask2
,
v_doi_mask2_check
;
int
doi_mask
,
doi_mask
2
;
mask_t
v_doi_mask
,
v_doi_mask_
self_
check
,
v_doi_mask2
,
v_doi_mask2_
self_
check
;
int
doi_mask
,
doi_mask
_self_check
,
doi_mask2
,
doi_mask2_self_check
;
/* Form r2 > 0 mask and r2 < hig2 mask. */
vec_create_mask
(
v_doi_mask_check
,
vec_cmp_gt
(
v_r2
.
v
,
vec_setzero
()));
vec_create_mask
(
v_doi_mask_
self_
check
,
vec_cmp_gt
(
v_r2
.
v
,
vec_setzero
()));
vec_create_mask
(
v_doi_mask
,
vec_cmp_lt
(
v_r2
.
v
,
v_hig2
.
v
));
/* Form r2 > 0 mask and r2 < hig2 mask. */
vec_create_mask
(
v_doi_mask2_check
,
vec_cmp_gt
(
v_r2_2
.
v
,
vec_setzero
()));
vec_create_mask
(
v_doi_mask2_
self_
check
,
vec_cmp_gt
(
v_r2_2
.
v
,
vec_setzero
()));
vec_create_mask
(
v_doi_mask2
,
vec_cmp_lt
(
v_r2_2
.
v
,
v_hig2
.
v
));
/*TODO: Convert vector masks to integers before and operation. */
/* Combine the two masks and form an integer mask. */
doi_mask
=
vec_cmp_result
(
vec_mask_and
(
v_doi_mask
,
v_doi_mask_check
));
doi_mask2
=
vec_cmp_result
(
vec_mask_and
(
v_doi_mask2
,
v_doi_mask2_check
));
/* Form integer masks. */
doi_mask_self_check
=
vec_form_int_mask
(
v_doi_mask_self_check
);
doi_mask
=
vec_form_int_mask
(
v_doi_mask
);
doi_mask2_self_check
=
vec_form_int_mask
(
v_doi_mask2_self_check
);
doi_mask2
=
vec_form_int_mask
(
v_doi_mask2
);
/* Combine the two masks. */
doi_mask
=
doi_mask
&
doi_mask_self_check
;
doi_mask2
=
doi_mask2
&
doi_mask2_self_check
;
/* If there are any interactions left pack interaction values into c2
* cache. */
...
...
Write
Preview
Supports
Markdown
0%
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!
Cancel
Please
register
or
sign in
to comment