[PowerPC] Optimize @ha/@l constructs
[oota-llvm.git] / test / MC / PowerPC / ppc64-fixup-apply.s
1
2 # RUN: llvm-mc -triple powerpc64-unknown-unknown -filetype=obj %s | \
3 # RUN: llvm-readobj -s -sd | FileCheck %s
4
5 # This checks that fixups that can be resolved within the same
6 # object file are applied correctly.
7
8 .text
9
10 addi 1, 1, target
11 addis 1, 1, target
12
13 .set target, 0x1234
14
15 addi 1, 1, target2@l
16 addis 1, 1, target2@ha
17
18 .set target2, 0x12345678
19
20 addi 1, 1, target3-target4@l
21 addis 1, 1, target3-target4@ha
22
23 .set target3, 0x23455678
24 .set target4, 0x12341234
25
26 addi 1, 1, target5+0x8000@l
27 addis 1, 1, target5+0x8000@ha
28
29 .set target5, 0x10000001
30
31 .data
32
33 .quad v1
34 .word v2
35 .short v3
36 .byte v4
37
38 .set v1, 0x123456789abcdef0
39 .set v2, 0x87654321
40 .set v3, 0xbeef
41 .set v4, 0x42
42
43 # CHECK:       Section {
44 # CHECK:         Name: .text
45 # CHECK-NEXT:    Type: SHT_PROGBITS
46 # CHECK-NEXT:    Flags [
47 # CHECK-NEXT:      SHF_ALLOC
48 # CHECK-NEXT:      SHF_EXECINSTR
49 # CHECK-NEXT:    ]
50 # CHECK-NEXT:    Address: 0x0
51 # CHECK-NEXT:    Offset:
52 # CHECK-NEXT:    Size: 32
53 # CHECK-NEXT:    Link: 0
54 # CHECK-NEXT:    Info: 0
55 # CHECK-NEXT:    AddressAlignment: 4
56 # CHECK-NEXT:    EntrySize: 0
57 # CHECK-NEXT:    SectionData (
58 # CHECK-NEXT:      0000: 38211234 3C211234 38215678 3C211234
59 # CHECK-NEXT:      0010: 38214444 3C211111 38218001 3C211001
60 # CHECK-NEXT:    )
61 # CHECK-NEXT:  }
62
63 # CHECK:        Section {
64 # CHECK:          Name: .data
65 # CHECK-NEXT:     Type: SHT_PROGBITS
66 # CHECK-NEXT:     Flags [
67 # CHECK-NEXT:       SHF_ALLOC
68 # CHECK-NEXT:       SHF_WRITE
69 # CHECK-NEXT:     ]
70 # CHECK-NEXT:     Address: 0x0
71 # CHECK-NEXT:     Offset:
72 # CHECK-NEXT:     Size: 15
73 # CHECK-NEXT:     Link: 0
74 # CHECK-NEXT:     Info: 0
75 # CHECK-NEXT:     AddressAlignment: 4
76 # CHECK-NEXT:     EntrySize: 0
77 # CHECK-NEXT:     SectionData (
78 # CHECK-NEXT:       0000: 12345678 9ABCDEF0 87654321 BEEF42
79 # CHECK-NEXT:     )
80 # CHECK-NEXT:   }
81