[AArch64][GlobalISel]: Fix a crash in GlobalIsel in dealing with 16bit uadd.with...
authorXiaoqing Wu <xiaoqing_wu@apple.com>
Tue, 17 Dec 2019 23:41:06 +0000 (15:41 -0800)
committerMark Lacey <mark.lacey@apple.com>
Wed, 18 Dec 2019 00:05:00 +0000 (16:05 -0800)
commita17619e0b0977f922f63522790c82a9644b7a069
tree30c92e39cf8e787146a8b354b930013357a75e15
parentc36773c78eb52ae0c549dc286a441af0d1b8b712
[AArch64][GlobalISel]: Fix a crash in GlobalIsel in dealing with 16bit uadd.with.overflow.

Summary: AArch64 doesn't support uadd.with.overflow.i16 natively. This change adds a legalization rule to convert the 32bit add result to 16bit. This should fix PR43981.

Reviewers: arsenm, qcolombet, paquette, aemerson

Reviewed By: paquette

Subscribers: wdng, rovka, kristof.beyls, hiraditya, Petar.Avramovic, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D71587
llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
llvm/test/CodeGen/AArch64/legalize-uaddo.mir [new file with mode: 0644]