From 3fb6877cb4d49883726850e0bc6ca6550000abdf Mon Sep 17 00:00:00 2001 From: Nate Begeman Date: Wed, 14 Dec 2005 00:34:09 +0000 Subject: Add support for fmul node of type v4f32. void %foo(<4 x float> * %a) { entry: %tmp1 = load <4 x float> * %a; %tmp2 = mul <4 x float> %tmp1, %tmp1 store <4 x float> %tmp2, <4 x float> *%a ret void } Is selected to: _foo: li r2, 0 lvx v0, r2, r3 vxor v1, v1, v1 vmaddfp v0, v0, v0, v1 stvx v0, r2, r3 blr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24701 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/PPCInstrFormats.td | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib/Target/PowerPC/PPCInstrFormats.td') diff --git a/lib/Target/PowerPC/PPCInstrFormats.td b/lib/Target/PowerPC/PPCInstrFormats.td index 96c969b4d0..8b28e5f814 100644 --- a/lib/Target/PowerPC/PPCInstrFormats.td +++ b/lib/Target/PowerPC/PPCInstrFormats.td @@ -602,6 +602,14 @@ class VXForm_1 xo, dag OL, string asmstr, let Inst{21-31} = xo; } +class VXForm_setzero xo, dag OL, string asmstr, + InstrItinClass itin, list pattern> + : VXForm_1 { + let VA = VD; + let VB = VD; +} + + class VXForm_2 xo, dag OL, string asmstr, InstrItinClass itin, list pattern> : I<4, OL, asmstr, itin> { -- cgit v1.2.3