// RUN: llvm-mc -triple i386-unknown-unknown %s > %t .macro check_expr .if ($0) != ($1) .abort Unexpected $0 != $1. .endif .endmacro .text g: h: j: k: .data check_expr !1 + 2, 2 check_expr !0, 1 check_expr ~0, -1 check_expr -1, ~0 check_expr +1, 1 check_expr 1 + 2, 3 check_expr 1 & 3, 1 check_expr 4 / 2, 2 check_expr 4 / -2, -2 check_expr 1 == 1, 1 check_expr 1 == 0, 0 check_expr 1 > 0, 1 check_expr 1 >= 1, 1 check_expr 1 < 2, 1 check_expr 1 <= 1, 1 check_expr 4 % 3, 1 check_expr 2 * 2, 4 check_expr 2 != 2, 0 check_expr 2 <> 2, 0 check_expr 1 | 2, 3 check_expr 1 << 1, 2 check_expr 2 >> 1, 1 check_expr (~0 >> 1), -1 check_expr [~0 >> 1], -1 check_expr 4 * [4 + (3 + [2 * 2] + 1)], 48 check_expr 3 - 2, 1 check_expr 1 ^ 3, 2 check_expr 1 && 2, 1 check_expr 3 && 0, 0 check_expr 0 && 1, 0 check_expr 1 || 2, 1 check_expr 0 || 1, 1 check_expr 0 || 0, 0 check_expr 1 + 2 < 3 + 4, 1 .set c, 10 check_expr c + 1, 11 d = e + 10 .long d f = g - h + 5 .long f i = (j + 10) - (k + 2) .long i l = m - n + 4 .text m: n: nop movw $8, (42)+66(%eax) // "." support: _f0: L0: jmp L1 .long . - L0 L1: jmp A .long . - L1