Home | History | Annotate | Download | only in AsmParser
      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
     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 >> 62), 3
     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         check_expr 3 * 9 - 2 * 9 + 1, 10
     49 
     50         .set c, 10
     51         check_expr c + 1, 11
     52 
     53         d = e + 10
     54         .long d
     55 
     56         f = g - h + 5
     57         .long f
     58 
     59         i = (j + 10) - (k + 2)
     60         .long i
     61 
     62         l = m - n + 4
     63 
     64         .text
     65 m:
     66 n:
     67         nop
     68 
     69 
     70         movw	$8, (42)+66(%eax)
     71 
     72 // "." support:
     73 _f0:
     74 L0:
     75         jmp L1
     76         .long . - L0
     77 L1:
     78         jmp A
     79         .long . - L1
     80