[llvm] [SLP]Improve minbitwidth analysis. (PR #84334)

James Y Knight via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 7 12:30:51 PST 2024


jyknight 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
```

https://github.com/llvm/llvm-project/pull/84334


More information about the llvm-commits mailing list