1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00

[InstCombine] Add tests for abs intrinsic eq zero (NFC)

This commit is contained in:
Nikita Popov 2020-09-05 15:05:59 +02:00
parent fa01287458
commit 0df23d0dc6

View File

@ -3,6 +3,8 @@
target datalayout = "e-p:64:64:64-p1:16:16:16-p2:32:32:32-p3:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
declare i8 @llvm.abs.i8(i8, i1)
define i32 @test1(i32 %X) {
; CHECK-LABEL: @test1(
; CHECK-NEXT: [[X_LOBIT:%.*]] = lshr i32 [[X:%.*]], 31
@ -1090,6 +1092,28 @@ define zeroext i1 @cmpabs2(i64 %val) {
ret i1 %tobool
}
define i1 @abs_intrin_eq_zero(i8 %x) {
; CHECK-LABEL: @abs_intrin_eq_zero(
; CHECK-NEXT: [[ABS:%.*]] = call i8 @llvm.abs.i8(i8 [[X:%.*]], i1 false)
; CHECK-NEXT: [[CMP:%.*]] = icmp eq i8 [[ABS]], 0
; CHECK-NEXT: ret i1 [[CMP]]
;
%abs = call i8 @llvm.abs.i8(i8 %x, i1 false)
%cmp = icmp eq i8 %abs, 0
ret i1 %cmp
}
define i1 @abs_intrin_ne_zero(i8 %x) {
; CHECK-LABEL: @abs_intrin_ne_zero(
; CHECK-NEXT: [[ABS:%.*]] = call i8 @llvm.abs.i8(i8 [[X:%.*]], i1 false)
; CHECK-NEXT: [[CMP:%.*]] = icmp ne i8 [[ABS]], 0
; CHECK-NEXT: ret i1 [[CMP]]
;
%abs = call i8 @llvm.abs.i8(i8 %x, i1 false)
%cmp = icmp ne i8 %abs, 0
ret i1 %cmp
}
define void @test58() {
; CHECK-LABEL: @test58(
; CHECK-NEXT: [[CALL:%.*]] = call i32 @test58_d(i64 36029346783166592)