Deleted Added
full compact
PPCInstrAltivec.td (193323) PPCInstrAltivec.td (193630)
1//===- PPCInstrAltivec.td - The PowerPC Altivec Extension --*- tablegen -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 652 unchanged lines hidden (view full) ---

661
662def : Pat<(int_ppc_altivec_vmaddfp VRRC:$A, VRRC:$B, VRRC:$C),
663 (VMADDFP VRRC:$A, VRRC:$B, VRRC:$C)>;
664def : Pat<(int_ppc_altivec_vnmsubfp VRRC:$A, VRRC:$B, VRRC:$C),
665 (VNMSUBFP VRRC:$A, VRRC:$B, VRRC:$C)>;
666
667def : Pat<(PPCvperm (v16i8 VRRC:$vA), VRRC:$vB, VRRC:$vC),
668 (VPERM VRRC:$vA, VRRC:$vB, VRRC:$vC)>;
1//===- PPCInstrAltivec.td - The PowerPC Altivec Extension --*- tablegen -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 652 unchanged lines hidden (view full) ---

661
662def : Pat<(int_ppc_altivec_vmaddfp VRRC:$A, VRRC:$B, VRRC:$C),
663 (VMADDFP VRRC:$A, VRRC:$B, VRRC:$C)>;
664def : Pat<(int_ppc_altivec_vnmsubfp VRRC:$A, VRRC:$B, VRRC:$C),
665 (VNMSUBFP VRRC:$A, VRRC:$B, VRRC:$C)>;
666
667def : Pat<(PPCvperm (v16i8 VRRC:$vA), VRRC:$vB, VRRC:$vC),
668 (VPERM VRRC:$vA, VRRC:$vB, VRRC:$vC)>;
669
670// Vector shifts
671def : Pat<(v16i8 (shl (v16i8 VRRC:$vA), (v16i8 VRRC:$vB))),
672 (v16i8 (VSLB VRRC:$vA, VRRC:$vB))>;
673def : Pat<(v8i16 (shl (v8i16 VRRC:$vA), (v8i16 VRRC:$vB))),
674 (v8i16 (VSLH VRRC:$vA, VRRC:$vB))>;
675def : Pat<(v4i32 (shl (v4i32 VRRC:$vA), (v4i32 VRRC:$vB))),
676 (v4i32 (VSLW VRRC:$vA, VRRC:$vB))>;
677
678def : Pat<(v16i8 (srl (v16i8 VRRC:$vA), (v16i8 VRRC:$vB))),
679 (v16i8 (VSRB VRRC:$vA, VRRC:$vB))>;
680def : Pat<(v8i16 (srl (v8i16 VRRC:$vA), (v8i16 VRRC:$vB))),
681 (v8i16 (VSRH VRRC:$vA, VRRC:$vB))>;
682def : Pat<(v4i32 (srl (v4i32 VRRC:$vA), (v4i32 VRRC:$vB))),
683 (v4i32 (VSRW VRRC:$vA, VRRC:$vB))>;
684
685def : Pat<(v16i8 (sra (v16i8 VRRC:$vA), (v16i8 VRRC:$vB))),
686 (v16i8 (VSRAB VRRC:$vA, VRRC:$vB))>;
687def : Pat<(v8i16 (sra (v8i16 VRRC:$vA), (v8i16 VRRC:$vB))),
688 (v8i16 (VSRAH VRRC:$vA, VRRC:$vB))>;
689def : Pat<(v4i32 (sra (v4i32 VRRC:$vA), (v4i32 VRRC:$vB))),
690 (v4i32 (VSRAW VRRC:$vA, VRRC:$vB))>;