[cfe-users] Problems with hexadecimal constant, _mm_set_epi64x and sign conversion

Matthew Fernandez via cfe-users cfe-users at lists.llvm.org
Mon Apr 2 09:30:20 PDT 2018


What version of Clang are you using? I cannot tell from the Travis config. I cannot reproduce this with -Wall -Wextra with any of the Clangs I happen to have on hand (3.8.0, 4.0.1, 5.0.0). 

> On 1 Apr 2018, at 12:00, via cfe-users <cfe-users at lists.llvm.org> wrote:
> 
> Send cfe-users mailing list submissions to
>    cfe-users at lists.llvm.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
>    http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users
> or, via email, send a message with subject or body 'help' to
>    cfe-users-request at lists.llvm.org
> 
> You can reach the person managing the list at
>    cfe-users-owner at lists.llvm.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of cfe-users digest..."
> 
> 
> Today's Topics:
> 
>   1. Problems with hexadecimal constant,    _mm_set_epi64x and sign
>      conversion (Jeffrey Walton via cfe-users)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Sat, 31 Mar 2018 23:51:22 -0400
> From: Jeffrey Walton via cfe-users <cfe-users at lists.llvm.org>
> To: "CFE-Users (Clang)" <cfe-users at lists.llvm.org>
> Subject: [cfe-users] Problems with hexadecimal constant,
>    _mm_set_epi64x and sign conversion
> Message-ID:
>    <CAH8yC8k8DLaRANj9Z9gHnDJx-dcTafwHqz4gYt42dAyMbuBrJg at mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
> 
> I'm having trouble with Travis during testing. The failed test is
> available at https://travis-ci.org/Tarsnap/scrypt/jobs/360781179.
> 
> Clang has rejected my attempts to use the constant (no suffix, ULL and LL):
> 
> MSG = _mm_add_epi32(MSG0, _mm_set_epi64x(0xE9B5DBA5B5C0FBCF,
> 0x71374491428A2F98));
> 
> MSG = _mm_add_epi32(MSG0, _mm_set_epi64x(0xE9B5DBA5B5C0FBCFULL,
> 0x71374491428A2F98ULL));
> 
> MSG = _mm_add_epi32(MSG0, _mm_set_epi64x(0xE9B5DBA5B5C0FBCFLL,
> 0x71374491428A2F98LL));
> 
> The message the compiler provides is:
> 
> crypto_sha256_shani.c:50:44: error: implicit conversion changes
> signedness: 'unsigned long' to 'long long' [-Werror,-Wsign-conversion]
> 
> The code came from Intel and I doubt it is defective.
> 
> How do I trick Clang to accept the hexadecimal value?
> 
> Thanks in advance.
> 
> 
> ------------------------------
> 
> Subject: Digest Footer
> 
> _______________________________________________
> cfe-users mailing list
> cfe-users at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users
> 
> 
> ------------------------------
> 
> End of cfe-users Digest, Vol 63, Issue 1
> ****************************************



More information about the cfe-users mailing list