Fix a bad assert in PPCTargetLowering
authorHal Finkel <hfinkel@anl.gov>
Mon, 1 Apr 2013 18:42:58 +0000 (18:42 +0000)
committerHal Finkel <hfinkel@anl.gov>
Mon, 1 Apr 2013 18:42:58 +0000 (18:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178489 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCISelLowering.cpp
test/CodeGen/PowerPC/float-to-int.ll

index 9c686cb9467824348faee8be9b5f4d235cbc2a63..2cceb3d312cb5e79c77a247e99aaea4ebc195e48 100644 (file)
@@ -4736,8 +4736,8 @@ SDValue PPCTargetLowering::LowerFP_TO_INT(SDValue Op, SelectionDAG &DAG,
                       dl, MVT::f64, Src);
     break;
   case MVT::i64:
-    assert((Op.getOpcode() == ISD::SINT_TO_FP || PPCSubTarget.hasFPCVT()) &&
-           "i64 UINT_TO_FP is supported only with FPCVT");
+    assert((Op.getOpcode() == ISD::FP_TO_SINT || PPCSubTarget.hasFPCVT()) &&
+           "i64 FP_TO_UINT is supported only with FPCVT");
     Tmp = DAG.getNode(Op.getOpcode()==ISD::FP_TO_SINT ? PPCISD::FCTIDZ :
                                                         PPCISD::FCTIDUZ,
                       dl, MVT::f64, Src);
index ebd0903358d81c36a7ca3e58b15d8cd0fcae000f..39cd4f929f8dfa4d33c6623429775c6d45fe2a6f 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -mcpu=a2 | FileCheck %s
+; RUN: llc < %s -mtriple=powerpc64-unknown-linux-gnu -mcpu=g5
 target datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128-v128:128:128-n32:64"
 target triple = "powerpc64-unknown-linux-gnu"