1// RUN: llvm-mc -triple i386-apple-darwin %s 2 3.macro check_expr 4 .if ($0) != ($1) 5 .abort Unexpected $0 != $1. 6 .endif 7.endmacro 8 9 .text 10g: 11h: 12j: 13k: 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 1U + 2U, 3U 22 check_expr 1L + 2L, 3L 23 check_expr 1UL + 2UL, 3UL 24 check_expr 1LL + 2L, 3LL 25 check_expr 1ULL + 2ULL, 3ULL 26 check_expr 1u + 2u, 3u 27 check_expr 1l + 2l, 3l 28 check_expr 1ul + 2ul, 3ul 29 check_expr 1ll + 2L, 3ll 30 check_expr 1ull + 2ull, 3ull 31 check_expr 1 & 3, 1 32 check_expr 4 / 2, 2 33 check_expr 4 / -2, -2 34 check_expr 1 == 1, -1 35 check_expr 1 == 0, 0 36 check_expr 1 > 0, -1 37 check_expr 1 >= 1, -1 38 check_expr 1 < 2, -1 39 check_expr 1 <= 1, -1 40 check_expr 4 % 3, 1 41 check_expr 2 * 2, 4 42 check_expr 2 != 2, 0 43 check_expr 2 <> 2, 0 44 check_expr 1 | 2, 3 45 check_expr 1 << 1, 2 46 check_expr 2 >> 1, 1 47 check_expr (~0 >> 62), 3 48 check_expr 3 - 2, 1 49 check_expr 1 ^ 3, 2 50 check_expr 1 && 2, 1 51 check_expr 3 && 0, 0 52 check_expr 0 && 1, 0 53 check_expr 1 || 2, 1 54 check_expr 0 || 1, 1 55 check_expr 0 || 0, 0 56 check_expr 1 + 2 < 3 + 4, -1 57 check_expr 1 << 8 - 1, 128 58 check_expr 3 * 9 - 2 * 9 + 1, 10 59 60 .set c, 10 61 check_expr c + 1, 11 62 63 d = e + 10 64 .long d 65 66 f = g - h + 5 67 .long f 68 69 i = (j + 10) - (k + 2) 70 .long i 71 72 l = m - n + 4 73 74 .text 75m: 76n: 77 nop 78 79 80 movw $8, (42)+66(%eax) 81 82// "." support: 83_f0: 84L0: 85 jmp L1 86 .long . - L0 87L1: 88 jmp A 89 .long . - L1 90