aboutsummaryrefslogtreecommitdiff
path: root/docs/CommandGuide/html
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2005-12-14 22:54:33 +0000
committerNate Begeman <natebegeman@mac.com>2005-12-14 22:54:33 +0000
commita07da92624219599e6569460b3b56b49d60a4b46 (patch)
tree4ad9257a849539d4a3b7138b4b7efc2f7d1e849e /docs/CommandGuide/html
parent1dae25e23ac4edd64a124b3d831282ceaf3610ea (diff)
Use the new predicate support that Evan Cheng added to remove some code
from the DAGToDAG cpp file. This adds pattern support for vector and scalar fma, which passes test/Regression/CodeGen/PowerPC/fma.ll, and does the right thing in the presence of -disable-excess-fp-precision. Allows us to match: void %foo(<4 x float> * %a) { entry: %tmp1 = load <4 x float> * %a; %tmp2 = mul <4 x float> %tmp1, %tmp1 %tmp3 = add <4 x float> %tmp2, %tmp1 store <4 x float> %tmp3, <4 x float> *%a ret void } As: _foo: li r2, 0 lvx v0, r2, r3 vmaddfp v0, v0, v0, v0 stvx v0, r2, r3 blr Or, with llc -disable-excess-fp-precision, _foo: li r2, 0 lvx v0, r2, r3 vxor v1, v1, v1 vmaddfp v1, v0, v0, v1 vaddfp v0, v1, v0 stvx v0, r2, r3 blr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24719 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/CommandGuide/html')
0 files changed, 0 insertions, 0 deletions