From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com [IPv6:2607:f8b0:4864:20::530]) by sourceware.org (Postfix) with ESMTPS id 8D07B3858C50 for ; Mon, 3 Apr 2023 04:51:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8D07B3858C50 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pg1-x530.google.com with SMTP id d22so16709143pgw.2 for ; Sun, 02 Apr 2023 21:51:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1680497470; x=1683089470; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=gxMyJcQlgC3chU4vZ1ca4MnM32Rxbue4zs03e9LsTX0=; b=L0Cu/1ryPL1RQd2qgxdzsuARSilSQ3Rpbg48uVlALstKfv6jNib4Vv1AKKlWvQ24Kf crAPAnyaQ2eXV104WZV96UJDsVm6l+oqoYRE3k4W4vAZ98RMijhRVk3P+EyTS8tWTIUQ ukP518Ag9vEjl5GDAFCGig0sfSJyoT925wxJbjZVZ9G2Q7UNAcGhNSP7eduUT1VwXvfL LHxvQaFKpwCmxgrnUHp966CDpqey+8gf+mdD2ajOKz+7SS52kvQ6JmyBhLHilLKEa/iT m6XXKVXF2lLKcW9a/dbmC6slaF+SUw3Rw+5ZsOzan3S/+6amNxBUqErxTVbMdPFh0p2V eJow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680497470; x=1683089470; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=gxMyJcQlgC3chU4vZ1ca4MnM32Rxbue4zs03e9LsTX0=; b=EQhEy86kkNooeDqEKcYOATblxsIUpa/pwCrehsnaTk/C+MrFEdF0tGNeuAlfFoX7/4 S1ba9ngpO5r+6y13T7HnfwtqaFrWGpbtLnPCzIU2bhQf5Zev6hU87rU3/sOFlkTz1/+Q jJOZNlrHNIW/OOAAePBc+941vMVUxxzfARgkYpL4SP03JfNUy8nI8a5xHtldBctvGK2F IHS12nEBC+sgW0k9feozvJTcIlJ4ymZkEgsIiFBQdDszrQ+hf++7uColq+mT3AIdCoTv Eongd9dT/B740uAy9CJKGJFGWTCMmBjxcE3BGq92tyQq0KXNKRpf/DmC47I4A4WC59UY 3FLA== X-Gm-Message-State: AAQBX9dS82kAQ+T6j4D4bP2fdbBIrOXGyTOQAatQMEw5jXTMoRnI4Qh/ m+uVHTJHO568sphrLZl2mCg= X-Google-Smtp-Source: AKy350YmyHcemqzBgTgjwX+OiuM7L4CW04XeQtPwfUs6MMqYGoa3aX65ij2zQ1L9kCgH+J1U/DhXHw== X-Received: by 2002:aa7:9f82:0:b0:626:658:c998 with SMTP id z2-20020aa79f82000000b006260658c998mr31957815pfr.10.1680497470086; Sun, 02 Apr 2023 21:51:10 -0700 (PDT) Received: from ?IPV6:2601:681:8600:13d0::f0a? ([2601:681:8600:13d0::f0a]) by smtp.gmail.com with ESMTPSA id x11-20020aa784cb000000b0062e0010c6c1sm3162700pfn.164.2023.04.02.21.51.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 02 Apr 2023 21:51:09 -0700 (PDT) Message-ID: <1bb66bd7-fdc5-6b3b-fe07-9565c6446d84@gmail.com> Date: Sun, 2 Apr 2023 22:51:08 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Subject: Re: [PATCH] RTL: Bugfix for wrong code with v16hi compare & mask Content-Language: en-US To: Hongtao Liu Cc: gcc-patches@gcc.gnu.org References: <20230324141157.1646192-1-pan2.li@intel.com> <9aa74d50-a9db-7747-524e-9da839366433@gmail.com> From: Jeff Law In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP 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 3/26/23 19:36, Hongtao Liu wrote: > On Sun, Mar 26, 2023 at 3:01 AM Jeff Law via Gcc-patches > wrote: >> >> >> >> On 3/24/23 08:11, pan2.li--- via Gcc-patches wrote: >>> From: Pan Li >>> >>> Fix the bug of the incorrect code generation for the >>> below code sample. >>> >>> typedef unsigned short __attribute__((__vector_size__ (32))) V; >>> typedef unsigned short u16; >>> >>> void >>> foo (V m, u16 *ret) >>> { >>> V v = 6 > ((V) { 2049, 8 } & m); >>> *ret = v[0]; // + a + b + c + d; >>> } >>> >>> Before this patch. >>> addi sp,sp,-64 >>> ld a5,0(a0) >>> li a4,528384 >>> addi a4,a4,-2047 >>> and a5,a5,a4 >>> // slli a5,a5,48 <- eliminated by mistake >>> // srli a5,a5,48 <- eliminated by mistake >>> sltiu a5,a5,6 >>> negw a5,a5 >>> sh a5,0(a1) >>> >>> After this patch. >>> addi sp,sp,-64 >>> ld a5,0(a0) >>> li a4,528384 >>> addi a4,a4,-2047 >>> and a5,a5,a4 >>> slli a5,a5,48 >>> srli a5,a5,48 >>> sltiu a5,a5,6 >>> negw a5,a5 >>> sh a5,0(a1) >>> >>> The simplify_comparation for the AND operation will >>> try to simplify below RTL code from: >>> (and:DI (subreg:DI (reg:HI 154) 0) (const_int 0x801)) >>> to: >>> (subreg:DI (and (reg:HI 154) (const_int 0x801)) 0) >> These look equivalent to me -- assuming they're used as rvalues. > They're equivalent only when WORD_REGISTER_OPERATIONS, orelse the > upper bits of latter is UD, but the former is 0. Yea my bad. I need to look at this again. jeff