[llvm-dev] Problem with clang optimizer?

Blumenthal, Uri - 0553 - MITLL via llvm-dev llvm-dev at lists.llvm.org
Tue Oct 26 02:41:27 PDT 2021


could you please reproduce this at godbolt.org? 

 

Shows up with 12.0.0 and 12.0.1, but not on 13.0.0 on that site. But there seem to be some issues with that site – see below.

 

 

AFAIK, this issue is veiled at clang-13, 

 

I’m not sure. First, on my machines – it shows dependence on CPU (fails on Skylake, passes on Skylake-avx512).

 

$ clang++-mp-13 -v -O3 -march=native -o t sha3-reproducer.cxx 

clang version 13.0.0

Target: x86_64-apple-darwin20.6.0

Thread model: posix

InstalledDir: /opt/local/libexec/llvm-13/bin

 "/opt/local/libexec/llvm-13/bin/clang" -cc1 -triple x86_64-apple-macosx11.0.0 -Wundef-prefix=TARGET_OS_ -Werror=undef-prefix -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj --mrelax-relocations -disable-free -disable-llvm-verifier -discard-value-names -main-file-name sha3-reproducer.cxx -mrelocation-model pic -pic-level 2 -mframe-pointer=all -fno-rounding-math -munwind-tables -target-sdk-version=11.3 -fcompatibility-qualified-id-block-type-checking -fvisibility-inlines-hidden-static-local-var -target-cpu skylake -target-feature +sse2 -target-feature -tsxldtrk -target-feature +cx16 -target-feature +sahf -target-feature -tbm -target-feature -avx512ifma -target-feature -sha -target-feature -gfni -target-feature -fma4 -target-feature -vpclmulqdq -target-feature +prfchw -target-feature +bmi2 -target-feature -cldemote -target-feature +fsgsbase -target-feature -ptwrite -target-feature -amx-tile -target-feature -uintr -target-feature +popcnt -target-feature -widekl -target-feature +aes -target-feature -avx512bitalg -target-feature -movdiri -target-feature +xsaves -target-feature -avx512er -target-feature -avxvnni -target-feature -avx512vnni -target-feature -amx-bf16 -target-feature -avx512vpopcntdq -target-feature -pconfig -target-feature -clwb -target-feature -avx512f -target-feature +xsavec -target-feature -clzero -target-feature -pku -target-feature +mmx -target-feature -lwp -target-feature -rdpid -target-feature -xop -target-feature +rdseed -target-feature -waitpkg -target-feature -kl -target-feature -movdir64b -target-feature -sse4a -target-feature -avx512bw -target-feature +clflushopt -target-feature +xsave -target-feature -avx512vbmi2 -target-feature +64bit -target-feature -avx512vl -target-feature -serialize -target-feature -hreset -target-feature +invpcid -target-feature -avx512cd -target-feature +avx -target-feature -vaes -target-feature -avx512bf16 -target-feature +cx8 -target-feature +fma -target-feature -rtm -target-feature +bmi -target-feature -enqcmd -target-feature +rdrnd -target-feature -mwaitx -target-feature +sse4.1 -target-feature +sse4.2 -target-feature +avx2 -target-feature +fxsr -target-feature -wbnoinvd -target-feature +sse -target-feature +lzcnt -target-feature +pclmul -target-feature -prefetchwt1 -target-feature +f16c -target-feature +ssse3 -target-feature +sgx -target-feature -shstk -target-feature +cmov -target-feature -avx512vbmi -target-feature -amx-int8 -target-feature +movbe -target-feature -avx512vp2intersect -target-feature +xsaveopt -target-feature -avx512dq -target-feature +adx -target-feature -avx512pf -target-feature +sse3 -debugger-tuning=lldb -target-linker-version 650.9 -v -fcoverage-compilation-dir=/Users/ur20980/src -resource-dir /opt/local/libexec/llvm-13/lib/clang/13.0.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -I/usr/local/include -stdlib=libc++ -internal-isystem /opt/local/libexec/llvm-13/bin/../include/c++/v1 -internal-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/local/include -internal-isystem /opt/local/libexec/llvm-13/lib/clang/13.0.0/include -internal-externc-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -O3 -fdeprecated-macro -fdebug-compilation-dir=/Users/ur20980/src -ferror-limit 19 -stack-protector 1 -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -fmax-type-align=16 -fcolor-diagnostics -vectorize-loops -vectorize-slp -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /var/folders/_l/4q83bg9j5ysb7qd1n9xpnb4h0000gn/T/sha3-reproducer-beadcf.o -x c++ sha3-reproducer.cxx

