OSDN Git Service

Merging r338665:
authorHans Wennborg <hans@hanshq.net>
Tue, 7 Aug 2018 06:23:16 +0000 (06:23 +0000)
committerHans Wennborg <hans@hanshq.net>
Tue, 7 Aug 2018 06:23:16 +0000 (06:23 +0000)
commit7fe11a1a51f927acfff511337fe5071c2adf7929
tree9b2eef7a10c3ba94988e429f469ab1147f99f9b8
parent1a7200c98d569939f0121a734c8eee7bc10558c3
Merging r338665:
------------------------------------------------------------------------
r338665 | lliu0 | 2018-08-02 03:54:12 +0200 (Thu, 02 Aug 2018) | 11 lines

Fix FCOPYSIGN expansion

In expansion of FCOPYSIGN, the shift node is missing when the two
operands of FCOPYSIGN are of the same size. We should always generate
shift node (if the required shift bit is not zero) to put the sign
bit into the right position, regardless of the size of underlying
types.

Differential Revision: https://reviews.llvm.org/D49973

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_70@339098 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
test/CodeGen/AArch64/fcopysign.ll