summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>2013-07-08 14:22:45 +0000
committerBill Schmidt <wschmidt@linux.vnet.ibm.com>2013-07-08 14:22:45 +0000
commit12ae7fd2da24e53c795c0cc17d06c91a0f09fb3d (patch)
treee5226b9c7a4554c7ac95be5211d83aff75b63642 /tools
parent9f23fe0ea51d781c1af2eb069a5f03c262243374 (diff)
downloadllvm-12ae7fd2da24e53c795c0cc17d06c91a0f09fb3d.tar.gz
llvm-12ae7fd2da24e53c795c0cc17d06c91a0f09fb3d.tar.bz2
llvm-12ae7fd2da24e53c795c0cc17d06c91a0f09fb3d.tar.xz
[PowerPC] Fix PR16556 (handle undef ppcf128 in LowerFP_TO_INT).
PPCTargetLowering::LowerFP_TO_INT() expects its source operand to be either an f32 or f64, but this is not checked. A long double (ppcf128) operand will normally be custom-lowered to a conversion to f64 in this context. However, this isn't the case for an UNDEF node. This patch recognizes a ppcf128 as a legal source operand for FP_TO_INT only if it's an undef, in which case it creates an undef of the target type. At some point we might want to do a wholesale custom lowering of ISD::UNDEF when the type is ppcf128, but it's not really clear that's a great idea, and probably more work than it's worth for a situation that only arises in the case of a programming error. At this point I think simple is best. The test case comes from PR16556, and is a crash-test only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185821 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions