int and_0(int a) { return a && 0; } int and_1(int a) { return a && 1; } int or_0(int a) { return a || 0; } int or_1(int a) { return a || 1; } // try again but with something true but != 1 int and_2(int a) { return a && 2; } int or_2(int a) { return a || 2; } /* * check-name: bool-simplify * check-command: test-linearize -Wno-decl $file * * check-output-start and_0: .L0: ret.32 $0 and_1: .L2: setne.32 %r9 <- %arg1, $0 ret.32 %r9 or_0: .L4: setne.32 %r14 <- %arg1, $0 ret.32 %r14 or_1: .L6: ret.32 $1 and_2: .L8: setne.32 %r25 <- %arg1, $0 ret.32 %r25 or_2: .L10: ret.32 $1 * check-output-end */