mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-26 14:33:02 +02:00
8d48a252a1
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. llvm-svn: 250697
11 lines
325 B
LLVM
11 lines
325 B
LLVM
; RUN: not llc < %s -O1 -mtriple=armv6-none-none-eabi 2>&1 | FileCheck %s
|
|
|
|
; immediate argument > upper-bound
|
|
; CHECK: LLVM ERROR: Cannot select: intrinsic %llvm.arm.usat
|
|
define i32 @usat1() nounwind {
|
|
%tmp = call i32 @llvm.arm.usat(i32 128, i32 32)
|
|
ret i32 %tmp
|
|
}
|
|
|
|
declare i32 @llvm.arm.usat(i32, i32) nounwind readnone
|