Tim,
Actually I already added a new test
http://llvm-reviews.chandlerc.com/D1753#dd97ddbf to check fmla will not
be generated when -fp-contract=fast is not in command line, although I'm
using CHECK rather than CHECK-NOT.
; RUN: llc < %s -verify-machineinstrs -mtriple=aarch64-none-linux-gnu
-mattr=+neon | FileCheck %s
define <2 x float> @test_vfma_lane_f32(<2 x float> %a, <2 x float> %b,
<2 x float> %v) {
; CHECK: test_vfma_lane_f32:
; CHECK: fmul {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, {{v[0-9]+}}.s[{{[0-9]+}}]
; CHECK: fadd {{v[0-9]+}}.2s, {{v[0-9]+}}.2s, {{v[0-9]+}}.2s
entry:
%shuffle = shufflevector <2 x float> %v, <2 x float> undef, <2 x i32>
<i32 1, i32 1>
%mul = fmul <2 x float> %shuffle, %b
%add = fadd <2 x float> %mul, %a
ret <2 x float> %add
}
Thanks,
-Jiangning
On 09/30/2013 01:52 AM, Tim Northover wrote:
Hi Jiangning,
Sorry I didn't get a chance to reply on Friday, and thanks for
reworking the patch.
For register definition 'Re', I didn't make change.
Fair enough.
I think it looks pretty much OK now, though I'd be happier if there
was a test that we *weren't* generating fmla instructions all the time
(perhaps with a comment about it being intentional). It's a very
tempting "optimisation" to make.
I think you should commit, with or without that though. I'll take a
look over the revision after-wards.
Cheers.
Tim.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits