Displaying 7 results from an estimated 7 matches for "oldfmareg".
2016 Feb 20
2
[VSXFMAMutate] OldFMAReg may be wrongly rewritten
...p1 = fmul float %tmp, 0x401F25E360000000
%tmp2 = fadd float %tmp1, 0x3FC1A7B960000000
%tmp3 = select i1 undef, float 0x401F25E360000000, float %tmp2
store float %tmp3, float* undef
br label %loop_bb
}
The code above is triggering a assertion failure when adjusting the live
intervals, since OldFMAReg (%vreg12 in debug info) is actually defined in
two blocks.
I wonder if we can fix this by making the transformation simpler, that is,
instead of doing:
%vreg12<def> = COPY %vreg7; VSSRC:%vreg12,%vreg7
%vreg12<def,tied1> = XSMADDASP %vreg12<tied0>, %vreg0, %vreg4;
VSSRC:%v...
2016 Mar 25
1
[VSXFMAMutate] OldFMAReg may be wrongly rewritten
On Tue, Mar 22, 2016 at 5:13 PM Eric Christopher wrote:
> I think we can probably go ahead and throw this up on Phabricator for
> review. I'd probably bring in Matthias for review as well.
>
> Thanks!
>
> -eric
>
(Follow up on the discuss in IRC)
I tried to bridge PPC backend and commuteInstruction, not sure if
correctly, but here I got some non-optimal results: in 12
2016 Feb 22
0
[VSXFMAMutate] OldFMAReg may be wrongly rewritten
On Fri, Feb 19, 2016 at 5:10 PM Tim Shen <timshen at google.com> wrote:
> I wonder if we can fix this by making the transformation simpler, that is,
> instead of doing:
>
I wrote a prototype (see attach) for this idea, it actually improves some
of the test cases (e.g. fma-assoc.ll: test_FMADD_ASSOC1), but pessimize
several other cases (e.g. test_FMADD_ASSOC_EXT1).
I'm not
2016 Feb 29
2
[VSXFMAMutate] OldFMAReg may be wrongly rewritten
Ping?
On Mon, Feb 22, 2016 at 1:06 PM Tim Shen <timshen at google.com> wrote:
> On Fri, Feb 19, 2016 at 5:10 PM Tim Shen <timshen at google.com> wrote:
>
>> I wonder if we can fix this by making the transformation simpler, that
>> is, instead of doing:
>>
>
> I wrote a prototype (see attach) for this idea, it actually improves some
> of the test cases
2016 Mar 23
0
[VSXFMAMutate] OldFMAReg may be wrongly rewritten
I think we can probably go ahead and throw this up on Phabricator for
review. I'd probably bring in Matthias for review as well.
Thanks!
-eric
On Wed, Mar 16, 2016 at 10:53 AM Tim Shen <timshen at google.com> wrote:
> I implemented a proof of concept of a new generic MachineFunction SSA
> pass. The code is not readable and not efficient yet, but it shows
> interesting
2016 Mar 16
2
[VSXFMAMutate] OldFMAReg may be wrongly rewritten
I implemented a proof of concept of a new generic MachineFunction SSA pass.
The code is not readable and not efficient yet, but it shows interesting
results:
In fma.ll @test_FMSUB2 (return dummy(A * B + C, A * B - D)):
before:
fmr 0, 1
xsmaddadp 3, 0, 2
xsmsubmdp 0, 2, 4
fmr 1, 3
fmr 2, 0
bl dummy2
after:
xsmsubadp 4, 1, 2
xsmaddmdp
2016 Mar 05
2
[VSXFMAMutate] OldFMAReg may be wrongly rewritten
I wonder if we can do this in a separate analysis MachineFunction SSA pass.
1) SelectionDAG will generate a pseudo instruction MutatingFMA. When it's
generated it's allowed to have d = a * b + c form, where d doesn't have to
be in {a, b, c}.
2) Later, the proposed pass uses an algorithm to decide for instruction MI:
`%vreg0 = MutatingFMA %vreg1, %vreg2, %vreg3`, it should tie %vreg0