diff --git a/test/Transforms/InstCombine/and.ll b/test/Transforms/InstCombine/and.ll index e0c4d180e18..8e33a7dda5a 100644 --- a/test/Transforms/InstCombine/and.ll +++ b/test/Transforms/InstCombine/and.ll @@ -62,6 +62,6 @@ bool %test9(uint %A) { uint %test10(uint %A) { %B = and uint %A, 12 %C = xor uint %B, 15 - %D = and uint %C, 1 + %D = and uint %C, 1 ; (X ^ C1) & C2 --> (X & C2) ^ (C1&C2) ret uint %D } diff --git a/test/Transforms/InstCombine/or.ll b/test/Transforms/InstCombine/or.ll index 0ffc8e1870d..529e43ced98 100644 --- a/test/Transforms/InstCombine/or.ll +++ b/test/Transforms/InstCombine/or.ll @@ -129,3 +129,17 @@ bool %test20(int %A) { ret bool %G } +ubyte %test21(ubyte %A) { + %B = or ubyte %A, 1 + %C = and ubyte %B, 254 + %D = or ubyte %C, 254 ; (X & C1) | C2 --> (X | C2) & (C1|C2) + ret ubyte %D +} + +ubyte %test22(ubyte %A) { + %B = or ubyte %A, 254 + %C = xor ubyte %B, 13 + %D = or ubyte %C, 1 ; (X ^ C1) | C2 --> (X | C2) ^ (C1&~C2) + %E = xor ubyte %D, 12 + ret ubyte %E +}