pq-crystals / dilithium

Other
374 stars 136 forks source link

fixes #31 - undefined behaviour in AVX2 version #35

Closed jansturm92 closed 3 years ago

jansturm92 commented 3 years ago

restrict keyword caused undefined compiler output since referenced objects are overlapping in memory.

e.g, for https://github.com/pq-crystals/dilithium/blob/497a98bc7efe48cb0d18fd20d6d9a4b5629406ef/avx2/sign.c#L159 a1 and a in power2round_avx() point to the same object t1.

coveralls commented 3 years ago

Coverage Status

Coverage remained the same at 94.537% when pulling 826120c74f9874aafda144be6a645a9d660dc270 on jansturm92:master into 497a98bc7efe48cb0d18fd20d6d9a4b5629406ef on pq-crystals:master.

gregorseiler commented 3 years ago

Thank you for the pull request. These restrict qualifiers are removed in the round 3 code now.