[llvm-dev] New atomic handling status

Krzysztof Parzyszek via llvm-dev llvm-dev at lists.llvm.org
Mon Feb 24 11:41:06 PST 2020


PPC64 doesn’t have 32-bit floating point values in registers, they are always 64-bit.  32-bit FP loads/stores perform implicit conversions to/from 64-bit FP.  In such cases it’s not legal to do a bitcast to a 32-bit integer for the purpose of storing.


--
Krzysztof Parzyszek  kparzysz at quicinc.com<mailto:kparzysz at quicinc.com>   AI tools development

From: llvm-dev <llvm-dev-bounces at lists.llvm.org> On Behalf Of Matt Arsenault via llvm-dev
Sent: Monday, February 24, 2020 1:30 PM
To: Philip Reames <listmail at philipreames.com>
Cc: llvm-dev <llvm-dev at lists.llvm.org>
Subject: [EXT] Re: [llvm-dev] New atomic handling status




On Jan 22, 2020, at 19:49, Philip Reames <listmail at philipreames.com<mailto:listmail at philipreames.com>> wrote:

In short, I hit a major stumbling block.  I hadn't account for the fact that some atomic stores dependent on element type (float vs int for instance) for legality.

I think this qualifies as a target/infrastructure bug. It should always be legal to cast the FP atomic load/store to integer. This distinction isn’t possible in GlobalISel, so it makes sense to move away from this being a situation to deal with.

-Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200224/0be13b69/attachment.html>


More information about the llvm-dev mailing list