mirror of
https://github.com/paboyle/Grid.git
synced 2025-04-09 21:50:45 +01:00
Fix for suspected Intel 2018.1 compiler bug under O3
This commit is contained in:
parent
0fd2827d5d
commit
775eaee199
@ -163,13 +163,16 @@ public:
|
|||||||
//
|
//
|
||||||
/////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////
|
||||||
// uint64_t skip = site+1; // Old init Skipped then drew. Checked compat with faster init
|
// 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);
|
eng.discard(skip);
|
||||||
// std::cout << " Engine " <<site << " state " <<eng<<std::endl;
|
// std::cout << " Engine " <<site << " state " <<eng<<std::endl;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user