Skip to content

Commit 7e531fd

Browse files
committed
[InstCombine] Add pre-commit tests. NFC.
1 parent dfc60b2 commit 7e531fd

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

llvm/test/Transforms/InstCombine/and-fcmp.ll

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4990,6 +4990,32 @@ define i1 @clang_builtin_isnormal_inf_check_copysign(half %x, half %y) {
49904990
ret i1 %and
49914991
}
49924992

4993+
define i1 @clang_builtin_isnormal_inf_check_copysign_logical_select(half %x, half %y) {
4994+
; CHECK-LABEL: @clang_builtin_isnormal_inf_check_copysign_logical_select(
4995+
; CHECK-NEXT: [[COPYSIGN_X:%.*]] = call half @llvm.copysign.f16(half [[X:%.*]], half [[Y:%.*]])
4996+
; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[COPYSIGN_X]], 0xH7C00
4997+
; CHECK-NEXT: ret i1 [[AND]]
4998+
;
4999+
%copysign.x = call half @llvm.copysign.f16(half %x, half %y)
5000+
%ord = fcmp ord half %x, 0.0
5001+
%cmp = fcmp uge half %copysign.x, 0xH7C00
5002+
%and = select i1 %ord, i1 %cmp, i1 false
5003+
ret i1 %and
5004+
}
5005+
5006+
define i1 @clang_builtin_isnormal_inf_check_fabs_nnan_logical_select(half %x) {
5007+
; CHECK-LABEL: @clang_builtin_isnormal_inf_check_fabs_nnan_logical_select(
5008+
; CHECK-NEXT: [[COPYSIGN_X:%.*]] = call nnan half @llvm.fabs.f16(half [[X:%.*]])
5009+
; CHECK-NEXT: [[AND:%.*]] = fcmp oeq half [[COPYSIGN_X]], 0xH7C00
5010+
; CHECK-NEXT: ret i1 [[AND]]
5011+
;
5012+
%copysign.x = call nnan half @llvm.fabs.f16(half %x)
5013+
%ord = fcmp ord half %x, 0.0
5014+
%cmp = fcmp uge half %copysign.x, 0xH7C00
5015+
%and = select i1 %ord, i1 %cmp, i1 false
5016+
ret i1 %and
5017+
}
5018+
49935019
define i1 @isnormal_logical_select_0(half %x) {
49945020
; CHECK-LABEL: @isnormal_logical_select_0(
49955021
; CHECK-NEXT: [[FABS_X:%.*]] = call half @llvm.fabs.f16(half [[X:%.*]])

0 commit comments

Comments
 (0)