For fold
(X & (signbit l>> Y)) ==/!= 0 -> (X << Y) >=/< 0
(X & (signbit << Y)) ==/!= 0 -> (X l>> Y) >=/< 0
Test cases of X being constant are positive tests not negative.
Prep work for D62818.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364497
91177308-0d34-0410-b5e6-
96231b3b80d8
ret i1 %r
}
-; Negative tests
-
; X is constant
define i1 @scalar_i32_signbit_lshr_and_eq_X_is_constant1(i32 %y) {
ret i1 %r
}
+; Negative tests
+
; Check 'slt' predicate
define i1 @scalar_i32_signbit_lshr_and_slt(i32 %x, i32 %y) {
ret i1 %r
}
-; Negative tests
-
; X is constant
define i1 @scalar_i32_signbit_shl_and_eq_X_is_constant1(i32 %y) {
ret i1 %r
}
+; Negative tests
+
; Check 'slt' predicate
define i1 @scalar_i32_signbit_shl_and_slt(i32 %x, i32 %y) {