[llvm] [SLP]Improve minbitwidth analysis. (PR #84334)
Alexey Bataev via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 7 13:07:16 PST 2024
alexey-bataev wrote:
> Thanks for the quick response with the info on what was changed, and that there was an intent to fix the xxhash miscompile!
>
> Given that response, I went to double-check my work to see if I'd made a mistake in testing. Unfortunately, not. I've now re-verified that the test still fails with clang built at this revision, and doesn't fail with clang built at the prior revision.
>
> Maybe interesting (or maybe not), now the check with size 129 _also_ fails.
>
> ```
> third_party/llvm/llvm-project/llvm/unittests/Support/xxhashTest.cpp:48: Failure
> Expected equality of these values:
> uint64_t(0x9013fb74ca603e0c)
> Which is: 10381918045049208332
> xxh3_64bits(ArrayRef(a, size_t(33)))
> Which is: 3308700454355487325
>
> third_party/llvm/llvm-project/llvm/unittests/Support/xxhashTest.cpp:49: Failure
> Expected equality of these values:
> uint64_t(0xfa5271fcce0db1c3)
> Which is: 18037604788174959043
> xxh3_64bits(ArrayRef(a, size_t(64)))
> Which is: 15548882779349196076
>
> third_party/llvm/llvm-project/llvm/unittests/Support/xxhashTest.cpp:50: Failure
> Expected equality of these values:
> uint64_t(0x79c42431727f1012)
> Which is: 8774177768817496082
> xxh3_64bits(ArrayRef(a, size_t(65)))
> Which is: 9026354738766114493
>
> third_party/llvm/llvm-project/llvm/unittests/Support/xxhashTest.cpp:51: Failure
> Expected equality of these values:
> uint64_t(0x591ee0ddf9c9ccd1)
> Which is: 6421817362660052177
> xxh3_64bits(ArrayRef(a, size_t(96)))
> Which is: 14257441473594075054
>
> third_party/llvm/llvm-project/llvm/unittests/Support/xxhashTest.cpp:52: Failure
> Expected equality of these values:
> uint64_t(0x8ffc6a3111fe19da)
> Which is: 10375284400542587354
> xxh3_64bits(ArrayRef(a, size_t(97)))
> Which is: 17112387889451439326
>
> third_party/llvm/llvm-project/llvm/unittests/Support/xxhashTest.cpp:53: Failure
> Expected equality of these values:
> uint64_t(0x06a146ee9a2da378)
> Which is: 477741026080826232
> xxh3_64bits(ArrayRef(a, size_t(128)))
> Which is: 15939254768337478897
>
> third_party/llvm/llvm-project/llvm/unittests/Support/xxhashTest.cpp:54: Failure
> Expected equality of these values:
> uint64_t(0xbc7138129bf065da)
> Which is: 13578696004075546074
> xxh3_64bits(ArrayRef(a, size_t(129)))
> Which is: 14895047307860736276
> ```
Hmm, this is what I see for both SSE and AVX512
[----------] 2 tests from xxhashTest
[ RUN ] xxhashTest.Basic
[ OK ] xxhashTest.Basic (0 ms)
[ RUN ] xxhashTest.xxh3
[ OK ] xxhashTest.xxh3 (0 ms)
[----------] 2 tests from xxhashTest (0 ms total)
Can you provide your build flags? Also, did you try upstream compiler or downstream?
https://github.com/llvm/llvm-project/pull/84334
More information about the llvm-commits
mailing list