From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 60706 invoked by alias); 18 Oct 2016 12:16:25 -0000 Mailing-List: contact overseers-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: , Sender: overseers-owner@sourceware.org Received: (qmail 60690 invoked by uid 89); 18 Oct 2016 12:16:24 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=nt, dear, administrator X-HELO: mail-qt0-f182.google.com Received: from mail-qt0-f182.google.com (HELO mail-qt0-f182.google.com) (209.85.216.182) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 18 Oct 2016 12:16:23 +0000 Received: by mail-qt0-f182.google.com with SMTP id m5so149716726qtb.3 for ; Tue, 18 Oct 2016 05:16:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=94cHoK40BmTUHoHygd0/OWZVzYdzn6R3EbEDc6H6LxM=; b=WiQLUexPok+UV5il8CmeTwMf8lyq3wsVTOG+zfKQoTFzd7wYAwKMqj105ovANMcJjm C5rQ90/YZcgmQ+/qh3fss0o94h8BOMginOYLJgtpFlUAG7gs/cjb3AbormC6Qe74cpqk vQXLRdPHj1qky2fSWruF25Fx8Aw+ytIklfqLxnGdtnAAAJR4IqT20zMD50798I/ZhvyI oJzHtXwc/Wv1O0QSKiDxl0uJFtOQshAxF08j5YfUYfbVh43L4faws5988ah6Pz2RQ9bk EoPXQ3UL0/e3HWOIH5WZvsbkcERHiOUC+cGJworvNUMluAP6vDUWjggRHfJVEElfSlMX ApdA== X-Gm-Message-State: AA6/9Rny0nZD+4ZXPD0EmAQeaW2TDmfy+Jc7paWMtsRve6Tz0w+vR0ei2eWFfmtOqUDHeFhJOghniifbPF3CxA== X-Received: by 10.28.91.4 with SMTP id p4mr481081wmb.89.1476792980866; Tue, 18 Oct 2016 05:16:20 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.33.4 with HTTP; Tue, 18 Oct 2016 05:15:59 -0700 (PDT) From: Nicolas Le Scouarnec Date: Tue, 18 Oct 2016 12:16:00 -0000 Message-ID: Subject: Bug report in GCC To: overseers@gcc.gnu.org Content-Type: text/plain; charset=UTF-8 X-SW-Source: 2016-q4/txt/msg00024.txt.bz2 Dear administrator, I request an account on gcc bugzilla to submit the following bug report about incorrect code being generated by gcc when using gcc -O2 level. -------- In the following code, the & is incorrectly eliminated for optimization level 2 or on both gcc 5.3.1, gcc 6.2 with march=haswell. It seems that it assumes that _tzcnt_u64 should always return a value < 64, but the actual specification is that it returns 64 when l is 0. #include #include #include int main(int argc, char ** argv){ unsigned long l = atol(argv[1]); uint32_t t = _tzcnt_u64(l) & (64u-1u); printf("%u\n",t); } ------- -- Nicolas Le Scouarnec