From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) by sourceware.org (Postfix) with ESMTPS id E5B843858D28 for ; Wed, 1 Nov 2023 16:00:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E5B843858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E5B843858D28 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::1034 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698854420; cv=none; b=uUNi+gP7eVvVvYtediHuODG1XaldRpFWdF8EDZepQ3pnRe+RoHHASHQLh8Xi/4A+RYnSHSAx/TpOsjJaCAkxWPAetGtWxMU7Sm4gDP5IuRxoDB8l9nvm2B7B/tCSkerfeF0sT2RFc9R2whV4lKC2BIUJp0u2UaPufQDlFn298UI= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698854420; c=relaxed/simple; bh=9JOe3HWDQW6kiw3lXiPWhQH4981xutO1R5NBZV32S4M=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=ZmZf7vqzt5/1XKmmYMBRMiv1CLWXBv1zAYuysshC2qwX/kZixtvB3PRXEsa+TaXzdFij7dAS3/mKzo6JsBbom2+z6F01GXvgR7lyuAOAEPWyK2H7mFWeJknfjgfemZ69XyaLS8qXOUlgo+n+jRwyiRRzFlqJCRD53+JfSYUo1sc= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pj1-x1034.google.com with SMTP id 98e67ed59e1d1-27ddc1b1652so6312062a91.2 for ; Wed, 01 Nov 2023 09:00:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698854418; x=1699459218; darn=gcc.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=oI7Wfb+6Dg52q5OFUaQyiW6NqW8SIcV9xL31pwT1Z7I=; b=PMEqAIlt5lN3wGK6Mg/zS2vqrGXPtGRf9aVnFEklDvhoca9q+ZvRk5qejw/tKQKjr/ vwDUPDRaB8Nfb/Zl520evJ05QyDNENHm5ZxjiH0GG0ox6MASzTE4aRHXoDvvdB05oTbm EDd+iHVYazjeCiOt8lTu/Gx4P8mDQ6e5N0noBGK++haYpBRdRFmaxrUlBcF8XD+65ZbI nJ4D7HrfAI1YEtPwhboNrMdV0W3E/guJlYKoTU967IxkCsJgitJUzQHQrrUnBzCBHKYo OHTaq1KV2GPnLFCuojEAlcYujLcRByzFZ/7j+1b1VvGUYJacm+OmaVbtKqKWEqDs6yIM 4ssA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698854418; x=1699459218; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oI7Wfb+6Dg52q5OFUaQyiW6NqW8SIcV9xL31pwT1Z7I=; b=MbrOGTY/0HPGIQjDT2qD6XvKLn5zzorQEuFGvgCg5cSdb3h3KwVvLiQQHaxccCW77Y 21DE2eAozq2bWkhksVfhVBotKfiZsSANc1J3ZopYrbefc7SRYknE5bvKeSM80jRI5jms YJmvQtoqA82GRVCcV/UQUs2zGswUak9jKH/ieux19J5x2XelmQ6WesoCstPW7ZILnLPz nwrJi3+PhuwXtcykKN9kXnOTl6R95gacgCdZvVQCyI5fuPYOkJplzn11ksRSMwqTVg2H X3ALdtB3wZyvS0YzrNvtR47B/VCuD+65Lz+MPVttjlXSnNffC/d8b8/UWJZKA2HYSnee JoFg== X-Gm-Message-State: AOJu0YzIRsv38EAwYugc9+R0TdyOV/a+1Z9BdvovmeG+QQBdlX5QWiGS xKPoDmQJsjc+Fc+Jn39a7sa0P0UIn2U8DbWxjXqXirMmEVY= X-Google-Smtp-Source: AGHT+IGL6Itop/VDPBw8dnBcXp+cqHw+An+5pba5/K7ZwLIPi7TwXYQYNPRuXkN+9laTbfWbOxSTF3sAIEru+MNzjxw= X-Received: by 2002:a17:90a:db92:b0:27d:d9c2:6ee5 with SMTP id h18-20020a17090adb9200b0027dd9c26ee5mr15411323pjv.9.1698854416145; Wed, 01 Nov 2023 09:00:16 -0700 (PDT) MIME-Version: 1.0 References: <95455bb364b144ec591aa5a61347bf62@ispras.ru> In-Reply-To: <95455bb364b144ec591aa5a61347bf62@ispras.ru> From: Andrew Pinski Date: Wed, 1 Nov 2023 09:00:04 -0700 Message-ID: Subject: Re: Question on GIMPLE shifts To: Daniil Frolov Cc: gcc@gcc.gnu.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Wed, Nov 1, 2023 at 3:56=E2=80=AFAM Daniil Frolov = wrote: > > Hi! > > When investigating bit shifts I got an incomprehensible moment with > the following example: > > int f(int x, int k) > { > int tmp =3D x >> k; > return (tmp & 1) << 10; > } > > If we would like to take a look into GIMPLE then we'll get: > > int f (int x, int k) > { > int tmp; > int D.2746; > int _1; > int _5; > > : > tmp_4 =3D x_2(D) >> k_3(D); > _1 =3D tmp_4 << 10; > _5 =3D _1 & 1024; > > : > : > return _5; > > } > > Is the expression '_1 =3D tmp_4 << 10' considered legal in GIMPLE? Given > the > semantics of C bit shifts, this statement could modify the sign bit, > potentially leading to overflow. Except it was not undefined in C90. Thanks, Andrew > > --- > With best regards, > Daniil