1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-09 23:45:36 +00:00

Fix for suspected Intel 2018.1 compiler bug under O3

This commit is contained in:
Peter Boyle 2019-07-19 07:57:34 +01:00
parent 0fd2827d5d
commit 775eaee199

View File

@ -163,13 +163,16 @@ public:
//
/////////////////////////////////////////////////////////////////////////////////////
// uint64_t skip = site+1; // Old init Skipped then drew. Checked compat with faster init
const int shift = 30;
const int shift = 30;
uint64_t skip = site;
////////////////////////////////////////////////////////////////////
// Weird compiler bug in Intel 2018.1 under O3 was generating 32bit and not 64 bit left shift.
////////////////////////////////////////////////////////////////////
volatile uint64_t skip = site;
skip = skip<<shift;
skip = skip<<shift;
assert((skip >> shift)==site); // check for overflow
assert((skip >> shift)==site); // check for overflow
eng.discard(skip);
// std::cout << " Engine " <<site << " state " <<eng<<std::endl;