[{"id":3682032,"web_url":"http://patchwork.ozlabs.org/comment/3682032/","msgid":"<5794be46-6755-4216-a57b-9a94172ec2b3@linaro.org>","list_archive_url":null,"date":"2026-04-24T13:17:38","subject":"Re: [PATCH 3/4] target/riscv: Support raising misaligned exceptions\n for vector loads/stores","submitter":{"id":72104,"url":"http://patchwork.ozlabs.org/api/people/72104/","name":"Richard Henderson","email":"richard.henderson@linaro.org"},"content":"On 4/24/26 20:27, frank.chang@sifive.com wrote:\n> --- a/target/riscv/insn_trans/trans_rvv.c.inc\n> +++ b/target/riscv/insn_trans/trans_rvv.c.inc\n> @@ -1190,9 +1190,10 @@ static bool ldst_whole_trans(uint32_t vd, uint32_t rs1, uint32_t nf,\n>        * Update vstart with the number of processed elements.\n>        * Use the helper function if either:\n>        * - vstart is not 0.\n> +     * - Zicclsm is disabled, so misaligned accesses could trap.\n>        */\n>   \n> -    bool use_helper_fn = !s->vstart_eq_zero;\n> +    bool use_helper_fn = !s->vstart_eq_zero || !s->cfg_ptr->ext_zicclsm;\n>   \n>       if (!use_helper_fn) {\n>           uint32_t size = s->cfg_ptr->vlenb * nf;\n\nThere is a whole set of MO_ALIGN_* values you can use to select the alignment of the \nvector element:\n\n   log2_esz << MO_ASHIFT\n\nfor log2_esz <= 6 (aka MO_ALIGN_64).\n\n\nr~","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=X0uu4gkT;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g2D6z2PrNz1yDD\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 23:18:33 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wGGPk-0002hw-DL; Fri, 24 Apr 2026 09:17:48 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <richard.henderson@linaro.org>)\n id 1wGGPj-0002hn-K1\n for qemu-devel@nongnu.org; Fri, 24 Apr 2026 09:17:47 -0400","from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <richard.henderson@linaro.org>)\n id 1wGGPh-0006Rl-6K\n for qemu-devel@nongnu.org; Fri, 24 Apr 2026 09:17:47 -0400","by mail-pj1-x102d.google.com with SMTP id\n 98e67ed59e1d1-35d99bae2ebso7028969a91.3\n for <qemu-devel@nongnu.org>; Fri, 24 Apr 2026 06:17:44 -0700 (PDT)","from [192.168.10.140] ([180.233.125.15])\n by smtp.gmail.com with ESMTPSA id\n 98e67ed59e1d1-3614189343esm23215604a91.6.2026.04.24.06.17.41\n for <qemu-devel@nongnu.org>\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Fri, 24 Apr 2026 06:17:42 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1777036663; x=1777641463; darn=nongnu.org;\n h=content-transfer-encoding:in-reply-to:content-language:from\n :references:to:subject:user-agent:mime-version:date:message-id:from\n :to:cc:subject:date:message-id:reply-to;\n bh=04RJJLzAs0m+0ZWMVWTdVcIpX4oXGvTaQxcIMiXfMN8=;\n b=X0uu4gkTtsx/JC+g1SJggPOt5+kNSLobgq2wS01bOTTQ6SMFgUk8V/+NH8dOJERDMs\n eiKYFwRqQ/p+ASaVseEno3AFpugvdlcy0afFdBWPG0/PTHwgnl7irVrK4b2T3MNu4/Ba\n DKu2yKL+HsW3BFQpq6BMODYxZqaxzuv1ctJfPd9reS3WP0t1P55VlsoCfIUK1kxpvbNG\n N05zWz0YcTzVP2Jr+oPX4VfakHW1YR/qPXcFSkeY4rGRs/suCTvCbe3YBxS5tNd1jJNr\n TGyshd0ot/A3Y/uA5WzAH8OM1z3KDXndSaED89KaUU66868XsgmrCGBvFisPcTrY2PIa\n 4lbw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777036663; x=1777641463;\n h=content-transfer-encoding:in-reply-to:content-language:from\n :references:to:subject:user-agent:mime-version:date:message-id\n :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=04RJJLzAs0m+0ZWMVWTdVcIpX4oXGvTaQxcIMiXfMN8=;\n b=RUfl7uAf8Oocs1w8t0njNJ4rXQYGp1yT9WZQ3LppJgKsFVZMzgf/ON7CY9KMI+wxoh\n Puz5rqxGGFo+0ZwqtNKrVqWw2e1GJ7XjA2DICzfC5rKqIg63cfFlUknn1l7iA4UyYjNV\n x/k0dXBtT9EaRcPVNF8OUfhKTeV7bTZ7SXWlJbHcosvo0twmo5X19O6dpHaBfZLEDQq7\n vqBiP8lDhSIUOef34rASYu0m2WVSm1BoSs2OxWaoT7kwHpzZPruqmQGSCIG/3UV7+1b5\n /UHutKzHv5iEB3u0tMSo7m/uArW2hcaxHRqmGHA1Fv6oc2NxkpgxJ7o4Ik4coJ1vrskq\n Ufaw==","X-Gm-Message-State":"AOJu0YxDPFfwpgym0tZzLQPrwNrb8P1MIZeiaFs4xJvsh3HYeFbtNLDS\n YaxQiunZiwerTLwsxu46pSa2a8X0FWYISyej8eJqEfurAedfZIM0fQ+RcfICyX3EEHjVhT1xmVz\n zoeN6KeM=","X-Gm-Gg":"AeBDietHtQztBBKCaDa26vc7t2FUs3VkaqqzuHSB4GSY3f9tX+1YO9bSJvGoQyl9F0A\n qTkntyo9jewa4fFvDFsMrPdvUH4I5/imHIGfh712GTmpNPHN0RCfHQAIPZZTpY1IL4RGUgEguCV\n xCC4u5+53FBFmLsejLFO+37S5EPx1YMrd6Ir8zKU/ZvEoV99L1PQ31DRgE2aOAnUFn9eOTZJiik\n jjfKl5VfGR8zjUSoz9M30ekeWeCf7cqanmubSTjsmSvJSuxog1exFzNi847ulad/xSBcFyN0ETd\n 9s//5kite4C0UPRoe24BZIRh1T8oktW4T2CLMteBfyhm9bB1Scd1Ceos8DgemFHHz+MeYykRzvX\n Gl7uYX5IFihXB2f/7tfFBLprb5kHjFwrp1Sbe5cMw/8urA1A6a9EG8nbJGEg1IYngmmniQQ60gr\n yCoxBdYBF9B+pNfCVEccmsMjGZBQI8KJrH569tF/j9OqH+b3SdASeBD+L8YndlHsU=","X-Received":"by 2002:a17:90b:2888:b0:35e:58d3:329f with SMTP id\n 98e67ed59e1d1-36140468b1emr35331027a91.13.1777036662957;\n Fri, 24 Apr 2026 06:17:42 -0700 (PDT)","Message-ID":"<5794be46-6755-4216-a57b-9a94172ec2b3@linaro.org>","Date":"Fri, 24 Apr 2026 23:17:38 +1000","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 3/4] target/riscv: Support raising misaligned exceptions\n for vector loads/stores","To":"qemu-devel@nongnu.org","References":"<20260424102800.24022-1-frank.chang@sifive.com>\n <20260424102800.24022-4-frank.chang@sifive.com>","From":"Richard Henderson <richard.henderson@linaro.org>","Content-Language":"en-US","In-Reply-To":"<20260424102800.24022-4-frank.chang@sifive.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Received-SPF":"pass client-ip=2607:f8b0:4864:20::102d;\n envelope-from=richard.henderson@linaro.org; helo=mail-pj1-x102d.google.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}},{"id":3682033,"web_url":"http://patchwork.ozlabs.org/comment/3682033/","msgid":"<058f177b-b8ab-4fb1-9998-ba21b559a30e@linaro.org>","list_archive_url":null,"date":"2026-04-24T13:20:44","subject":"Re: [PATCH 3/4] target/riscv: Support raising misaligned exceptions\n for vector loads/stores","submitter":{"id":72104,"url":"http://patchwork.ozlabs.org/api/people/72104/","name":"Richard Henderson","email":"richard.henderson@linaro.org"},"content":"On 4/24/26 20:27, frank.chang@sifive.com wrote:\n> +static MemOpIdx vext_make_memop_idx(CPURISCVState *env, size_t size)\n> +{\n> +    int mmu_idx = riscv_env_mmu_index(env, false);\n> +    MemOp memop;\n> +\n> +    switch (size) {\n> +    case 1:\n> +        memop = MO_UB;\n> +        break;\n> +    case 2:\n> +        memop = MO_LEUW;\n> +        break;\n> +    case 4:\n> +        memop = MO_LEUL;\n> +        break;\n> +    case 8:\n> +        memop = MO_LEUQ;\n> +        break;\n> +    default:\n> +        g_assert_not_reached();\n> +    }\n   memop = size_memop(size) | mo_endian_env(env);\n\n\nr~","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=FccYf2Gr;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g2D9t6wNpz1yD5\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 23:21:06 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wGGSk-0003U7-5x; Fri, 24 Apr 2026 09:20:54 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <richard.henderson@linaro.org>)\n id 1wGGSi-0003Tz-9Z\n for qemu-devel@nongnu.org; Fri, 24 Apr 2026 09:20:52 -0400","from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <richard.henderson@linaro.org>)\n id 1wGGSg-0007qj-QR\n for qemu-devel@nongnu.org; Fri, 24 Apr 2026 09:20:52 -0400","by mail-pl1-x62c.google.com with SMTP id\n d9443c01a7336-2a7a9b8ed69so65144725ad.2\n for <qemu-devel@nongnu.org>; Fri, 24 Apr 2026 06:20:50 -0700 (PDT)","from [192.168.10.140] ([180.233.125.15])\n by smtp.gmail.com with ESMTPSA id\n d9443c01a7336-2b5fab20e80sm237309875ad.57.2026.04.24.06.20.47\n for <qemu-devel@nongnu.org>\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Fri, 24 Apr 2026 06:20:48 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1777036849; x=1777641649; darn=nongnu.org;\n h=content-transfer-encoding:in-reply-to:content-language:from\n :references:to:subject:user-agent:mime-version:date:message-id:from\n :to:cc:subject:date:message-id:reply-to;\n bh=glF7i4xS5rWtEfSzAoku/qak/u11lzjux/NIqvGHG+c=;\n b=FccYf2GrOdGwYeBSL89r3V5tnuj10sd6Y3h5Nvu9TvaOiYLorcOX1jj9zu/I/sEau6\n nE3vNwDKkwZeDJQtLiPmL2406u69jzA3nTM3casOcAARHMl5TwK9/caEwcNcH8adSR69\n ruCZvu/Y9kF6cWG+nhkM4py8lxGMVUL5Hzzf/eGGOXSEYtMFltx0ueYotInsu8IfFP/A\n BRttg/zuMSwjEb79RcoORbyXvEAReRpoGiJHIisXEcrtr82InMuJYGRHxLJTj6V7IJNy\n bUsdL/G0vlvWP31G6HNYM9NJe2bgSJu9KUYi2sI6sLhsBEobG1tNne34IJof/ml5iVTA\n OGOA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777036849; x=1777641649;\n h=content-transfer-encoding:in-reply-to:content-language:from\n :references:to:subject:user-agent:mime-version:date:message-id\n :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=glF7i4xS5rWtEfSzAoku/qak/u11lzjux/NIqvGHG+c=;\n b=dZekqko6gjWDcrXG6QyzBbhEPqBGjTa1nJkUof3czsaYCVpdcTSUZM3S/TWC8atZIt\n q9UcbQEVGYCMQo9+0Z3QttC2oJE1cKCHWKazVMQDWEm1n3IJbSvoyhtLo5QFegM7XJFB\n w0vOyWWgitwSRTDhYWRb6jV7TEJFGCeb/AjorIBpo0IH+8XdLXyHG0dXhV/T8aVJOSer\n Zzd7VO8cibtoRsTegvcJ5Flce20qoUqN2N/RoIC4IkPUI348sjzQKTf9g7jJNV748+U6\n le8b5a0y4RfL6h4Ten6QZcEBPN9XygBJefDJ0dRZnpxY4V6WgxCP9WpO6h1B1tz71m13\n IB/g==","X-Gm-Message-State":"AOJu0YxZ8JWXGtt+5tEvMqw+gzJfhH1NdgFQc52uKIRZjS6dQCIbfnnL\n hR6F8Gj88Pb7aZydz7Rv0DsVwb9e2MLPP17f46+RmPJfXAZR1A0AQfZc8Dj5KycqmsvdOWIqAoz\n B1vSvK0g=","X-Gm-Gg":"AeBDievkKAUnHc9Da7mGzDHW0M8GBK+HOy60zitkjCQ4y7KlshtQmWQ7bLvxaMKxaMx\n 1rgBVUUc5ylNK3PY5Rh8PAbU8JgGcr1ULm+uRfDbCvVEKgJ16SftUjMw9YyC3XL/ZTimNobWbG9\n l9dJi9wfMxaZTbaQuVAAusM4HmPI5W/05pNIazcsn8E8p36RMebXh5W0TT5QAEXbq1pvHnTj4AP\n WPeb9GQwztsC1hzT/5TFwOE2Smub38EKA5BMLkPnLgxlfiIEBy5ULDu87+plIe3a0RpDT+LutYe\n ofGR6ayyMpDBApDTyTmDkAUPMq6ecPtRQ8enBpE16fie33NbpF4FYfi11eci2z5Pa8TPbPiexsF\n RAzytGUGbM3xSEZGtIWsV4BFvs8fHl5y7pea/seQCG7n71jt4jW4n418v/6jXLCXU0EMd4CVNkZ\n Pjh3S6TTcOPoQZWC7wa54pryaCpCPy5YTw1phdVO5fw+x2yPrezx1A","X-Received":"by 2002:a17:902:8b87:b0:2b0:a980:367c with SMTP id\n d9443c01a7336-2b5f9eb0513mr246979095ad.2.1777036848850;\n Fri, 24 Apr 2026 06:20:48 -0700 (PDT)","Message-ID":"<058f177b-b8ab-4fb1-9998-ba21b559a30e@linaro.org>","Date":"Fri, 24 Apr 2026 23:20:44 +1000","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH 3/4] target/riscv: Support raising misaligned exceptions\n for vector loads/stores","To":"qemu-devel@nongnu.org","References":"<20260424102800.24022-1-frank.chang@sifive.com>\n <20260424102800.24022-4-frank.chang@sifive.com>","From":"Richard Henderson <richard.henderson@linaro.org>","Content-Language":"en-US","In-Reply-To":"<20260424102800.24022-4-frank.chang@sifive.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Received-SPF":"pass client-ip=2607:f8b0:4864:20::62c;\n envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x62c.google.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}}]