Home | History | Annotate | Download | only in AsmParser
      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