clang -cc1 version 13.0.0 based upon LLVM 13.0.0 default target x86_64-apple-darwin20.6.0

ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/local/include"

ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/Library/Frameworks"

#include "..." search starts here:

#include <...> search starts here:

 /usr/local/include

 /opt/local/libexec/llvm-13/bin/../include/c++/v1

 /opt/local/libexec/llvm-13/lib/clang/13.0.0/include

 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include

 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks (framework directory)

End of search list.

 "/opt/local/libexec/llvm-13/bin/ld" -demangle -lto_library /opt/local/libexec/llvm-13/lib/libLTO.dylib -dynamic -arch x86_64 -platform_version macos 11.0.0 11.3 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -o t -L/usr/local/lib /var/folders/_l/4q83bg9j5ysb7qd1n9xpnb4h0000gn/T/sha3-reproducer-beadcf.o -lc++ -lSystem /opt/local/libexec/llvm-13/lib/clang/13.0.0/lib/darwin/libclang_rt.osx.a

$ ./t

Assertion failed: (T[0] == 16394434931424703552u), function main, file sha3-reproducer.cxx, line 104.

Abort trap: 6

$

 

though real fix isn't backported (see Dimitry's comment: https://bugs.llvm.org/show_bug.cgi?id=51957#c7).

 

See above – fails on Skylake.

 

And here, on Skylake-avx512 it seems to pass:

 

$ clang++-mp-13 -v $CXXFLAGS -O3 -march=native -o t sha3-reproducer.cxx 

clang version 13.0.0

Target: x86_64-apple-darwin20.6.0

Thread model: posix

InstalledDir: /opt/local/libexec/llvm-13/bin

 "/opt/local/libexec/llvm-13/bin/clang" -cc1 -triple x86_64-apple-macosx11.0.0 -Wundef-prefix=TARGET_OS_ -Werror=undef-prefix -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj --mrelax-relocations -disable-free -disable-llvm-verifier -discard-value-names -main-file-name sha3-reproducer.cxx -mrelocation-model pic -pic-level 2 -mframe-pointer=all -fno-rounding-math -munwind-tables -target-sdk-version=12.0 -fcompatibility-qualified-id-block-type-checking -fvisibility-inlines-hidden-static-local-var -target-cpu skylake-avx512 -target-feature +sse2 -target-feature -tsxldtrk -target-feature +cx16 -target-feature +sahf -target-feature -tbm -target-feature -avx512ifma -target-feature -sha -target-feature -gfni -target-feature -fma4 -target-feature -vpclmulqdq -target-feature +prfchw -target-feature +bmi2 -target-feature -cldemote -target-feature +fsgsbase -target-feature -ptwrite -target-feature -amx-tile -target-feature -uintr -target-feature +popcnt -target-feature -widekl -target-feature +aes -target-feature -avx512bitalg -target-feature -movdiri -target-feature +xsaves -target-feature -avx512er -target-feature -avxvnni -target-feature -avx512vnni -target-feature -amx-bf16 -target-feature -avx512vpopcntdq -target-feature -pconfig -target-feature +clwb -target-feature +avx512f -target-feature +xsavec -target-feature -clzero -target-feature -pku -target-feature +mmx -target-feature -lwp -target-feature -rdpid -target-feature -xop -target-feature +rdseed -target-feature -waitpkg -target-feature -kl -target-feature -movdir64b -target-feature -sse4a -target-feature +avx512bw -target-feature +clflushopt -target-feature +xsave -target-feature -avx512vbmi2 -target-feature +64bit -target-feature +avx512vl -target-feature -serialize -target-feature -hreset -target-feature +invpcid -target-feature +avx512cd -target-feature +avx -target-feature -vaes -target-feature -avx512bf16 -target-feature +cx8 -target-feature +fma -target-feature +rtm -target-feature +bmi -target-feature -enqcmd -target-feature +rdrnd -target-feature -mwaitx -target-feature +sse4.1 -target-feature +sse4.2 -target-feature +avx2 -target-feature +fxsr -target-feature -wbnoinvd -target-feature +sse -target-feature +lzcnt -target-feature +pclmul -target-feature -prefetchwt1 -target-feature +f16c -target-feature +ssse3 -target-feature -sgx -target-feature -shstk -target-feature +cmov -target-feature -avx512vbmi -target-feature -amx-int8 -target-feature +movbe -target-feature -avx512vp2intersect -target-feature +xsaveopt -target-feature +avx512dq -target-feature +adx -target-feature -avx512pf -target-feature +sse3 -debugger-tuning=lldb -target-linker-version 650.9 -v -fcoverage-compilation-dir=/Users/ur20980/src -resource-dir /opt/local/libexec/llvm-13/lib/clang/13.0.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -stdlib=libc++ -internal-isystem /opt/local/libexec/llvm-13/bin/../include/c++/v1 -internal-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/local/include -internal-isystem /opt/local/libexec/llvm-13/lib/clang/13.0.0/include -internal-externc-isystem /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include -O3 -std=gnu++17 -fdeprecated-macro -fdebug-compilation-dir=/Users/ur20980/src -ferror-limit 19 -stack-protector 1 -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -fmax-type-align=16 -fcolor-diagnostics -vectorize-loops -vectorize-slp -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/sha3-reproducer-5022a4.o -x c++ sha3-reproducer.cxx

