Skip to content
Snippets Groups Projects
Commit 457f24cb authored by Moritz Hanke's avatar Moritz Hanke
Browse files

adds workaround for Intel ICX bug

parent db559d0d
No related branches found
No related tags found
No related merge requests found
......@@ -62,7 +62,16 @@ int intersect(enum yac_edge_type edge_type_a,
double lon_c, double lat_c, double lon_d, double lat_d,
double * intersection) {
// Intel ICX with O3 seems to use some vector operation for copying q to
// intersection in the code below. However, this causes a segmentation vault
// due to the alignment of q. By increasing the size of p to 4, the alignment
// of q is correct.
#define INTEL_ICX_BUG
#ifdef INTEL_ICX_BUG
double a[3], b[3], c[3], d[3], p[4], q[3];
#else
double a[3], b[3], c[3], d[3], p[3], q[3];
#endif
LLtoXYZ_deg(lon_a, lat_a, a);
LLtoXYZ_deg(lon_b, lat_b, b);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment