Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e9cbee4c-ca83-dbb5-a29d-be3e3e543f75@ispras.ru>
Date: Wed, 28 Aug 2024 22:56:39 +0300 (MSK)
From: Alexander Monakov <amonakov@...ras.ru>
To: musl@...ts.openwall.com
cc: Alex Rønne Petersen <alex@...xrp.com>
Subject: Re: [PATCH] configure: prevent compilers from turning a * b
 + c into fma(a, b, c)


On Wed, 28 Aug 2024, Alex Rønne Petersen wrote:

> I've seen Clang do this for expressions in the fma() implementation itself,
> which of course led to infinite recursion. This happened when targeting
> arm-linux-musleabi with full soft float mode and -march=armv8-a. I imagine

FWIW I can't seem to reproduce this issue. For optionally-fused multiply-add
LLVM IR uses @llvm.fmuladd.f64, which under -mfloat-abi=soft is expanded via
__aeabi_dmul + __aeabi_dadd. I'm quite unsure how you got LLVM to generate a
call to fma in your circumstances.

Alexander

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.