diff options
author | Nate Begeman <natebegeman@mac.com> | 2005-12-14 00:34:09 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2005-12-14 00:34:09 +0000 |
commit | 3fb6877cb4d49883726850e0bc6ca6550000abdf (patch) | |
tree | 9f2ecda5d07cf02c0615e00b60ebaf31294a9b9c /lib/Target/PowerPC/PPCInstrFormats.td | |
parent | 993aeb2ed93f99faf1438f1b67cd922989306828 (diff) | |
download | llvm-3fb6877cb4d49883726850e0bc6ca6550000abdf.tar.gz llvm-3fb6877cb4d49883726850e0bc6ca6550000abdf.tar.bz2 llvm-3fb6877cb4d49883726850e0bc6ca6550000abdf.tar.xz |
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
Diffstat (limited to 'lib/Target/PowerPC/PPCInstrFormats.td')
-rw-r--r-- | lib/Target/PowerPC/PPCInstrFormats.td | 8 |
1 files changed, 8 insertions, 0 deletions
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<bits<11> xo, dag OL, string asmstr, let Inst{21-31} = xo; } +class VXForm_setzero<bits<11> xo, dag OL, string asmstr, + InstrItinClass itin, list<dag> pattern> + : VXForm_1<xo, OL, asmstr, itin, pattern> { + let VA = VD; + let VB = VD; +} + + class VXForm_2<bits<11> xo, dag OL, string asmstr, InstrItinClass itin, list<dag> pattern> : I<4, OL, asmstr, itin> { |