Model :upper16: and :lower16: as ARM specific MCTargetExpr. This is a step
[oota-llvm.git] / test / MC / ARM / hilo-16bit-relocations.s
1 @ RUN: llvm-mc %s -triple armv7-apple-darwin -show-encoding | FileCheck %s
2         
3 _t:
4         movw    r0, :lower16:(L_foo$non_lazy_ptr - (L1 + 8))
5         movt    r0, :upper16:(L_foo$non_lazy_ptr - (L1 + 8))
6 L1:
7
8 @ CHECK: movw   r0, :lower16:(L_foo$non_lazy_ptr-(L1+8)) @ encoding: [A,A,0x00,0xe3]
9 @ CHECK:  @   fixup A - offset: 0, value: L_foo$non_lazy_ptr-(L1+8), kind: fixup_arm_movw_lo16_pcrel
10 @ CHECK: movt   r0, :upper16:(L_foo$non_lazy_ptr-(L1+8)) @ encoding: [A,A,0x40,0xe3]
11 @ CHECK:  @   fixup A - offset: 0, value: L_foo$non_lazy_ptr-(L1+8), kind: fixup_arm_movt_hi16_pcrel
12         
13         .comm   _foo,4,2
14
15         .section        __DATA,__nl_symbol_ptr,non_lazy_symbol_pointers
16         .align  2
17 L_foo$non_lazy_ptr:
18         .indirect_symbol        _foo
19         .long   0
20         
21 .subsections_via_symbols