OSDN Git Service

[AArch64] Fix v2i8->i16 bitcast legalization.
authorAhmed Bougacha <ahmed.bougacha@gmail.com>
Mon, 1 Dec 2014 20:52:32 +0000 (20:52 +0000)
committerAhmed Bougacha <ahmed.bougacha@gmail.com>
Mon, 1 Dec 2014 20:52:32 +0000 (20:52 +0000)
commit217a4a87ce1ffef091248665735980839a306dbb
treebe0579bbdc1a965981440a7b7a9ad2194e299bb0
parent787a41926a0bc0aa04091c9e908becf2fbac9289
[AArch64] Fix v2i8->i16 bitcast legalization.

r213378 improved f16 bitcasts, so that they go directly through subregs,
instead of through the stack.  That code now causes an assertion failure
for bitcasts from other 16-bits types (most importantly v2i8).

Correct that by doing the custom lowering for i16 bitcasts only when the
input is an f16.

Part of PR21549.

Differential Revision: http://reviews.llvm.org/D6307

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223074 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64ISelLowering.cpp
test/CodeGen/AArch64/bitcast-v2i8.ll [new file with mode: 0644]