X86: Reject register operands with obvious type mismatches.
authorMatthias Braun <matze@braunis.de>
Mon, 8 Jun 2015 16:56:23 +0000 (16:56 +0000)
committerMatthias Braun <matze@braunis.de>
Mon, 8 Jun 2015 16:56:23 +0000 (16:56 +0000)
commitb0d6c659b78ac0097adfbf1e5327c14e0feea535
treeaad7b9ee15237cd73acb92c5017c87811299d505
parent7c40b1a7bc87e44b235779353b17db20dc4686f2
X86: Reject register operands with obvious type mismatches.

While we have some code to transform specification like {ax} into
{eax}/{rax} if the operand type isn't 16bit, we should reject cases
where there is no sane way to do this, like the i128 type in the
example.

Related to rdar://21042280

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239309 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/asm-reject-reg-type-mismatch.ll [new file with mode: 0644]