Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion Emit VMLA for multiply-add on ARM (issue 11293061)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
jkumme...@chromium.org  
View profile  
 More options Nov 12 2012, 5:12 am
From: jkumme...@chromium.org
Date: Mon, 12 Nov 2012 10:12:47 +0000
Local: Mon, Nov 12 2012 5:12 am
Subject: Re: Emit VMLA for multiply-add on ARM (issue 11293061)
Drive-by comment:
I don't think doing this at HGraph construction time is the right approach.  
The
strongest reason for that is that the fused multiply-add depends on
instructions' representations -- which are not yet final at graph  
construction
time, they are inferred later (to some extent right now, to much bigger  
extent
when https://chromiumcodereview.appspot.com/10837165/ lands, and to much,  
much
bigger extent in the medium-term future).

One way around this would be a separate Hydrogen phase, but that idea has  
two
drawbacks: (1) an additional phase that traverses the entire graph does  
have a
cost, especially when considering huge functions (hundreds of thousands of
instructions, and these do happen); and (2) Hydrogen is probably not the  
right
place to put logic that has to do with platform-specific machine  
instructions.

After discussing this with Sven and Ulan, we agreed that the best approach  
is
probably to put this replacement step into the Lithium translation phase  
(i.e.
lithium-arm.cc). When an HMul is visited that has a single use which is an  
HAdd
that uses the HMul (1) as left input, or (2) as right input while the left  
input
is not an HMul, just skip it (don't emit any lithium instruction for it).  
When
an HAdd is visited where (1) the left input or (2) the right but not the  
left
input is an HMul, emit an FMA instead instead of an addition.

https://codereview.chromium.org/11293061/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.