]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r267981:
authordim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 30 Jun 2014 20:26:30 +0000 (20:26 +0000)
committerdim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 30 Jun 2014 20:26:30 +0000 (20:26 +0000)
commit753fbeb4dc68d5b247a9b20da12e8592d070c172
tree2fde7cd09939ff6a92515a8642d0d2a8eaaec260
parentdba047c175e48a7c73e06cc62937ed1312add460
MFC r267981:

Pull in r211627 from upstream llvm trunk (by Bill Schmidt):

  [PPC64] Fix PR20071 (fctiduz generated for targets lacking that
  instruction)

  PR20071 identifies a problem in PowerPC's fast-isel implementation
  for floating-point conversion to integer.  The fctiduz instruction
  was added in Power ISA 2.06 (i.e., Power7 and later).  However, this
  instruction is being generated regardless of which 64-bit PowerPC
  target is selected.

  The intent is for fast-isel to punt to DAG selection when this
  instruction is not available.  This patch implements that change.
  For testing purposes, the existing fast-isel-conversion.ll test adds
  a RUN line for -mcpu=970 and tests for the expected code generation.
  Additionally, the existing test fast-isel-conversion-p5.ll was found
  to be incorrectly expecting the unavailable instruction to be
  generated.  I've removed these test variants since we have adequate
  coverage in fast-isel-conversion.ll.

This is needed to compile clang with debug+asserts on older powerpc64
and ppc970 targets.

Requested by: jhibbits

MFC r267982:

Add the llvm patch for r267981.

MFC r268003:

Fix breakage after r267981.

Pointy hat to: dim

git-svn-id: svn://svn.freebsd.org/base/stable/10@268065 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
contrib/llvm/lib/Target/PowerPC/PPCFastISel.cpp
contrib/llvm/patches/patch-r267981-llvm-r211435-fix-ppc-fctiduz.diff [new file with mode: 0644]