clang -cc1 version 13.0.0 based upon LLVM 13.0.0 default target x86_64-apple-darwin20.6.0

ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/local/include"

ignoring nonexistent directory "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/Library/Frameworks"

#include "..." search starts here:

#include <...> search starts here:

 /opt/local/libexec/llvm-13/bin/../include/c++/v1

 /opt/local/libexec/llvm-13/lib/clang/13.0.0/include

 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include

 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks (framework directory)

End of search list.

 "/opt/local/libexec/llvm-13/bin/ld" -demangle -lto_library /opt/local/libexec/llvm-13/lib/libLTO.dylib -dynamic -arch x86_64 -platform_version macos 11.0.0 12.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -o t /var/folders/c6/lnc_0m093ys8w16md_fm1mnxhtfnj8/T/sha3-reproducer-5022a4.o -lc++ -lSystem /opt/local/libexec/llvm-13/lib/clang/13.0.0/lib/darwin/libclang_rt.osx.a

$ ./t

$ 

 

 

I can't reproduce it on clang-13: https://godbolt.org/z/4Mdrd5388

 

I can’t reproduce it on clang-13 on Godbolt, but unfortunately, it’s 100% consistent on my machines. Also, I’m not certain the Godbolt site uses correct compiler. Here’s what it shows me:

 

 

So, requested Clang, but compiled with GCC???

 

 

вт, 26 окт. 2021 г. в 00:35, Blumenthal, Uri - 0553 - MITLL via llvm-dev <llvm-dev at lists.llvm.org>:

I just tried Clang-13 (with LLVM-13), and the problem is still there. Vectorizer still broken wrt. SSE-4.1 instruction extensions:

 

$ echo $CXXFLAGS

-std=gnu++17 -O3 -march=native -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk

$ clang++-mp-13 $CXXFLAGS -o t sha3-reproducer.cxx 

$ ./t

Assertion failed: (T[0] == 16394434931424703552u), function main, file sha3-reproducer.cxx, line 103.

Abort trap: 6

$ clang++-mp-13 $CXXFLAGS -mno-sse4.1 -o t sha3-reproducer.cxx 

$ ./t

$ 

 

 

--

Regards,

Uri

 

There are two ways to design a system. One is to make is so simple there are obviously no deficiencies.

The other is to make it so complex there are no obvious deficiencies.

                                                                                                                                     -  C. A. R. Hoare

 

 

From: Jameson Nash <vtjnash at gmail.com>
Date: Wednesday, September 29, 2021 at 19:41
To: Craig Topper <craig.topper at gmail.com>
Cc: Uri Blumenthal <uri at ll.mit.edu>, LLVM-DEV LIST <llvm-dev at lists.llvm.org>
Subject: Re: [llvm-dev] Problem with clang optimizer?

 

