Fix mapping of @llvm.arm.ssat/usat intrinsics to ssat/usat instructions
authorAsiri Rathnayake <asiri.rathnayake@arm.com>
Mon, 19 Oct 2015 11:44:24 +0000 (11:44 +0000)
committerAsiri Rathnayake <asiri.rathnayake@arm.com>
Mon, 19 Oct 2015 11:44:24 +0000 (11:44 +0000)
commit52578b085037248e3875089f9dcb2f95a5d9fb5d
tree8a5a52f75aa23621a39e2e0ee7be4905b90e6607
parentf9cd1bee2f370b05a7b2e6b8f66ad75590ee6383
Fix mapping of @llvm.arm.ssat/usat intrinsics to ssat/usat instructions

The mapping of these two intrinsics in ARMInstrInfo.td had a small
omission which lead to their operands not being validated/transformed
before being lowered into usat and ssat instructions. This can cause
incorrect instructions to be emitted.

I've also added tests for the remaining two saturating arithmatic
intrinsics @llvm.arm.qadd and @llvm.arm.qsub as they are missing
codegen tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250697 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMInstrInfo.td
test/CodeGen/ARM/sat-arith.ll [new file with mode: 0644]
test/CodeGen/ARM/ssat-lower.ll [new file with mode: 0644]
test/CodeGen/ARM/ssat-upper.ll [new file with mode: 0644]
test/CodeGen/ARM/usat-lower.ll [new file with mode: 0644]
test/CodeGen/ARM/usat-upper.ll [new file with mode: 0644]