| 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: |
| <entry-point> |
| ret.32 $0 |
| |
| |
| and_1: |
| .L2: |
| <entry-point> |
| setne.32 %r9 <- %arg1, $0 |
| ret.32 %r9 |
| |
| |
| or_0: |
| .L4: |
| <entry-point> |
| setne.32 %r14 <- %arg1, $0 |
| ret.32 %r14 |
| |
| |
| or_1: |
| .L6: |
| <entry-point> |
| ret.32 $1 |
| |
| |
| and_2: |
| .L8: |
| <entry-point> |
| setne.32 %r25 <- %arg1, $0 |
| ret.32 %r25 |
| |
| |
| or_2: |
| .L10: |
| <entry-point> |
| ret.32 $1 |
| |
| |
| * check-output-end |
| */ |