From unknown Fri Sep 05 11:00:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30020: floating point unboxing regression in 2.2.3 Resent-From: "Thompson, David" Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Mon, 08 Jan 2018 03:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 30020 X-GNU-PR-Package: guile X-GNU-PR-Keywords: To: 30020@debbugs.gnu.org X-Debbugs-Original-To: bug-guile@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.151538138926666 (code B ref -1); Mon, 08 Jan 2018 03:17:01 +0000 Received: (at submit) by debbugs.gnu.org; 8 Jan 2018 03:16:29 +0000 Received: from localhost ([127.0.0.1]:40060 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eYNvI-0006w2-V1 for submit@debbugs.gnu.org; Sun, 07 Jan 2018 22:16:29 -0500 Received: from eggs.gnu.org ([208.118.235.92]:41156) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eYNvH-0006vn-JH for submit@debbugs.gnu.org; Sun, 07 Jan 2018 22:16:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eYNvB-00038u-Iz for submit@debbugs.gnu.org; Sun, 07 Jan 2018 22:16:22 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:54152) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eYNvB-00038c-FK for submit@debbugs.gnu.org; Sun, 07 Jan 2018 22:16:21 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60358) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eYNvA-0005qV-Az for bug-guile@gnu.org; Sun, 07 Jan 2018 22:16:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eYNv9-00037S-C6 for bug-guile@gnu.org; Sun, 07 Jan 2018 22:16:20 -0500 Received: from mail-ua0-x22c.google.com ([2607:f8b0:400c:c08::22c]:42564) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eYNv9-00037K-4o for bug-guile@gnu.org; Sun, 07 Jan 2018 22:16:19 -0500 Received: by mail-ua0-x22c.google.com with SMTP id q22so5971564uaa.9 for ; Sun, 07 Jan 2018 19:16:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=worcester-edu.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=EhxyiWzPheVcFXDAJFm8h28JQ25LivXjyswLv4d0amo=; b=kte+G7ouzmVUEGE9e45Toj6rcVzO1BJiXVYp4PbnmVAG7/6jSYsV7IMy5tcBuw4H10 jSty3PJRPDH3mqSxYlHsgiuC0VT/bLRhF1TXGO2XLixHXZejvXUmVp4q2COzCJvHhFXR woEa6K+HMRGc/4S3FjI9LSSjWtTph1Omhd16Hgm+eampClipLS2sX2aO1HI/3LKKooRD QOHEvqJwgEZNWzivaRCC6dtuHM21e0dGAR/AwYNFus93U2dV5m98OkU1JWCkKLOSe993 wf4Y/LCiVcOmvER1hTmAPW84+G6CZpn1g96KiLNIBd7jH+6gzXYT6CEyalgzO4sRyOs/ LMDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=EhxyiWzPheVcFXDAJFm8h28JQ25LivXjyswLv4d0amo=; b=sSgt952wtcG7o+3KXtshTbluMUQlTmdO/BGgOTaFvofLiMCVGMcJ0tD+bKkoSGFTxb 57spT4Z7kokUjouY9gftlpldlojbX8xUteSekcs7ua+Wjgpxld+wthdRd3Gu/s0UqbO7 bXb51rUamA2bzD10aQ2NdM5mb/aeRPnUUZOx37M2zTpzqCHwI2XerGPNOCNELE/RCHJe 2s1CQdwKvMdY1p7yDNJ6YeX3+2CuFQgTE72h4bp6nEb14fR/3hvC5BoAQeJ1pje8Rfme h1gMRQpTL43Sq6teKFaETTaFpZP9FynDoqvbvNlNB6Egl0Cl1Y6A+/9OXR2QHsiLcrlY VA6Q== X-Gm-Message-State: AKGB3mI/9mOTnZTfbRIZWwrk5JN1ctg4kkalBf7ArbBpxGuVEvFRFmdp Dncy7zRlpf6WPiHyCU2U9S/XHZSd4XanvTvxvStziA== X-Google-Smtp-Source: ACJfBou2FtV52unKTB3RtKJ/WZUf0AWHxFOV3uRcO324dBTSWa1S7f2lyXJ8p642MzV52DoApTNlH9j+swRmy/sV23M= X-Received: by 10.176.19.201 with SMTP id n9mr10429299uae.16.1515381378043; Sun, 07 Jan 2018 19:16:18 -0800 (PST) MIME-Version: 1.0 Received: by 10.31.77.6 with HTTP; Sun, 7 Jan 2018 19:16:17 -0800 (PST) From: "Thompson, David" Date: Sun, 7 Jan 2018 22:16:17 -0500 Message-ID: Content-Type: text/plain; charset="UTF-8" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) Hello, Guile 2.2.3 seems to have lost some of the abilities that Guile 2.2.2 had wrt unboxing floats. Here's a simple procedure to show the problem. It simply adds the first two elements of an f32vector: (define (add-two-floats bv) (+ (f32vector-ref bv 0) (f32vector-ref bv 1))) Here's the disassembly from 2.2.2 (note that f64->scm appears only once): Disassembly of # at #x7efef4006230: 0 (assert-nargs-ee/locals 2 1) ;; 3 slots (1 arg) at (unknown file):22:0 1 (load-u64 2 0 0) at (unknown file):23:26 4 (bv-f32-ref 2 1 2) 5 (load-u64 0 0 4) at (unknown file):23:47 8 (bv-f32-ref 1 1 0) 9 (fadd 2 2 1) at (unknown file):23:23 10 (f64->scm 1 2) 11 (handle-interrupts) 12 (return-values 2) ;; 1 value And here is 2.2.3: Disassembly of # at #x2457140: 0 (assert-nargs-ee/locals 2 1) ;; 3 slots (1 arg) at (unknown file):29:0 1 (load-u64 2 0 0) at (unknown file):30:26 4 (bv-f32-ref 2 1 2) 5 (f64->scm 2 2) 6 (load-u64 0 0 4) at (unknown file):30:47 9 (bv-f32-ref 1 1 0) 10 (f64->scm 1 1) 11 (scm->f64 2 2) at (unknown file):30:23 12 (scm->f64 1 1) 13 (fadd 2 2 1) 14 (f64->scm 1 2) 15 (handle-interrupts) 16 (return-values 2) ;; 1 value 2.2.3 is reading unboxed floats from the bytevector, boxing them, unboxing them, then calling fadd. The result is that some formerly well optimized code of mine that generated little to no garbage is now generating lots of garbage. Is this intentional due to the "instruction explosion" work going on is it a legitimate bug? Thanks, - Dave From unknown Fri Sep 05 11:00:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30020: floating point unboxing regression in 2.2.3 Resent-From: "Thompson, David" Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Wed, 02 May 2018 14:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30020 X-GNU-PR-Package: guile X-GNU-PR-Keywords: To: 30020@debbugs.gnu.org Received: via spool by 30020-submit@debbugs.gnu.org id=B30020.15252702727570 (code B ref 30020); Wed, 02 May 2018 14:12:01 +0000 Received: (at 30020) by debbugs.gnu.org; 2 May 2018 14:11:12 +0000 Received: from localhost ([127.0.0.1]:47142 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fDsTQ-0001y2-Bn for submit@debbugs.gnu.org; Wed, 02 May 2018 10:11:12 -0400 Received: from mail-ot0-f176.google.com ([74.125.82.176]:33286) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fDsTO-0001xq-W3 for 30020@debbugs.gnu.org; Wed, 02 May 2018 10:11:11 -0400 Received: by mail-ot0-f176.google.com with SMTP id l22-v6so16742093otj.0 for <30020@debbugs.gnu.org>; Wed, 02 May 2018 07:11:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=worcester-edu.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=CUSFqKIkFTYblsSFuYDgc6HdS5k06jV9sOQ+zj8tNDY=; b=oj+QdQITF2LNRpZJTNdCldoFvC4p6MxqnzKPZQg/gSYwIaGj3yzGHu55TgLBhsi9ND zs0w0RBlZrNCq9vvjsIyr34C5VActeShlwG50TEQZPoIRvc23gZ6PEPf3o0BPT2Qy4Bt JX/NdzbOfFHzBnA78EZZpHicoMx4Wa/bnm5qxvUdwTV1hYNRLqTJRl4t1Sxw5JbQCuLW /BzPtpqcD3A5ADdl6yF71ltGflpQgSf1veDdIg2dmaOywwGgaMoa/LiKE0rx9mnWkHY4 G9YkIK2TQpN7JO0hfF4v2LzoHBMcVPpIDC/ENaWb5fbTPZDsUgzBdw1sQcU+yt0uKL7b Jx2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=CUSFqKIkFTYblsSFuYDgc6HdS5k06jV9sOQ+zj8tNDY=; b=eIMJ2qZWX4zontd+uqnJpvEJG5YsgRtHO4XEQ93tDBJ5Ji7OuFWpt5p76X+TbhwN+Z Kk227tnPhjzLG2JVzs2hayFakzv+C12yDZypQreAZ1HM6lD8AjoAyR51eBJmdUKZrE2t g1vXOmm4hHssvpb69Ys1KCF+YVScO3snIZr7GjNqQ6JZR057BRfnaOy2g78m1aJ1kkcA LmfOQllQVQ2l1GblKntlQuLA0t0kZKKGsZ6iCzdf/v86iiQSk0adIrAw2H0qwjwYyLpr fgSV9G10u9rdLcAl+azby7/pwUdavxOQLByKiqFgcU0rKqmi5tNdKVvmoxl+4D9znGT5 ls3A== X-Gm-Message-State: ALQs6tBl4XMbIBq6dMjEeb5fEyFJUpjZHqo19M/7mgchiicg70c3icDC i1AZA+qzwFHo+4wIDLwPsmikamw+X/mumNXkRt+ujg== X-Google-Smtp-Source: AB8JxZq51/xUYwqUd67xb56N0o0ttWmck9zoghiU+xlK7WPlxcJZnLdZjG+aXsOzwgJKeuhsGtB+thqcZLWyajKvqak= X-Received: by 2002:a9d:17c2:: with SMTP id j60-v6mr3453105otj.329.1525270264852; Wed, 02 May 2018 07:11:04 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a9d:714d:0:0:0:0:0 with HTTP; Wed, 2 May 2018 07:11:04 -0700 (PDT) In-Reply-To: References: From: "Thompson, David" Date: Wed, 2 May 2018 10:11:04 -0400 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello, On Sun, Jan 7, 2018 at 10:16 PM, Thompson, David wrote: > Guile 2.2.3 seems to have lost some of the abilities that Guile 2.2.2 > had wrt unboxing floats. Ping. This regression is a bummer. :( - Dave From unknown Fri Sep 05 11:00:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30020: floating point unboxing regression in 2.2.3 Resent-From: Mark H Weaver Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Mon, 28 May 2018 06:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30020 X-GNU-PR-Package: guile X-GNU-PR-Keywords: To: "Thompson\, David" Cc: Andy Wingo , 30020@debbugs.gnu.org Received: via spool by 30020-submit@debbugs.gnu.org id=B30020.152748857714088 (code B ref 30020); Mon, 28 May 2018 06:23:01 +0000 Received: (at 30020) by debbugs.gnu.org; 28 May 2018 06:22:57 +0000 Received: from localhost ([127.0.0.1]:51489 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fNBYX-0003fA-DI for submit@debbugs.gnu.org; Mon, 28 May 2018 02:22:57 -0400 Received: from world.peace.net ([64.112.178.59]:38042) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fNBYW-0003ex-El for 30020@debbugs.gnu.org; Mon, 28 May 2018 02:22:56 -0400 Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1fNBYQ-0001yJ-A8; Mon, 28 May 2018 02:22:50 -0400 From: Mark H Weaver References: Date: Mon, 28 May 2018 02:21:37 -0400 In-Reply-To: (David Thompson's message of "Sun, 7 Jan 2018 22:16:17 -0500") Message-ID: <87lgc4xpu6.fsf@netris.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi David, Sorry for the long delay. "Thompson, David" writes: > Guile 2.2.3 seems to have lost some of the abilities that Guile 2.2.2 > had wrt unboxing floats. Here's a simple procedure to show the > problem. It simply adds the first two elements of an f32vector: > > (define (add-two-floats bv) > (+ (f32vector-ref bv 0) (f32vector-ref bv 1))) Thanks for the tiny test case. This helps a lot! > Here's the disassembly from 2.2.2 (note that f64->scm appears only once): > > Disassembly of # at #x7efef4006230: > > 0 (assert-nargs-ee/locals 2 1) ;; 3 slots (1 arg) at > (unknown file):22:0 > 1 (load-u64 2 0 0) at > (unknown file):23:26 > 4 (bv-f32-ref 2 1 2) > 5 (load-u64 0 0 4) at > (unknown file):23:47 > 8 (bv-f32-ref 1 1 0) > 9 (fadd 2 2 1) at > (unknown file):23:23 > 10 (f64->scm 1 2) > 11 (handle-interrupts) > 12 (return-values 2) ;; 1 value > > And here is 2.2.3: > > Disassembly of # at #x2457140: > > 0 (assert-nargs-ee/locals 2 1) ;; 3 slots (1 arg) at > (unknown file):29:0 > 1 (load-u64 2 0 0) at > (unknown file):30:26 > 4 (bv-f32-ref 2 1 2) > 5 (f64->scm 2 2) > 6 (load-u64 0 0 4) at > (unknown file):30:47 > 9 (bv-f32-ref 1 1 0) > 10 (f64->scm 1 1) > 11 (scm->f64 2 2) at > (unknown file):30:23 > 12 (scm->f64 1 1) > 13 (fadd 2 2 1) > 14 (f64->scm 1 2) > 15 (handle-interrupts) > 16 (return-values 2) ;; 1 value > > 2.2.3 is reading unboxed floats from the bytevector, boxing them, > unboxing them, then calling fadd. The result is that some formerly > well optimized code of mine that generated little to no garbage is now > generating lots of garbage. I did the moral equivalent of a git bisect, and found the culprit: commit d4883307ca64a7028b9a6cd072974437306c19d3 Author: Andy Wingo Date: Thu Nov 30 10:41:45 2017 +0100 Minor CSE run-time optimization * module/language/cps/cse.scm (compute-equivalent-subexpressions): Minor optimization to reduce the size of equivalent expression keys, and to avoid some work if an expression has no key. Fortunately, this commit can be reverted in isolation without any difficulty, and apparently without any negative consequences. If a better solution isn't found soon, perhaps that's what we should do. Andy, do you have any idea what's going on here? Thanks, Mark From unknown Fri Sep 05 11:00:25 2025 X-Loop: help-debbugs@gnu.org Subject: bug#30020: floating point unboxing regression in 2.2.3 Resent-From: "Thompson, David" Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Mon, 28 May 2018 19:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30020 X-GNU-PR-Package: guile X-GNU-PR-Keywords: To: Mark H Weaver Cc: Andy Wingo , 30020@debbugs.gnu.org Received: via spool by 30020-submit@debbugs.gnu.org id=B30020.152753640630610 (code B ref 30020); Mon, 28 May 2018 19:41:02 +0000 Received: (at 30020) by debbugs.gnu.org; 28 May 2018 19:40:06 +0000 Received: from localhost ([127.0.0.1]:52715 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fNNzy-0007xe-6f for submit@debbugs.gnu.org; Mon, 28 May 2018 15:40:06 -0400 Received: from mail-wr0-f177.google.com ([209.85.128.177]:39716) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fNNzv-0007x5-5d for 30020@debbugs.gnu.org; Mon, 28 May 2018 15:40:05 -0400 Received: by mail-wr0-f177.google.com with SMTP id w7-v6so9869384wrn.6 for <30020@debbugs.gnu.org>; Mon, 28 May 2018 12:40:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=worcester-edu.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=oMkc8kQ0DhObG0AFFkuk9aBTQ/PJp1+pGOdmjzfRl1k=; b=CS+ZvLxnfM1R1p8E5rGOnsRqRZRvfGkI4otIjcSqS7nKuw11O8PBo+rjOk3KNPdnOS s02xHva2vo6+kPY3vQ87uaqt9WuhKIoLjwuI+w2Jd4nm77cDGcpgQTf670rWwKffILIm rAOGXyTSyONNliJxXJcefQd1gFWHeaA0uTkoE1+PVc0xW1IHANPKXxNE3IEM+fW/3KGT q+4auoQ61MJaOJPv8ZcM8oQ1O1eB2hGGeCRaaJLwx8xVnDUcgDfuSPrCPXG3r0d0IY1l huv2E/WgfF9UxxyrRBBd5YyWbmHzXGcH6oz3PrN3V8LXUBXhmIGREi0Rv8MB3zwXhbQa QU6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=oMkc8kQ0DhObG0AFFkuk9aBTQ/PJp1+pGOdmjzfRl1k=; b=FvcUUUWiEqTc/mk5Qth/9/zHFYNMUfqtzlWM693MAGsNfJ6oCDsv1/5wm73m6omRBg DXtuseT2zOwkH9wwPDK123v9GiHpuOhGxAtVK3mGq2Vulj4jNp1iJ2AdalK+zRPc8Xaw 5TJ6Cbko1KJ7x1zxvtYI3EnFgFWfvnpOUSMLQI5hyx6WTP1BO4PNAq9XoblQ1iHUAcFi iWWesz1wLZ1TnElExW7xCD4Ns46vNbB7SL8rio3HgQ6D5gdNq84LYq1chHc8cnJoSqDi WfrWWGhkYVadws2T3QGtf0XmnUXAcea6Y4zNMoJR0StrEweZuS6UnddfJo9PWJPlQZVw mpAw== X-Gm-Message-State: ALKqPwcSY3DSLaPLdHry8d0YjoE2HT8PPyjyEfxn61U2kKf68CDwwAEq H27zwZlPcP7HfVKoDhUKT69+nK/2vEIZwKstw34Gng== X-Google-Smtp-Source: ADUXVKJk80GWcLtg2vhtPRp7OtWJSKyuNk00fFbfpsRUtBjcO9FHdinF+FXhnSWP+Xc/BfHBtujSu3dLdpLYgJo6Hmc= X-Received: by 2002:adf:9025:: with SMTP id h34-v6mr5774537wrh.123.1527536397229; Mon, 28 May 2018 12:39:57 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a5d:4088:0:0:0:0:0 with HTTP; Mon, 28 May 2018 12:39:56 -0700 (PDT) In-Reply-To: <87lgc4xpu6.fsf@netris.org> References: <87lgc4xpu6.fsf@netris.org> From: "Thompson, David" Date: Mon, 28 May 2018 15:39:56 -0400 Message-ID: Content-Type: text/plain; charset="UTF-8" X-Spam-Score: -1.7 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.7 (--) Hi Mark, On Mon, May 28, 2018 at 2:21 AM, Mark H Weaver wrote: > Hi David, > > Sorry for the long delay. No worries! > I did the moral equivalent of a git bisect, and found the culprit: > > commit d4883307ca64a7028b9a6cd072974437306c19d3 > Author: Andy Wingo > Date: Thu Nov 30 10:41:45 2017 +0100 > > Minor CSE run-time optimization > > * module/language/cps/cse.scm (compute-equivalent-subexpressions): Minor > optimization to reduce the size of equivalent expression keys, and to > avoid some work if an expression has no key. Thanks for taking the time to look at it. Curious to know what Andy thinks. - Dave From unknown Fri Sep 05 11:00:25 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: "Thompson, David" Subject: bug#30020: closed (Re: bug#30020: floating point unboxing regression in 2.2.3) Message-ID: References: <87tvq9761h.fsf@netris.org> X-Gnu-PR-Message: they-closed 30020 X-Gnu-PR-Package: guile Reply-To: 30020@debbugs.gnu.org Date: Mon, 11 Jun 2018 14:29:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1528727342-1325-1" This is a multi-part message in MIME format... ------------=_1528727342-1325-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #30020: floating point unboxing regression in 2.2.3 which was filed against the guile package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 30020@debbugs.gnu.org. --=20 30020: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D30020 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1528727342-1325-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 30020-done) by debbugs.gnu.org; 11 Jun 2018 14:28:18 +0000 Received: from localhost ([127.0.0.1]:43521 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fSNnu-0000KS-GK for submit@debbugs.gnu.org; Mon, 11 Jun 2018 10:28:18 -0400 Received: from world.peace.net ([64.112.178.59]:42528) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fSNns-0000KE-Az for 30020-done@debbugs.gnu.org; Mon, 11 Jun 2018 10:28:16 -0400 Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1fSNnk-0004Cw-Ve; Mon, 11 Jun 2018 10:28:09 -0400 From: Mark H Weaver To: "Thompson\, David" Subject: Re: bug#30020: floating point unboxing regression in 2.2.3 References: <87lgc4xpu6.fsf@netris.org> Date: Mon, 11 Jun 2018 10:26:50 -0400 In-Reply-To: <87lgc4xpu6.fsf@netris.org> (Mark H. Weaver's message of "Mon, 28 May 2018 02:21:37 -0400") Message-ID: <87tvq9761h.fsf@netris.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 30020-done Cc: Andy Wingo , 30020-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Mark H Weaver writes: > I did the moral equivalent of a git bisect, and found the culprit: > > commit d4883307ca64a7028b9a6cd072974437306c19d3 > Author: Andy Wingo > Date: Thu Nov 30 10:41:45 2017 +0100 > > Minor CSE run-time optimization > > * module/language/cps/cse.scm (compute-equivalent-subexpressions): Minor > optimization to reduce the size of equivalent expression keys, and to > avoid some work if an expression has no key. > > Fortunately, this commit can be reverted in isolation without any > difficulty, and apparently without any negative consequences. If a > better solution isn't found soon, perhaps that's what we should do. I pushed commit df93752479ab88446f5db4b1d6ebf53a85c7593f to the stable-2.2 branch, which reverts the above commit. I'm closing this bug, but feel free to reopen if there are still issues to resolve. Thanks, Mark ------------=_1528727342-1325-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 8 Jan 2018 03:16:29 +0000 Received: from localhost ([127.0.0.1]:40060 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eYNvI-0006w2-V1 for submit@debbugs.gnu.org; Sun, 07 Jan 2018 22:16:29 -0500 Received: from eggs.gnu.org ([208.118.235.92]:41156) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eYNvH-0006vn-JH for submit@debbugs.gnu.org; Sun, 07 Jan 2018 22:16:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eYNvB-00038u-Iz for submit@debbugs.gnu.org; Sun, 07 Jan 2018 22:16:22 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:54152) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eYNvB-00038c-FK for submit@debbugs.gnu.org; Sun, 07 Jan 2018 22:16:21 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60358) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eYNvA-0005qV-Az for bug-guile@gnu.org; Sun, 07 Jan 2018 22:16:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eYNv9-00037S-C6 for bug-guile@gnu.org; Sun, 07 Jan 2018 22:16:20 -0500 Received: from mail-ua0-x22c.google.com ([2607:f8b0:400c:c08::22c]:42564) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eYNv9-00037K-4o for bug-guile@gnu.org; Sun, 07 Jan 2018 22:16:19 -0500 Received: by mail-ua0-x22c.google.com with SMTP id q22so5971564uaa.9 for ; Sun, 07 Jan 2018 19:16:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=worcester-edu.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=EhxyiWzPheVcFXDAJFm8h28JQ25LivXjyswLv4d0amo=; b=kte+G7ouzmVUEGE9e45Toj6rcVzO1BJiXVYp4PbnmVAG7/6jSYsV7IMy5tcBuw4H10 jSty3PJRPDH3mqSxYlHsgiuC0VT/bLRhF1TXGO2XLixHXZejvXUmVp4q2COzCJvHhFXR woEa6K+HMRGc/4S3FjI9LSSjWtTph1Omhd16Hgm+eampClipLS2sX2aO1HI/3LKKooRD QOHEvqJwgEZNWzivaRCC6dtuHM21e0dGAR/AwYNFus93U2dV5m98OkU1JWCkKLOSe993 wf4Y/LCiVcOmvER1hTmAPW84+G6CZpn1g96KiLNIBd7jH+6gzXYT6CEyalgzO4sRyOs/ LMDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=EhxyiWzPheVcFXDAJFm8h28JQ25LivXjyswLv4d0amo=; b=sSgt952wtcG7o+3KXtshTbluMUQlTmdO/BGgOTaFvofLiMCVGMcJ0tD+bKkoSGFTxb 57spT4Z7kokUjouY9gftlpldlojbX8xUteSekcs7ua+Wjgpxld+wthdRd3Gu/s0UqbO7 bXb51rUamA2bzD10aQ2NdM5mb/aeRPnUUZOx37M2zTpzqCHwI2XerGPNOCNELE/RCHJe 2s1CQdwKvMdY1p7yDNJ6YeX3+2CuFQgTE72h4bp6nEb14fR/3hvC5BoAQeJ1pje8Rfme h1gMRQpTL43Sq6teKFaETTaFpZP9FynDoqvbvNlNB6Egl0Cl1Y6A+/9OXR2QHsiLcrlY VA6Q== X-Gm-Message-State: AKGB3mI/9mOTnZTfbRIZWwrk5JN1ctg4kkalBf7ArbBpxGuVEvFRFmdp Dncy7zRlpf6WPiHyCU2U9S/XHZSd4XanvTvxvStziA== X-Google-Smtp-Source: ACJfBou2FtV52unKTB3RtKJ/WZUf0AWHxFOV3uRcO324dBTSWa1S7f2lyXJ8p642MzV52DoApTNlH9j+swRmy/sV23M= X-Received: by 10.176.19.201 with SMTP id n9mr10429299uae.16.1515381378043; Sun, 07 Jan 2018 19:16:18 -0800 (PST) MIME-Version: 1.0 Received: by 10.31.77.6 with HTTP; Sun, 7 Jan 2018 19:16:17 -0800 (PST) From: "Thompson, David" Date: Sun, 7 Jan 2018 22:16:17 -0500 Message-ID: Subject: floating point unboxing regression in 2.2.3 To: bug-guile@gnu.org Content-Type: text/plain; charset="UTF-8" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) Hello, Guile 2.2.3 seems to have lost some of the abilities that Guile 2.2.2 had wrt unboxing floats. Here's a simple procedure to show the problem. It simply adds the first two elements of an f32vector: (define (add-two-floats bv) (+ (f32vector-ref bv 0) (f32vector-ref bv 1))) Here's the disassembly from 2.2.2 (note that f64->scm appears only once): Disassembly of # at #x7efef4006230: 0 (assert-nargs-ee/locals 2 1) ;; 3 slots (1 arg) at (unknown file):22:0 1 (load-u64 2 0 0) at (unknown file):23:26 4 (bv-f32-ref 2 1 2) 5 (load-u64 0 0 4) at (unknown file):23:47 8 (bv-f32-ref 1 1 0) 9 (fadd 2 2 1) at (unknown file):23:23 10 (f64->scm 1 2) 11 (handle-interrupts) 12 (return-values 2) ;; 1 value And here is 2.2.3: Disassembly of # at #x2457140: 0 (assert-nargs-ee/locals 2 1) ;; 3 slots (1 arg) at (unknown file):29:0 1 (load-u64 2 0 0) at (unknown file):30:26 4 (bv-f32-ref 2 1 2) 5 (f64->scm 2 2) 6 (load-u64 0 0 4) at (unknown file):30:47 9 (bv-f32-ref 1 1 0) 10 (f64->scm 1 1) 11 (scm->f64 2 2) at (unknown file):30:23 12 (scm->f64 1 1) 13 (fadd 2 2 1) 14 (f64->scm 1 2) 15 (handle-interrupts) 16 (return-values 2) ;; 1 value 2.2.3 is reading unboxed floats from the bytevector, boxing them, unboxing them, then calling fadd. The result is that some formerly well optimized code of mine that generated little to no garbage is now generating lots of garbage. Is this intentional due to the "instruction explosion" work going on is it a legitimate bug? Thanks, - Dave ------------=_1528727342-1325-1--