Changes in directory llvm/lib/Target/PowerPC:
PPCInstrAltivec.td updated: 1.51 -> 1.52 --- Log message: Make sure that the new instructions selected have the right type. This fixes CodeGen/PowerPC/2006-04-19-vmaddfp-crash.ll --- Diffs of the changes: (+5 -5) PPCInstrAltivec.td | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) Index: llvm/lib/Target/PowerPC/PPCInstrAltivec.td diff -u llvm/lib/Target/PowerPC/PPCInstrAltivec.td:1.51 llvm/lib/Target/PowerPC/PPCInstrAltivec.td:1.52 --- llvm/lib/Target/PowerPC/PPCInstrAltivec.td:1.51 Sat Apr 15 20:37:57 2006 +++ llvm/lib/Target/PowerPC/PPCInstrAltivec.td Thu Apr 20 00:58:10 2006 @@ -603,20 +603,20 @@ (v4i32 (VANDC VRRC:$A, VRRC:$B))>; def : Pat<(fmul VRRC:$vA, VRRC:$vB), - (VMADDFP VRRC:$vA, VRRC:$vB, (v4i32 (V_SET0)))>; + (v4f32 (VMADDFP VRRC:$vA, VRRC:$vB, (v4f32 (V_SET0))))>; // Fused multiply add and multiply sub for packed float. These are represented // separately from the real instructions above, for operations that must have // the additional precision, such as Newton-Rhapson (used by divide, sqrt) def : Pat<(PPCvmaddfp VRRC:$A, VRRC:$B, VRRC:$C), - (VMADDFP VRRC:$A, VRRC:$B, VRRC:$C)>; + (v4f32 (VMADDFP VRRC:$A, VRRC:$B, VRRC:$C))>; def : Pat<(PPCvnmsubfp VRRC:$A, VRRC:$B, VRRC:$C), - (VNMSUBFP VRRC:$A, VRRC:$B, VRRC:$C)>; + (v4f32 (VNMSUBFP VRRC:$A, VRRC:$B, VRRC:$C))>; def : Pat<(int_ppc_altivec_vmaddfp VRRC:$A, VRRC:$B, VRRC:$C), - (VMADDFP VRRC:$A, VRRC:$B, VRRC:$C)>; + (v4f32 (VMADDFP VRRC:$A, VRRC:$B, VRRC:$C))>; def : Pat<(int_ppc_altivec_vnmsubfp VRRC:$A, VRRC:$B, VRRC:$C), - (VNMSUBFP VRRC:$A, VRRC:$B, VRRC:$C)>; + (v4f32 (VNMSUBFP VRRC:$A, VRRC:$B, VRRC:$C))>; def : Pat<(PPCvperm (v16i8 VRRC:$vA), VRRC:$vB, VRRC:$vC), (v16i8 (VPERM VRRC:$vA, VRRC:$vB, VRRC:$vC))>; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits