]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC r242380:
authordim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 6 Nov 2012 07:46:07 +0000 (07:46 +0000)
committerdim <dim@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Tue, 6 Nov 2012 07:46:07 +0000 (07:46 +0000)
commit2945de91f60fe1329e19a28f085165ba698c7d4b
treeab5f916d615d6cabffd749be490c0085cbd44f45
parentf21f148bcc41bbc18b5c2b926b4e58a2b97a517c
MFC r242380:

Pull in r165377 from upstream llvm trunk:

  X86: fcmov doesn't handle all possible EFLAGS, fall back to a branch
  for the others.

  Otherwise it will try to use SSE patterns and fail horribly if sse is
  disabled.

  Fixes PR14035.

This should fix the following assertion failure:

  Assertion failed: (Reg >= X86::FP0 && Reg <= X86::FP6 && "Expected FP
  register!"), function getFPReg, file
  contrib/llvm/lib/Target/X86/X86FloatingPoint.cpp, line 330.

which can show up when compiling contrib/compiler-rt, using -march=i686
through -march=pentium3 (CPU's which do support fcmov, but don't support
SSE2).

git-svn-id: svn://svn.freebsd.org/base/stable/9@242657 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
contrib/llvm/lib/Target/X86/X86InstrCompiler.td