1 // RUN: llvm-mc -triple i386-unknown-unknown %s > %t 2 3 .macro check_expr 4 .if ($0) != ($1) 5 .abort Unexpected $0 != $1. 6 .endif 7 .endmacro 8 9 .text 10 g: 11 h: 12 j: 13 k: 14 .data 15 check_expr !1 + 2, 2 16 check_expr !0, 1 17 check_expr ~0, -1 18 check_expr -1, ~0 19 check_expr +1, 1 20 check_expr 1 + 2, 3 21 check_expr 1 & 3, 1 22 check_expr 4 / 2, 2 23 check_expr 4 / -2, -2 24 check_expr 1 == 1, 1 25 check_expr 1 == 0, 0 26 check_expr 1 > 0, 1 27 check_expr 1 >= 1, 1 28 check_expr 1 < 2, 1 29 check_expr 1 <= 1, 1 30 check_expr 4 % 3, 1 31 check_expr 2 * 2, 4 32 check_expr 2 != 2, 0 33 check_expr 2 <> 2, 0 34 check_expr 1 | 2, 3 35 check_expr 1 << 1, 2 36 check_expr 2 >> 1, 1 37 check_expr (~0 >> 1), -1 38 check_expr 3 - 2, 1 39 check_expr 1 ^ 3, 2 40 check_expr 1 && 2, 1 41 check_expr 3 && 0, 0 42 check_expr 0 && 1, 0 43 check_expr 1 || 2, 1 44 check_expr 0 || 1, 1 45 check_expr 0 || 0, 0 46 check_expr 1 + 2 < 3 + 4, 1 47 check_expr 1 << 8 - 1, 128 48 49 .set c, 10 50 check_expr c + 1, 11 51 52 d = e + 10 53 .long d 54 55 f = g - h + 5 56 .long f 57 58 i = (j + 10) - (k + 2) 59 .long i 60 61 l = m - n + 4 62 63 .text 64 m: 65 n: 66 nop 67 68 69 movw $8, (42)+66(%eax) 70 71 // "." support: 72 _f0: 73 L0: 74 jmp L1 75 .long . - L0 76 L1: 77 jmp A 78 .long . - L1 79