[llvm-commits] [llvm] r120960 - in /llvm/trunk: lib/Target/ARM/ test/CodeGen/ARM/

Renato Golin Renato.Golin at arm.com
Mon Dec 6 10:00:51 PST 2010


On 05/12/10 22:04, Evan Cheng wrote:
> 3. A vmla followed vmla is a special case. Obvious issuing back to back RAW
> vmla + vmla is very bad. But this isn't ideal either:
> vmul
> vadd
> vmla
> Instead, we want to expand the second vmla:
> vmla
> vmul
> vadd
> Even with the 4 cycle vmul stall, the second sequence is still 2 cycles
> faster.

Nice catch, Evan! :D

I noticed that LLVM did the first (mul+add+mla), which also saved the
first vmov #0 (on a sequence of init 0 + vmlas). In that case you don't
even need the first vadd (in mul+add+mla).

You probably want to avoid mixing NEON with VFP instructions, is there a
hazard recognizer for that, too?

cheers,
--renato

-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium.  Thank you.





More information about the llvm-commits mailing list