From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752618AbcFVMbN (ORCPT ); Wed, 22 Jun 2016 08:31:13 -0400 Received: from mout.kundenserver.de ([212.227.126.187]:61505 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752366AbcFVMbK (ORCPT ); Wed, 22 Jun 2016 08:31:10 -0400 From: Arnd Bergmann To: Tomas Winkler Cc: "Levy, Amir (Jer)" , Andrew Morton , "mm-commits@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-scsi@vger.kernel.org" , "jpoimboe@redhat.com" , Martin Jambor , "Martin K. Petersen" , James Bottomley , Denys Vlasenko , Thomas Graf , Peter Zijlstra , David Rientjes , Ingo Molnar , Himanshu Madhani , Dept-Eng QLA2xxx Upstream , Jan Hubicka Subject: Re: [PATCH v2] byteswap: try to avoid __builtin_constant_p gcc bug Date: Wed, 22 Jun 2016 14:25:11 +0200 Message-ID: <7892604.CjmUVh55Wd@wuerfel> User-Agent: KMail/5.1.3 (Linux/4.4.0-22-generic; KDE/5.18.0; x86_64; ; ) In-Reply-To: References: <1780465.XdtPJpi8Tt@wuerfel> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:Z0zOUTaowFstRnhpSon/xAOwu2kK+oFR11C4Vfg+QYYSBUff2e5 NsauEOn0ewDZ/mRZ6xwTX9cv1r+H19Q0sTd/W55AvaeLMe56W1BNLbnN2IJ7GXuGtcvwfWu SlmFWh8SqoEFQxmWEkhdmTbpNYRNdByV1Hrfa/kroHM8ZESjpCqBEGFdgdhWsJfNsPHdkYB XSxeClYCugTK5cGYfo0Tw== X-UI-Out-Filterresults: notjunk:1;V01:K0:y09ElXG+N9E=:/YAr5zX5CcegrZL20lzn7s 2ceu9a6RpNn2/2Xxnmn4m6PbldFCtAapzUhPZvO4QweJOgeCp3Jo4FisaZpHw692RlqL2ncJV StORlZksv3gUOZA5VH/TWLkm8l4GMjrbuCYeKrDPPmQ5qou/VfTUM0X1u42XUdOtWdcFtP5A4 PS6mShuUU2GHAWItyzI8WVgFDu79NcU53hamU4H/Ubdci5BsujhI3OOo9jZO2xyidTCzzFPwe gK5CCRV9gmEWghFcCjdru8StIlNeQfQBTf8/cDs0O1LEiYjkh/eEAL0XsY5SJ8RjdvIiMKi7s wYM4xqFOwkbQyzPxbI6/ItWtWF9hgLM2wAmtg6VMZntbMmeb9pk+F8GuuyneSs9QPXzvmMoJC nuJxse5/fxAlSX/7iZr20G9NDpQcwzwKCvt2HnnCH76ByZf/nZ9IOnky5AT6CerlbUp/dNYsH XmkmQMOW/1ksYtMEJCU0z0M3BFqA1lz03HrCdZ1T/JKdgsUi1KC7PuJ/OCV6g+cvtqZkEMgia A9XjXE53m7L1uNT8lsJBUt4pcCQ2dBqsBjvUmqxzQOmm586bguwOxFinO6u6iI7dCzxAkoOWi 5OYGL4hyGFJbbQI1BkV6LUptRsjPr99rb2FsSxijGwYBjMdx7KL/3mNiv0NyojxfVK/zvE61T YtakRYOH5h5e7/raSiXMaKy5ZotmmGcKOR9lv4M1AeomUbw12NVOyhQWxw64UA3xtsd2v1cL3 JgR9J7YnL9mbUxr/ Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wednesday, June 22, 2016 2:44:21 PM CEST Tomas Winkler wrote: > > > > There are more than 20 files that have the statement: case cpu_to_... > > Sparse complains about: case __builtin_bswap, not about __builtin_constant_p. > > There is even much more in the header files used in initializers, > which also require constants. I wonder if __builtin_bswap produces > constant expression correctly under gcc? In gcc-4.8 or later yes. gcc-4.6/4.7 on powerpc was a special case that we have worked around now, as the 16-bit byteswap there was not a constant expression, unlike the 32-bit and 64-bit ones. Arnd