Displaying 3 results from an estimated 3 matches for "x86fmsub".
2012 Nov 16
2
[LLVMdev] Operand order in dag pattern matching in td files
...!strconcat(OpcodeStr,
"\t{$src3, $src2, $dst|$dst, $src2, $src3}"),
[(set RC:$dst,
(OpVT (OpNode RC:$src2, RC:$src1, RC:$src3)))]>;
Given that it is an FMA pattern, the OpNode can be one of X86Fmadd,
X86Fmsub (among other opnodes). The respective operations are :
(a*b+c) and (a*b-c). My questions are:
1. Why does $src2 and not $src1 come first in (OpNode RC:$src2,
RC:$src1, RC:$src3) ? In other words what is the difference between
(a) and (b):
(a) [(set RC:$dst, (OpVT (OpNode RC:$src2, RC:$src1,...
2012 Nov 16
0
[LLVMdev] Operand order in dag pattern matching in td files
...tr,
> "\t{$src3, $src2, $dst|$dst, $src2, $src3}"),
> [(set RC:$dst,
> (OpVT (OpNode RC:$src2, RC:$src1, RC:$src3)))]>;
>
>
> Given that it is an FMA pattern, the OpNode can be one of X86Fmadd,
> X86Fmsub (among other opnodes). The respective operations are :
> (a*b+c) and (a*b-c). My questions are:
>
> 1. Why does $src2 and not $src1 come first in (OpNode RC:$src2,
> RC:$src1, RC:$src3) ? In other words what is the difference between
> (a) and (b):
> (a) [(set RC:$dst, (OpV...
2012 Nov 16
1
[LLVMdev] Operand order in dag pattern matching in td files
..."\t{$src3, $src2, $dst|$dst, $src2,
> $src3}"),
> > [(set RC:$dst,
> > (OpVT (OpNode RC:$src2, RC:$src1, RC:$src3)))]>;
> >
> >
> > Given that it is an FMA pattern, the OpNode can be one of X86Fmadd,
> > X86Fmsub (among other opnodes). The respective operations are :
> > (a*b+c) and (a*b-c). My questions are:
> >
> > 1. Why does $src2 and not $src1 come first in (OpNode RC:$src2,
> > RC:$src1, RC:$src3) ? In other words what is the difference between
> > (a) and (b):
> >...