sha256sum of 'a.out' changes when compiler the same program twice with same option no matter what the program is, $ dpcpp -O2 -g trydpcpp.cpp $ sha256sum a.out 70069a95e68870cdab5ba915b0d91d3492a3c7592a3befa1b060b4a57703fa0b a.out $ dpcpp -O2 -g trydpcpp.cpp $ sha256sum a.out a13654be008b447edb4b518831bcad3a30fae7fb37bb8b9b223b1e25a953b8b9 a.out I tried a normal c++ program with g++, and the sha256sum of a.out is always the same.