From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi1-x22e.google.com (mail-oi1-x22e.google.com [IPv6:2607:f8b0:4864:20::22e]) by sourceware.org (Postfix) with ESMTPS id 9755B3858D28 for ; Mon, 7 Nov 2022 16:36:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9755B3858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-oi1-x22e.google.com with SMTP id t62so12679130oib.12 for ; Mon, 07 Nov 2022 08:36:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:in-reply-to:organization:from:references :cc:to:content-language:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=tjTZy43K1AgsFO+/LeY6+RnP/kgxgI6yVZDJSxThjKk=; b=DAy+hV1x7WaRkom/cuXRtecNJZiuA+GxtnFw2OAK7hQDGQm4LDiXLa0JpKApSqrZBT GoncYxFI0NbjXDzQuuN6tiJld+dJpzMNUZZrj7Vgh1vO2BNyNwDd8Q1wpbCZEJmCacbI ZybK6xl4zyfoxFni7uUTZ53n3+NyNZuiba7kYu7Z3g4+TKpaM8hZjTPH0LKdqVxiibYI OcniXJM27ELGN+Mqbl0kA3fPj2OiXm0wAKwSGnlcrnHtVbPEmS5Aq6YSbfl69TWQ/7Ks hlzEFjp1YiuWxmTkYWb1B87PHP83fQNq20XkOuMv17CG4g1482CAS+r7ApE7B+0JLdqK 4/Sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:organization: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=tjTZy43K1AgsFO+/LeY6+RnP/kgxgI6yVZDJSxThjKk=; b=JWCO2M0qJ14U6YUIJe87XRJwdP9UCtNtvIp73vIjbS0x6q2SaS/QmDlC1ZIRXyKWqL VfFAiWMpOTbeBrd4vKwH/fWPs7TYKPyckbJi5Gztre6Ujtv3NaV5BLdUjjlS4DZkbrkj nsNtdji48yqZLuXJUOeP9inmcPt/ymsVnMjwdCwGwsGpPFl3QvgoYdUhVO6+nUsgc+O/ KEv0tjOaMc0d4wD5+vUSg9frsbJFM/AsTrXLfXaFMYwgZdjQDlYvCKJF/3II/n+UEuAM fY2feY5dzk5mr6KP1w0vw5bYE8v13Ow5hePguvAqEqZJ0anOLCAJYOE22gzcBZKeYT75 PPuA== X-Gm-Message-State: ACrzQf27c8KoTMWY0Tkwk2DDdRnnLQB3mlRD58SNNp91NqobvZAlwPJt Qbkckp3oM7BkxWL+NnIUUR5jGRheBtl4eeIV X-Google-Smtp-Source: AMsMyM4mTeJ55f7Oer0Jwtz3aAi5+PtphjswNJ/gNEyUo8ERIm6n5CkEfFhyU7jVmrg1h4Y+MyNp/w== X-Received: by 2002:a54:458d:0:b0:359:a896:7581 with SMTP id z13-20020a54458d000000b00359a8967581mr27986566oib.22.1667839004775; Mon, 07 Nov 2022 08:36:44 -0800 (PST) Received: from ?IPV6:2804:1b3:a7c0:a9f4:fc60:ae8f:c4b6:cf0a? ([2804:1b3:a7c0:a9f4:fc60:ae8f:c4b6:cf0a]) by smtp.gmail.com with ESMTPSA id 62-20020aca0741000000b00359ccf7748dsm2520776oih.56.2022.11.07.08.36.42 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 07 Nov 2022 08:36:44 -0800 (PST) Message-ID: <34dc6369-cdd4-fce9-3a40-55583f84c4a6@linaro.org> Date: Mon, 7 Nov 2022 13:36:40 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Subject: Re: [PATCH v2 01/10] LoongArch: Hard Float Support for functions {ll/l/ }rint{f/ }. Content-Language: en-US To: Xi Ruoyao , Xiaolin Tang , libc-alpha@sourceware.org, i.swmail@xen0n.name Cc: caiyinyu@loongson.cn, xuchenghua@loongson.cn, chenglulu@loongson.cn References: <20221107140523.896735-1-tangxiaolin@loongson.cn> <20221107140523.896735-2-tangxiaolin@loongson.cn> From: Adhemerval Zanella Netto Organization: Linaro In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-6.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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 07/11/22 11:38, Xi Ruoyao wrote: > On Mon, 2022-11-07 at 22:05 +0800, Xiaolin Tang wrote: > >> +long long int >> +__llrint (double x) >> +{ >> +  asm volatile ("frint.d \t%0, %1" : "=f" (x) : "f" (x)); >> +  return x; >> +} > > GCC trunk generates: > > __llrint: > frint.d $f0, $f0 > ftintrz.l.d $f0,$f0 > movfr2gr.d $r4,$f0 > jr $r1 > > It's not optimal. The optimal way is: > > __llrint: > ftint.l.d $f0, $f0 > movfr2gr.d $r4,$f0 > jr $r1 > > I have a GCC patch to expand __builtin_llrint to ftint.l.d and > movgr2fr.d (with -fno-math-errno, which is enabled by Glibc building > system). > > But I need some time to test my patch correctly: unfortunately I'm now > hitting some "random crashes" running Expect on LoongArch so I can't > complete GCC regression test. A compiler builtin would indeed more desirable, since it would allows to move it on generic code and use a math-use-builtins-llrint.h instead of arch-specific code.