This may be fixed now (https://reviews.llvm.org/D106613), but it remains to be confirmed for https://bugs.llvm.org/show_bug.cgi?id=51957

 

On Sun, Sep 26, 2021 at 1:12 AM Craig Topper via llvm-dev <llvm-dev at lists.llvm.org> wrote:

Looking at the IR here https://godbolt.org/z/zaMW1renW I believe the issue is on this instruction on line 361

 

%30 = extractelement <2 x <2 x i64>*> %bc438, i32 0

 

It should be extracting from index 1 instead of index 0.


~Craig

 

 

On Sat, Sep 25, 2021 at 5:48 PM Blumenthal, Uri - 0553 - MITLL <uri at ll.mit.edu> wrote:

I found that 

·         The problem disappears with -mno-sse4.1

·         The problem manifests with both Apple Clang from Xcode-13, and LLVM Clang-12 (and not with Xcode-12 or LLVM Clang-11)

·         I could experiment only on Apple platform, as that’s the only one I have that runs LLVM Clang-12.

 

--

Regards,

Uri

 

There are two ways to design a system. One is to make is so simple there are obviously no deficiencies.

The other is to make it so complex there are no obvious deficiencies.

                                                                                                                                     -  C. A. R. Hoare

 

 

From: Craig Topper <craig.topper at gmail.com>
Date: Saturday, September 25, 2021 at 12:07
To: Dimitry Andric <dimitry at andric.com>
Cc: Uri Blumenthal <uri at ll.mit.edu>, LLVM-DEV LIST <llvm-dev at lists.llvm.org>
Subject: Re: [llvm-dev] Problem with clang optimizer?

 

It reproduced for me with -march=nehalem which does not have AVX.

 

On Sat, Sep 25, 2021 at 2:51 AM Dimitry Andric via llvm-dev <llvm-dev at lists.llvm.org> wrote:

It is only occurring (as far as I can see now) on x86_64, with -mavx enabled. Or with a target CPU that supports AVX. And it is not Apple clang specific.

 

-Dimitry

 

On 24 Sep 2021, at 15:30, Blumenthal, Uri - 0553 - MITLL via llvm-dev <llvm-dev at lists.llvm.org> wrote:

 

I tried to reproduce it on goldbolt with clang 12.0.0 and 12.0.1 but things seem fine when I run it there: https://godbolt.org/z/vrq8j6Kj7.
Can you share your exact clang invocation? Does it only reproduce in some specific environment?

 

Save the source I posted before into “sha3-reproducer.cxx” file. Let me know if you want it re-posted here.

 

$ clang++-mp-12 -v

clang version 12.0.1

Target: x86_64-apple-darwin20.6.0

Thread model: posix

InstalledDir: /opt/local/libexec/llvm-12/bin

$ clang++-mp-12 -o s -O3 sha3-reproducer.cxx

$ ./s

Assertion failed: (T[0] == 16394434931424703552u), function main, file sha3-reproducer.cxx, line 103.

Abort trap: 6

$ clang++-mp-12 -o s -O2 sha3-reproducer.cxx

$ ./s

Assertion failed: (T[0] == 16394434931424703552u), function main, file sha3-reproducer.cxx, line 103.

Abort trap: 6

$ clang++-mp-12 -o s -O1 sha3-reproducer.cxx

$ ./s

$ 

 

Clang-12 is installed via Macports, which is why we invoke the executable as clang++-mp-12.

 

The same problem manifests in exactly the same way in the Xcode-13 version of Clang (presumably based on LLVM Clang-12). 

 

I’ll be happy to provide more of specific details, if you let me know what you need.



Also, it generally helps to reduce code bug reports as much as possible; creduce can help with that: https://embed.cs.utah.edu/creduce/using/.

 

Understood. Unfortunately, the above reproducer is the best we could come up with. An alternative is trying to build the Botan package itself https://github.com/randombit/botan.git.

 

 

On Thu, Sep 23, 2021 at 10:14 PM Blumenthal, Uri - 0553 - MITLL via llvm-dev <llvm-dev at lists.llvm.org> wrote:

I’m not sure if this is the correct list, so please direct me to the right one if this bug report shouldn’t go here.

 

The problem is: invoking clang (v12) with -O2 or better optimization flags generates wrong object code for the following C++. Compiling it with -O1 generates working binary.

 

 

=================

 

#include <cstdint>

#include <cassert>

 

template<size_t ROT, typename T>

inline constexpr T rotl(T input)

   {

   static_assert(ROT > 0 && ROT < 8*sizeof(T), "Invalid rotation constant");

   return static_cast<T>((input << ROT) | (input >> (8*sizeof(T) - ROT)));

   }

 

inline void SHA3_round(uint64_t T[25], const uint64_t A[25], uint64_t RC)

   {

   const uint64_t C0 = A[0] ^ A[5] ^ A[10] ^ A[15] ^ A[20];

   const uint64_t C1 = A[1] ^ A[6] ^ A[11] ^ A[16] ^ A[21];

 

   // the calculation of C2 fails for -O3 or -O2 with clang 12

   // FWIW: it would produce a value that doesn't fit into a _signed_ 64-bit int

   const uint64_t C2 = A[2] ^ A[7] ^ A[12] ^ A[17] ^ A[22];

 

   const uint64_t C3 = A[3] ^ A[8] ^ A[13] ^ A[18] ^ A[23];

   const uint64_t C4 = A[4] ^ A[9] ^ A[14] ^ A[19] ^ A[24];

 

   const uint64_t D0 = rotl<1>(C0) ^ C3;

   const uint64_t D1 = rotl<1>(C1) ^ C4;

   const uint64_t D2 = rotl<1>(C2) ^ C0;

   const uint64_t D3 = rotl<1>(C3) ^ C1;

   const uint64_t D4 = rotl<1>(C4) ^ C2;

 

   const uint64_t B00 =          A[ 0] ^ D1;

   const uint64_t B01 = rotl<44>(A[ 6] ^ D2);

   const uint64_t B02 = rotl<43>(A[12] ^ D3);

   const uint64_t B03 = rotl<21>(A[18] ^ D4);

   const uint64_t B04 = rotl<14>(A[24] ^ D0);

   T[ 0] = B00 ^ (~B01 & B02) ^ RC;

   T[ 1] = B01 ^ (~B02 & B03);

   T[ 2] = B02 ^ (~B03 & B04);

   T[ 3] = B03 ^ (~B04 & B00);

   T[ 4] = B04 ^ (~B00 & B01);

 

   const uint64_t B05 = rotl<28>(A[ 3] ^ D4);

   const uint64_t B06 = rotl<20>(A[ 9] ^ D0);

   const uint64_t B07 = rotl< 3>(A[10] ^ D1);

   const uint64_t B08 = rotl<45>(A[16] ^ D2);

   const uint64_t B09 = rotl<61>(A[22] ^ D3);

   T[ 5] = B05 ^ (~B06 & B07);

   T[ 6] = B06 ^ (~B07 & B08);

   T[ 7] = B07 ^ (~B08 & B09);

   T[ 8] = B08 ^ (~B09 & B05);

   T[ 9] = B09 ^ (~B05 & B06);

 

   // --- instructions starting from here can be removed

   //     and the -O3 dicrepancy is still triggered

 

   const uint64_t B10 = rotl< 1>(A[ 1] ^ D2);

   const uint64_t B11 = rotl< 6>(A[ 7] ^ D3);

   const uint64_t B12 = rotl<25>(A[13] ^ D4);

   const uint64_t B13 = rotl< 8>(A[19] ^ D0);

   const uint64_t B14 = rotl<18>(A[20] ^ D1);

   T[10] = B10 ^ (~B11 & B12);

   T[11] = B11 ^ (~B12 & B13);

   T[12] = B12 ^ (~B13 & B14);

   T[13] = B13 ^ (~B14 & B10);

   T[14] = B14 ^ (~B10 & B11);

 

   const uint64_t B15 = rotl<27>(A[ 4] ^ D0);

   const uint64_t B16 = rotl<36>(A[ 5] ^ D1);

   const uint64_t B17 = rotl<10>(A[11] ^ D2);

   const uint64_t B18 = rotl<15>(A[17] ^ D3);

   const uint64_t B19 = rotl<56>(A[23] ^ D4);

   T[15] = B15 ^ (~B16 & B17);

   T[16] = B16 ^ (~B17 & B18);

   T[17] = B17 ^ (~B18 & B19);

   T[18] = B18 ^ (~B19 & B15);

   T[19] = B19 ^ (~B15 & B16);

 

   const uint64_t B20 = rotl<62>(A[ 2] ^ D3);

   const uint64_t B21 = rotl<55>(A[ 8] ^ D4);

   const uint64_t B22 = rotl<39>(A[14] ^ D0);

   const uint64_t B23 = rotl<41>(A[15] ^ D1);

   const uint64_t B24 = rotl< 2>(A[21] ^ D2);

   T[20] = B20 ^ (~B21 & B22);

   T[21] = B21 ^ (~B22 & B23);

   T[22] = B22 ^ (~B23 & B24);

   T[23] = B23 ^ (~B24 & B20);

   T[24] = B24 ^ (~B20 & B21);

   }

 

int main()

{

    uint64_t T[25];

 

    uint64_t A[25] = {

        15515230172486u, 9751542238472685244u, 220181482233372672u,

        2303197730119u, 9537012007446913720u, 0u, 14782389640143539577u,

        2305843009213693952u, 1056340403235818873u, 16396894922196123648u,

        13438274300558u, 3440198220943040u, 0u, 3435902021559310u, 64u,

        14313837075027532897u, 32768u, 6880396441885696u, 14320469711924527201u,

        0u, 9814829303127743595u, 18014398509481984u, 14444556046857390455u,

        4611686018427387904u, 18041275058083100u };

 

    SHA3_round(T, A, 0x0000000000008082);

 

    assert(T[0]  == 16394434931424703552u);

    assert(T[1]  == 10202638136074191489u);

    assert(T[2]  == 6432602484395933614u);

    assert(T[3]  == 10616058301262943899u);

    assert(T[4]  == 14391824303596635982u);

    assert(T[5]  == 5673590995284149638u);

    assert(T[6]  == 15681872423764765508u);

    assert(T[7]  == 11470206704342013341u);

    assert(T[8]  == 8508807405493883168u);

    assert(T[9]  == 9461805213344568570u);

    assert(T[10] == 8792313850970105187u);

    assert(T[11] == 13508586629627657374u);

    assert(T[12] == 5157283382205130943u);

    assert(T[13] == 375019647457809685u);

    assert(T[14] == 9294608398083155963u);

    assert(T[15] == 16923121173371064314u);

    assert(T[16] == 4737739424553008030u);

    assert(T[17] == 5823987023293412593u);

    assert(T[18] == 13908063749137376267u);

    assert(T[19] == 13781177305593198238u);

    assert(T[20] == 9673833001659673401u);

    assert(T[21] == 17282395057630454440u);

    assert(T[22] == 12906624984756985556u);

    assert(T[23] == 3081478361927354234u);

    assert(T[24] == 93297594635310132u);

 

    return 0;

}

=================

 

Your help debugging and fixing this problem is appreciated!

--

Regards,

Uri Blumenthal                              Voice: (781) 981-1638 

Secure Resilient Systems and Technologies   Cell:  (339) 223-5363

MIT Lincoln Laboratory                      

244 Wood Street, Lexington, MA  02420-9108      

 

Web:     https://www.ll.mit.edu/biographies/uri-blumenthal

Root CA: https://www.ll.mit.edu/llrca2.pem

 

There are two ways to design a system. One is to make is so simple there are obviously no deficiencies.

The other is to make it so complex there are no obvious deficiencies.

                                                                                                                                     -  C. A. R. Hoare

 

_______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


 

-- 

Jakub Kuderski

_______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

 

_______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

-- 

~Craig

_______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

_______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211026/6792e2e6/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 97141 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211026/6792e2e6/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.png
Type: image/png
Size: 22828 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211026/6792e2e6/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image003.png
Type: image/png
Size: 86415 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211026/6792e2e6/attachment-0005.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5249 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211026/6792e2e6/attachment-0001.bin>


More information about the llvm-dev mailing list