From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by sourceware.org (Postfix) with ESMTPS id 807D93844028 for ; Mon, 13 May 2024 14:14:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 807D93844028 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 807D93844028 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::32c ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715609656; cv=none; b=mAuukOLr/gMajrF2iJUS4uA1dhy5VQKDmPfBJUdQ7SiEGYva+KqOvekkQIGGx1x+lOl41SXTd5gjDAfvTlbrbkw+aWHSr95rpwWLhfZRftpORwmxxIV7LyBJjAOwkVeMpCUu0WGT3sK7lzSMzuPgf0LH3F+4T97+CWsMYLdoZ44= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715609656; c=relaxed/simple; bh=ZyOi79gCgnViwxgkk494v7lP4IgPXla2kVS7AcZuqCQ=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=m27r4d8XHzQjDklB+/lCkK38Eynix9Uz6/J1tJfrZ2OlmS45ML3cAQEZbVovIJgFrOpC5/UXj3XIAUv39WOshpF/4JIpwOL/+Haq0k5xi8Xmsw2OaQVuxAEcPnEl4PSLRko9rI+HG3WoBxzDBziMg3SBBM8iSN7VhtX1Z8humNU= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-41ffad2426eso28784125e9.3 for ; Mon, 13 May 2024 07:14:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715609652; x=1716214452; darn=gcc.gnu.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:cc:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=GtBUHYCr6ELCnqzNgqClmZ1ZZFoP2x8EhlcvU0Bkk0I=; b=cOLLabNe+TLjp2k6nnse3xjnWSQa3ounKReyCqoJxGUaJ31bH7mHDTaucFyHbNqxh3 ZNUJk4CoVqMoX3jA8fYiJmwVtAvqMfDgx8Rk0jy4XM1hLNRQW5mSdbV7i+fY2+VZLZB4 LFqewbiUA6G/40UcYvobaJhv6LQ+8GpnvtUqheGLavWYxJYykpsAT2QaooKcZ61fHXo/ ZMW4to8BnisuLrsvJRdrekvvqvxq4LAshhaWksWwpS0ZDC+bHBSeRZBFVwafe85Dog8T Ut8uXlO75UAUGHcGUySxvPk2lYdroHb9nZshFo1ERNKIU1763026gRPYaqL5/Is7b2pi 6R9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715609652; x=1716214452; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:cc:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=GtBUHYCr6ELCnqzNgqClmZ1ZZFoP2x8EhlcvU0Bkk0I=; b=mVZvDacFzGQ0gcFYvJCaN4T2uFYUvcN3oZJYMUa8RubqFLlN6DUFGBUY4SfTSQmGXL 1M1ZJFiWD8D8INle17DLhLmcWnQU9q8Z7QZtTTVNB8O5MdWyBMbXvikQ+zEnt6OfEyZ1 nknM36EUsoO/WUxhiEaNI5pWk6A7D7/Nrj3AQhMo4/5OqxBd+jwuPIka9KuOQyuMmEk4 o8xuQVXGbcXLugAShRpsbXBzu5F86eyoCGPHoN6bVtueD8hkSMOYWUJlW+69fLxv7wIF /ekWgTmCoGnQRyfbhZcJIj4wAOc50MZB8XTP+329yDf57G6T2fH0DzNHdIl6Iv7aWGTB Xgrw== X-Forwarded-Encrypted: i=1; AJvYcCWld7Bfvs91btKdhjsGIqfAL6DUoFFIznsuGG7Eid5QMmM1+dr/3HJjJic+OpJ0siFNKGNT3/W4mYMMz2UZODZaEJfXKB/ZHg== X-Gm-Message-State: AOJu0Yw44Fk5yW4iCUdhnXCZGQers44DK9YzHX0pE1BvbR16mjXilpXb klkTQCQ3fOt/zgHFh6//JCbBRTPKj9VhyaLhAJYP2jQ4XGPfCiAkeXnXJg== X-Google-Smtp-Source: AGHT+IGMi94ZKmStEDl9cM77mEdZNYYR3td7xAl17ZvN1SGp7aAu1lB3eCvuSPO7jDlqcCJsg+KMYg== X-Received: by 2002:a05:600c:46c4:b0:418:9dd2:fd04 with SMTP id 5b1f17b1804b1-41feaa38aa5mr100261565e9.13.1715609651744; Mon, 13 May 2024 07:14:11 -0700 (PDT) Received: from [192.168.1.23] (ip-149-172-150-237.um42.pools.vodafone-ip.de. [149.172.150.237]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-42012a025dbsm58954635e9.23.2024.05.13.07.14.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 13 May 2024 07:14:11 -0700 (PDT) Message-ID: <12e4ae5c-5608-4920-93d9-ac4419245474@gmail.com> Date: Mon, 13 May 2024 16:14:10 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Cc: rdapp.gcc@gmail.com, gcc-patches Subject: Re: [PATCH] internal-fn: Do not force vcond operand to reg. To: Richard Biener References: <4ee89471-d998-4734-a7d3-1f947d0d9f22@gmail.com> <3ff9db2b-012f-4311-afa7-314d0b50f976@gmail.com> Content-Language: en-US From: Robin Dapp In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,KAM_SHORT,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: > What happens if we simply remove all of the force_reg here? On x86 I bootstrapped and tested the attached without fallout (gcc188, so it's no avx512-native machine and therefore limited coverage). riscv regtest is unchanged. For aarch64 I would to rely on the pre-commit CI to pick it up (does that work on sub-threads?). Regards Robin gcc/ChangeLog: PR middle-end/113474 * internal-fn.cc (expand_vec_cond_mask_optab_fn): Remove force_regs. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/autovec/pr113474.c: New test. --- gcc/internal-fn.cc | 3 --- .../gcc.target/riscv/rvv/autovec/pr113474.c | 13 +++++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/pr113474.c diff --git a/gcc/internal-fn.cc b/gcc/internal-fn.cc index 2c764441cde..4d226c478b4 100644 --- a/gcc/internal-fn.cc +++ b/gcc/internal-fn.cc @@ -3163,9 +3163,6 @@ expand_vec_cond_mask_optab_fn (internal_fn, gcall *stmt, convert_optab optab) rtx_op1 = expand_normal (op1); rtx_op2 = expand_normal (op2); - mask = force_reg (mask_mode, mask); - rtx_op1 = force_reg (mode, rtx_op1); - rtx target = expand_expr (lhs, NULL_RTX, VOIDmode, EXPAND_WRITE); create_output_operand (&ops[0], target, mode); create_input_operand (&ops[1], rtx_op1, mode); diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/pr113474.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/pr113474.c new file mode 100644 index 00000000000..0364bf9f5e3 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/pr113474.c @@ -0,0 +1,13 @@ +/* { dg-do compile { target riscv_v } } */ +/* { dg-additional-options "-std=c99" } */ + +void +foo (int n, int **a) +{ + int b; + for (b = 0; b < n; b++) + for (long e = 8; e > 0; e--) + a[b][e] = a[b][e] == 15; +} + +/* { dg-final { scan-assembler "vmerge.vim" } } */ -- 2.45.0