1*9880d681SAndroid Build Coastguard Worker 2*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-BE %s 3*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64le-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-LE %s 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64-unknown-unknown -filetype=obj %s | \ 6*9880d681SAndroid Build Coastguard Worker# RUN: llvm-readobj -r | FileCheck %s -check-prefix=CHECK-BE-REL 7*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj %s | \ 8*9880d681SAndroid Build Coastguard Worker# RUN: llvm-readobj -r | FileCheck %s -check-prefix=CHECK-LE-REL 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker# CHECK-BE: b target # encoding: [0b010010AA,A,A,0bAAAAAA00] 11*9880d681SAndroid Build Coastguard Worker# CHECK-LE: b target # encoding: [0bAAAAAA00,A,A,0b010010AA] 12*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_br24 13*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_br24 14*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_REL24 target 0x0 15*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_REL24 target 0x0 16*9880d681SAndroid Build Coastguard Worker b target 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ba target # encoding: [0b010010AA,A,A,0bAAAAAA10] 19*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ba target # encoding: [0bAAAAAA10,A,A,0b010010AA] 20*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_br24abs 21*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_br24abs 22*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR24 target 0x0 23*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR24 target 0x0 24*9880d681SAndroid Build Coastguard Worker ba target 25*9880d681SAndroid Build Coastguard Worker 26*9880d681SAndroid Build Coastguard Worker# CHECK-BE: beq 0, target # encoding: [0x41,0x82,A,0bAAAAAA00] 27*9880d681SAndroid Build Coastguard Worker# CHECK-LE: beq 0, target # encoding: [0bAAAAAA00,A,0x82,0x41] 28*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14 29*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14 30*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_REL14 target 0x0 31*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_REL14 target 0x0 32*9880d681SAndroid Build Coastguard Worker beq target 33*9880d681SAndroid Build Coastguard Worker 34*9880d681SAndroid Build Coastguard Worker# CHECK-BE: beqa 0, target # encoding: [0x41,0x82,A,0bAAAAAA10] 35*9880d681SAndroid Build Coastguard Worker# CHECK-LE: beqa 0, target # encoding: [0bAAAAAA10,A,0x82,0x41] 36*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs 37*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs 38*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR14 target 0x0 39*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR14 target 0x0 40*9880d681SAndroid Build Coastguard Worker beqa target 41*9880d681SAndroid Build Coastguard Worker 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target@l # encoding: [0x38,0x60,A,A] 44*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target@l # encoding: [A,A,0x60,0x38] 45*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@l, kind: fixup_ppc_half16 46*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@l, kind: fixup_ppc_half16 47*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_LO target 0x0 48*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_LO target 0x0 49*9880d681SAndroid Build Coastguard Worker li 3, target@l 50*9880d681SAndroid Build Coastguard Worker 51*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 3, target@ha # encoding: [0x3c,0x63,A,A] 52*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 3, target@ha # encoding: [A,A,0x63,0x3c] 53*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@ha, kind: fixup_ppc_half16 54*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@ha, kind: fixup_ppc_half16 55*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HA target 0x0 56*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HA target 0x0 57*9880d681SAndroid Build Coastguard Worker addis 3, 3, target@ha 58*9880d681SAndroid Build Coastguard Worker 59*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lis 3, target@ha # encoding: [0x3c,0x60,A,A] 60*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lis 3, target@ha # encoding: [A,A,0x60,0x3c] 61*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@ha, kind: fixup_ppc_half16 62*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@ha, kind: fixup_ppc_half16 63*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HA target 0x0 64*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HA target 0x0 65*9880d681SAndroid Build Coastguard Worker lis 3, target@ha 66*9880d681SAndroid Build Coastguard Worker 67*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 4, 3, target@l # encoding: [0x38,0x83,A,A] 68*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 4, 3, target@l # encoding: [A,A,0x83,0x38] 69*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@l, kind: fixup_ppc_half16 70*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@l, kind: fixup_ppc_half16 71*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_LO target 0x0 72*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_LO target 0x0 73*9880d681SAndroid Build Coastguard Worker addi 4, 3, target@l 74*9880d681SAndroid Build Coastguard Worker 75*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target@ha # encoding: [0x38,0x60,A,A] 76*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target@ha # encoding: [A,A,0x60,0x38] 77*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@ha, kind: fixup_ppc_half16 78*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@ha, kind: fixup_ppc_half16 79*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HA target 0x0 80*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HA target 0x0 81*9880d681SAndroid Build Coastguard Worker li 3, target@ha 82*9880d681SAndroid Build Coastguard Worker 83*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lis 3, target@l # encoding: [0x3c,0x60,A,A] 84*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lis 3, target@l # encoding: [A,A,0x60,0x3c] 85*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@l, kind: fixup_ppc_half16 86*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@l, kind: fixup_ppc_half16 87*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_LO target 0x0 88*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_LO target 0x0 89*9880d681SAndroid Build Coastguard Worker lis 3, target@l 90*9880d681SAndroid Build Coastguard Worker 91*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target@h # encoding: [0x38,0x60,A,A] 92*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target@h # encoding: [A,A,0x60,0x38] 93*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@h, kind: fixup_ppc_half16 94*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@h, kind: fixup_ppc_half16 95*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HI target 0x0 96*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HI target 0x0 97*9880d681SAndroid Build Coastguard Worker li 3, target@h 98*9880d681SAndroid Build Coastguard Worker 99*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lis 3, target@h # encoding: [0x3c,0x60,A,A] 100*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lis 3, target@h # encoding: [A,A,0x60,0x3c] 101*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@h, kind: fixup_ppc_half16 102*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@h, kind: fixup_ppc_half16 103*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HI target 0x0 104*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HI target 0x0 105*9880d681SAndroid Build Coastguard Worker lis 3, target@h 106*9880d681SAndroid Build Coastguard Worker 107*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target@higher # encoding: [0x38,0x60,A,A] 108*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target@higher # encoding: [A,A,0x60,0x38] 109*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@higher, kind: fixup_ppc_half16 110*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@higher, kind: fixup_ppc_half16 111*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HIGHER target 0x0 112*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HIGHER target 0x0 113*9880d681SAndroid Build Coastguard Worker li 3, target@higher 114*9880d681SAndroid Build Coastguard Worker 115*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lis 3, target@highest # encoding: [0x3c,0x60,A,A] 116*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lis 3, target@highest # encoding: [A,A,0x60,0x3c] 117*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@highest, kind: fixup_ppc_half16 118*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@highest, kind: fixup_ppc_half16 119*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HIGHEST target 0x0 120*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HIGHEST target 0x0 121*9880d681SAndroid Build Coastguard Worker lis 3, target@highest 122*9880d681SAndroid Build Coastguard Worker 123*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target@highera # encoding: [0x38,0x60,A,A] 124*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target@highera # encoding: [A,A,0x60,0x38] 125*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@highera, kind: fixup_ppc_half16 126*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@highera, kind: fixup_ppc_half16 127*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HIGHERA target 0x0 128*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HIGHERA target 0x0 129*9880d681SAndroid Build Coastguard Worker li 3, target@highera 130*9880d681SAndroid Build Coastguard Worker 131*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lis 3, target@highesta # encoding: [0x3c,0x60,A,A] 132*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lis 3, target@highesta # encoding: [A,A,0x60,0x3c] 133*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@highesta, kind: fixup_ppc_half16 134*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@highesta, kind: fixup_ppc_half16 135*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HIGHESTA target 0x0 136*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HIGHESTA target 0x0 137*9880d681SAndroid Build Coastguard Worker lis 3, target@highesta 138*9880d681SAndroid Build Coastguard Worker 139*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lwz 1, target@l(3) # encoding: [0x80,0x23,A,A] 140*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lwz 1, target@l(3) # encoding: [A,A,0x23,0x80] 141*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@l, kind: fixup_ppc_half16 142*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@l, kind: fixup_ppc_half16 143*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_LO target 0x0 144*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_LO target 0x0 145*9880d681SAndroid Build Coastguard Worker lwz 1, target@l(3) 146*9880d681SAndroid Build Coastguard Worker 147*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lwz 1, target(3) # encoding: [0x80,0x23,A,A] 148*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lwz 1, target(3) # encoding: [A,A,0x23,0x80] 149*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target, kind: fixup_ppc_half16 150*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_half16 151*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16 target 0x0 152*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16 target 0x0 153*9880d681SAndroid Build Coastguard Worker lwz 1, target(3) 154*9880d681SAndroid Build Coastguard Worker 155*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@l(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] 156*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@l(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] 157*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@l, kind: fixup_ppc_half16ds 158*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@l, kind: fixup_ppc_half16ds 159*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_LO_DS target 0x0 160*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_LO_DS target 0x0 161*9880d681SAndroid Build Coastguard Worker ld 1, target@l(3) 162*9880d681SAndroid Build Coastguard Worker 163*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] 164*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] 165*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target, kind: fixup_ppc_half16ds 166*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target, kind: fixup_ppc_half16ds 167*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_DS target 0x0 168*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_DS target 0x0 169*9880d681SAndroid Build Coastguard Worker ld 1, target(3) 170*9880d681SAndroid Build Coastguard Worker 171*9880d681SAndroid Build Coastguard Workerbase: 172*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lwz 1, target-base(3) # encoding: [0x80,0x23,A,A] 173*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lwz 1, target-base(3) # encoding: [A,A,0x23,0x80] 174*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target-base, kind: fixup_ppc_half16 175*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target-base, kind: fixup_ppc_half16 176*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_REL16 target 0x2 177*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_REL16 target 0x0 178*9880d681SAndroid Build Coastguard Worker lwz 1, target-base(3) 179*9880d681SAndroid Build Coastguard Worker 180*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target-base@h # encoding: [0x38,0x60,A,A] 181*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target-base@h # encoding: [A,A,0x60,0x38] 182*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target-base@h, kind: fixup_ppc_half16 183*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target-base@h, kind: fixup_ppc_half16 184*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_REL16_HI target 0x6 185*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_REL16_HI target 0x4 186*9880d681SAndroid Build Coastguard Worker li 3, target-base@h 187*9880d681SAndroid Build Coastguard Worker 188*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target-base@l # encoding: [0x38,0x60,A,A] 189*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target-base@l # encoding: [A,A,0x60,0x38] 190*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target-base@l, kind: fixup_ppc_half16 191*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target-base@l, kind: fixup_ppc_half16 192*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_REL16_LO target 0xA 193*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_REL16_LO target 0x8 194*9880d681SAndroid Build Coastguard Worker li 3, target-base@l 195*9880d681SAndroid Build Coastguard Worker 196*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target-base@ha # encoding: [0x38,0x60,A,A] 197*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target-base@ha # encoding: [A,A,0x60,0x38] 198*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target-base@ha, kind: fixup_ppc_half16 199*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target-base@ha, kind: fixup_ppc_half16 200*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_REL16_HA target 0xE 201*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_REL16_HA target 0xC 202*9880d681SAndroid Build Coastguard Worker li 3, target-base@ha 203*9880d681SAndroid Build Coastguard Worker 204*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ori 3, 3, target@l # encoding: [0x60,0x63,A,A] 205*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ori 3, 3, target@l # encoding: [A,A,0x63,0x60] 206*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@l, kind: fixup_ppc_half16 207*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@l, kind: fixup_ppc_half16 208*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_LO target 0x0 209*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_LO target 0x0 210*9880d681SAndroid Build Coastguard Worker ori 3, 3, target@l 211*9880d681SAndroid Build Coastguard Worker 212*9880d681SAndroid Build Coastguard Worker# CHECK-BE: oris 3, 3, target@h # encoding: [0x64,0x63,A,A] 213*9880d681SAndroid Build Coastguard Worker# CHECK-LE: oris 3, 3, target@h # encoding: [A,A,0x63,0x64] 214*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@h, kind: fixup_ppc_half16 215*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@h, kind: fixup_ppc_half16 216*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HI target 0x0 217*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HI target 0x0 218*9880d681SAndroid Build Coastguard Worker oris 3, 3, target@h 219*9880d681SAndroid Build Coastguard Worker 220*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@toc(2) # encoding: [0xe8,0x22,A,0bAAAAAA00] 221*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@toc(2) # encoding: [0bAAAAAA00,A,0x22,0xe8] 222*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@toc, kind: fixup_ppc_half16ds 223*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@toc, kind: fixup_ppc_half16ds 224*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TOC16_DS target 0x0 225*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TOC16_DS target 0x0 226*9880d681SAndroid Build Coastguard Worker ld 1, target@toc(2) 227*9880d681SAndroid Build Coastguard Worker 228*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@toc@ha # encoding: [0x3c,0x62,A,A] 229*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@toc@ha # encoding: [A,A,0x62,0x3c] 230*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@toc@ha, kind: fixup_ppc_half16 231*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@toc@ha, kind: fixup_ppc_half16 232*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TOC16_HA target 0x0 233*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TOC16_HA target 0x0 234*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@toc@ha 235*9880d681SAndroid Build Coastguard Worker 236*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 4, 3, target@toc@l # encoding: [0x38,0x83,A,A] 237*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 4, 3, target@toc@l # encoding: [A,A,0x83,0x38] 238*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@toc@l, kind: fixup_ppc_half16 239*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@toc@l, kind: fixup_ppc_half16 240*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TOC16_LO target 0x0 241*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TOC16_LO target 0x0 242*9880d681SAndroid Build Coastguard Worker addi 4, 3, target@toc@l 243*9880d681SAndroid Build Coastguard Worker 244*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@toc@h # encoding: [0x3c,0x62,A,A] 245*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@toc@h # encoding: [A,A,0x62,0x3c] 246*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@toc@h, kind: fixup_ppc_half16 247*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@toc@h, kind: fixup_ppc_half16 248*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TOC16_HI target 0x0 249*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TOC16_HI target 0x0 250*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@toc@h 251*9880d681SAndroid Build Coastguard Worker 252*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lwz 1, target@toc@l(3) # encoding: [0x80,0x23,A,A] 253*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lwz 1, target@toc@l(3) # encoding: [A,A,0x23,0x80] 254*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@toc@l, kind: fixup_ppc_half16 255*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@toc@l, kind: fixup_ppc_half16 256*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TOC16_LO target 0x0 257*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TOC16_LO target 0x0 258*9880d681SAndroid Build Coastguard Worker lwz 1, target@toc@l(3) 259*9880d681SAndroid Build Coastguard Worker 260*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@toc@l(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] 261*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@toc@l(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] 262*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@toc@l, kind: fixup_ppc_half16ds 263*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@toc@l, kind: fixup_ppc_half16ds 264*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TOC16_LO_DS target 0x0 265*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TOC16_LO_DS target 0x0 266*9880d681SAndroid Build Coastguard Worker ld 1, target@toc@l(3) 267*9880d681SAndroid Build Coastguard Worker 268*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 4, 3, target@GOT # encoding: [0x38,0x83,A,A] 269*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 4, 3, target@GOT # encoding: [A,A,0x83,0x38] 270*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@GOT, kind: fixup_ppc_half16 271*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@GOT, kind: fixup_ppc_half16 272*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT16 target 0x0 273*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT16 target 0x0 274*9880d681SAndroid Build Coastguard Worker addi 4, 3, target@got 275*9880d681SAndroid Build Coastguard Worker 276*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@GOT(2) # encoding: [0xe8,0x22,A,0bAAAAAA00] 277*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@GOT(2) # encoding: [0bAAAAAA00,A,0x22,0xe8] 278*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@GOT, kind: fixup_ppc_half16ds 279*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@GOT, kind: fixup_ppc_half16ds 280*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT16_DS target 0x0 281*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT16_DS target 0x0 282*9880d681SAndroid Build Coastguard Worker ld 1, target@got(2) 283*9880d681SAndroid Build Coastguard Worker 284*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@ha # encoding: [0x3c,0x62,A,A] 285*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@ha # encoding: [A,A,0x62,0x3c] 286*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@ha, kind: fixup_ppc_half16 287*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@ha, kind: fixup_ppc_half16 288*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT16_HA target 0x0 289*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT16_HA target 0x0 290*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@got@ha 291*9880d681SAndroid Build Coastguard Worker 292*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 4, 3, target@got@l # encoding: [0x38,0x83,A,A] 293*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 4, 3, target@got@l # encoding: [A,A,0x83,0x38] 294*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@l, kind: fixup_ppc_half16 295*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@l, kind: fixup_ppc_half16 296*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT16_LO target 0x0 297*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT16_LO target 0x0 298*9880d681SAndroid Build Coastguard Worker addi 4, 3, target@got@l 299*9880d681SAndroid Build Coastguard Worker 300*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@h # encoding: [0x3c,0x62,A,A] 301*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@h # encoding: [A,A,0x62,0x3c] 302*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@h, kind: fixup_ppc_half16 303*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@h, kind: fixup_ppc_half16 304*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT16_HI target 0x0 305*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT16_HI target 0x0 306*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@got@h 307*9880d681SAndroid Build Coastguard Worker 308*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lwz 1, target@got@l(3) # encoding: [0x80,0x23,A,A] 309*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lwz 1, target@got@l(3) # encoding: [A,A,0x23,0x80] 310*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@l, kind: fixup_ppc_half16 311*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@l, kind: fixup_ppc_half16 312*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT16_LO target 0x0 313*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT16_LO target 0x0 314*9880d681SAndroid Build Coastguard Worker lwz 1, target@got@l(3) 315*9880d681SAndroid Build Coastguard Worker 316*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@got@l(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] 317*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@got@l(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] 318*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@l, kind: fixup_ppc_half16ds 319*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@l, kind: fixup_ppc_half16ds 320*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT16_LO_DS target 0x0 321*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT16_LO_DS target 0x0 322*9880d681SAndroid Build Coastguard Worker ld 1, target@got@l(3) 323*9880d681SAndroid Build Coastguard Worker 324*9880d681SAndroid Build Coastguard Worker 325*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@tprel@ha # encoding: [0x3c,0x62,A,A] 326*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@tprel@ha # encoding: [A,A,0x62,0x3c] 327*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@tprel@ha, kind: fixup_ppc_half16 328*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@tprel@ha, kind: fixup_ppc_half16 329*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_HA target 0x0 330*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_HA target 0x0 331*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@tprel@ha 332*9880d681SAndroid Build Coastguard Worker 333*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@tprel@l # encoding: [0x38,0x63,A,A] 334*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@tprel@l # encoding: [A,A,0x63,0x38] 335*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@tprel@l, kind: fixup_ppc_half16 336*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@tprel@l, kind: fixup_ppc_half16 337*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_LO target 0x0 338*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_LO target 0x0 339*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@tprel@l 340*9880d681SAndroid Build Coastguard Worker 341*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@TPREL # encoding: [0x38,0x63,A,A] 342*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@TPREL # encoding: [A,A,0x63,0x38] 343*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@TPREL, kind: fixup_ppc_half16 344*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@TPREL, kind: fixup_ppc_half16 345*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16 target 0x0 346*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16 target 0x0 347*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@tprel 348*9880d681SAndroid Build Coastguard Worker 349*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@tprel@h # encoding: [0x38,0x63,A,A] 350*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@tprel@h # encoding: [A,A,0x63,0x38] 351*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@tprel@h, kind: fixup_ppc_half16 352*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@tprel@h, kind: fixup_ppc_half16 353*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_HI target 0x0 354*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_HI target 0x0 355*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@tprel@h 356*9880d681SAndroid Build Coastguard Worker 357*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@tprel@higher # encoding: [0x38,0x63,A,A] 358*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@tprel@higher # encoding: [A,A,0x63,0x38] 359*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@tprel@higher, kind: fixup_ppc_half16 360*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@tprel@higher, kind: fixup_ppc_half16 361*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_HIGHER target 0x0 362*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_HIGHER target 0x0 363*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@tprel@higher 364*9880d681SAndroid Build Coastguard Worker 365*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@tprel@highest # encoding: [0x3c,0x62,A,A] 366*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@tprel@highest # encoding: [A,A,0x62,0x3c] 367*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@tprel@highest, kind: fixup_ppc_half16 368*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@tprel@highest, kind: fixup_ppc_half16 369*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_HIGHEST target 0x0 370*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_HIGHEST target 0x0 371*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@tprel@highest 372*9880d681SAndroid Build Coastguard Worker 373*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@tprel@highera # encoding: [0x38,0x63,A,A] 374*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@tprel@highera # encoding: [A,A,0x63,0x38] 375*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@tprel@highera, kind: fixup_ppc_half16 376*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@tprel@highera, kind: fixup_ppc_half16 377*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_HIGHERA target 0x0 378*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_HIGHERA target 0x0 379*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@tprel@highera 380*9880d681SAndroid Build Coastguard Worker 381*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@tprel@highesta # encoding: [0x3c,0x62,A,A] 382*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@tprel@highesta # encoding: [A,A,0x62,0x3c] 383*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@tprel@highesta, kind: fixup_ppc_half16 384*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@tprel@highesta, kind: fixup_ppc_half16 385*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_HIGHESTA target 0x0 386*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_HIGHESTA target 0x0 387*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@tprel@highesta 388*9880d681SAndroid Build Coastguard Worker 389*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@tprel@l(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] 390*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@tprel@l(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] 391*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@tprel@l, kind: fixup_ppc_half16ds 392*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@tprel@l, kind: fixup_ppc_half16ds 393*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_LO_DS target 0x0 394*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_LO_DS target 0x0 395*9880d681SAndroid Build Coastguard Worker ld 1, target@tprel@l(3) 396*9880d681SAndroid Build Coastguard Worker 397*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@TPREL(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] 398*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@TPREL(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] 399*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@TPREL, kind: fixup_ppc_half16ds 400*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@TPREL, kind: fixup_ppc_half16ds 401*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_DS target 0x0 402*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_DS target 0x0 403*9880d681SAndroid Build Coastguard Worker ld 1, target@tprel(3) 404*9880d681SAndroid Build Coastguard Worker 405*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@dtprel@ha # encoding: [0x3c,0x62,A,A] 406*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@dtprel@ha # encoding: [A,A,0x62,0x3c] 407*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@dtprel@ha, kind: fixup_ppc_half16 408*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@dtprel@ha, kind: fixup_ppc_half16 409*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_HA target 0x0 410*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_HA target 0x0 411*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@dtprel@ha 412*9880d681SAndroid Build Coastguard Worker 413*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@dtprel@l # encoding: [0x38,0x63,A,A] 414*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@dtprel@l # encoding: [A,A,0x63,0x38] 415*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@dtprel@l, kind: fixup_ppc_half16 416*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@dtprel@l, kind: fixup_ppc_half16 417*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_LO target 0x0 418*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_LO target 0x0 419*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@dtprel@l 420*9880d681SAndroid Build Coastguard Worker 421*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@DTPREL # encoding: [0x38,0x63,A,A] 422*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@DTPREL # encoding: [A,A,0x63,0x38] 423*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@DTPREL, kind: fixup_ppc_half16 424*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@DTPREL, kind: fixup_ppc_half16 425*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16 target 0x0 426*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16 target 0x0 427*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@dtprel 428*9880d681SAndroid Build Coastguard Worker 429*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@dtprel@h # encoding: [0x38,0x63,A,A] 430*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@dtprel@h # encoding: [A,A,0x63,0x38] 431*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@dtprel@h, kind: fixup_ppc_half16 432*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@dtprel@h, kind: fixup_ppc_half16 433*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_HI target 0x0 434*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_HI target 0x0 435*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@dtprel@h 436*9880d681SAndroid Build Coastguard Worker 437*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@dtprel@higher # encoding: [0x38,0x63,A,A] 438*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@dtprel@higher # encoding: [A,A,0x63,0x38] 439*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@dtprel@higher, kind: fixup_ppc_half16 440*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@dtprel@higher, kind: fixup_ppc_half16 441*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_HIGHER target 0x0 442*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_HIGHER target 0x0 443*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@dtprel@higher 444*9880d681SAndroid Build Coastguard Worker 445*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@dtprel@highest # encoding: [0x3c,0x62,A,A] 446*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@dtprel@highest # encoding: [A,A,0x62,0x3c] 447*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@dtprel@highest, kind: fixup_ppc_half16 448*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@dtprel@highest, kind: fixup_ppc_half16 449*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_HIGHEST target 0x0 450*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_HIGHEST target 0x0 451*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@dtprel@highest 452*9880d681SAndroid Build Coastguard Worker 453*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@dtprel@highera # encoding: [0x38,0x63,A,A] 454*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@dtprel@highera # encoding: [A,A,0x63,0x38] 455*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@dtprel@highera, kind: fixup_ppc_half16 456*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@dtprel@highera, kind: fixup_ppc_half16 457*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_HIGHERA target 0x0 458*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_HIGHERA target 0x0 459*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@dtprel@highera 460*9880d681SAndroid Build Coastguard Worker 461*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@dtprel@highesta # encoding: [0x3c,0x62,A,A] 462*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@dtprel@highesta # encoding: [A,A,0x62,0x3c] 463*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@dtprel@highesta, kind: fixup_ppc_half16 464*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@dtprel@highesta, kind: fixup_ppc_half16 465*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_HIGHESTA target 0x0 466*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_HIGHESTA target 0x0 467*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@dtprel@highesta 468*9880d681SAndroid Build Coastguard Worker 469*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@dtprel@l(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] 470*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@dtprel@l(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] 471*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@dtprel@l, kind: fixup_ppc_half16ds 472*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@dtprel@l, kind: fixup_ppc_half16ds 473*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_LO_DS target 0x0 474*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_LO_DS target 0x0 475*9880d681SAndroid Build Coastguard Worker ld 1, target@dtprel@l(3) 476*9880d681SAndroid Build Coastguard Worker 477*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@DTPREL(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] 478*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@DTPREL(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] 479*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@DTPREL, kind: fixup_ppc_half16ds 480*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@DTPREL, kind: fixup_ppc_half16ds 481*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_DS target 0x0 482*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_DS target 0x0 483*9880d681SAndroid Build Coastguard Worker ld 1, target@dtprel(3) 484*9880d681SAndroid Build Coastguard Worker 485*9880d681SAndroid Build Coastguard Worker 486*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@tprel@ha # encoding: [0x3c,0x62,A,A] 487*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@tprel@ha # encoding: [A,A,0x62,0x3c] 488*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@tprel@ha, kind: fixup_ppc_half16 489*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@tprel@ha, kind: fixup_ppc_half16 490*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TPREL16_HA target 0x0 491*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TPREL16_HA target 0x0 492*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@got@tprel@ha 493*9880d681SAndroid Build Coastguard Worker 494*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@got@tprel@l(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] 495*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@got@tprel@l(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] 496*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@tprel@l, kind: fixup_ppc_half16ds 497*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@tprel@l, kind: fixup_ppc_half16ds 498*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TPREL16_LO_DS target 0x0 499*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TPREL16_LO_DS target 0x0 500*9880d681SAndroid Build Coastguard Worker ld 1, target@got@tprel@l(3) 501*9880d681SAndroid Build Coastguard Worker 502*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@tprel@h # encoding: [0x3c,0x62,A,A] 503*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@tprel@h # encoding: [A,A,0x62,0x3c] 504*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@tprel@h, kind: fixup_ppc_half16 505*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@tprel@h, kind: fixup_ppc_half16 506*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TPREL16_HI target 0x0 507*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TPREL16_HI target 0x0 508*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@got@tprel@h 509*9880d681SAndroid Build Coastguard Worker 510*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@tprel@l # encoding: [0x3c,0x62,A,A] 511*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@tprel@l # encoding: [A,A,0x62,0x3c] 512*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@tprel@l, kind: fixup_ppc_half16 513*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@tprel@l, kind: fixup_ppc_half16 514*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TPREL16_LO_DS target 0x0 515*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TPREL16_LO_DS target 0x0 516*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@got@tprel@l 517*9880d681SAndroid Build Coastguard Worker 518*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@tprel # encoding: [0x3c,0x62,A,A] 519*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@tprel # encoding: [A,A,0x62,0x3c] 520*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@tprel, kind: fixup_ppc_half16 521*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@tprel, kind: fixup_ppc_half16 522*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TPREL16_DS target 0x0 523*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TPREL16_DS target 0x0 524*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@got@tprel 525*9880d681SAndroid Build Coastguard Worker 526*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@got@tprel(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] 527*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@got@tprel(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] 528*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@tprel, kind: fixup_ppc_half16ds 529*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@tprel, kind: fixup_ppc_half16ds 530*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TPREL16_DS target 0x0 531*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TPREL16_DS target 0x0 532*9880d681SAndroid Build Coastguard Worker ld 1, target@got@tprel(3) 533*9880d681SAndroid Build Coastguard Worker 534*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@dtprel@ha # encoding: [0x3c,0x62,A,A] 535*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@dtprel@ha # encoding: [A,A,0x62,0x3c] 536*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@dtprel@ha, kind: fixup_ppc_half16 537*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@dtprel@ha, kind: fixup_ppc_half16 538*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_DTPREL16_HA target 0x0 539*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_DTPREL16_HA target 0x0 540*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@got@dtprel@ha 541*9880d681SAndroid Build Coastguard Worker 542*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@got@dtprel@l(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] 543*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@got@dtprel@l(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] 544*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@dtprel@l, kind: fixup_ppc_half16ds 545*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@dtprel@l, kind: fixup_ppc_half16ds 546*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_DTPREL16_LO_DS target 0x0 547*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_DTPREL16_LO_DS target 0x0 548*9880d681SAndroid Build Coastguard Worker ld 1, target@got@dtprel@l(3) 549*9880d681SAndroid Build Coastguard Worker 550*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@dtprel@h # encoding: [0x3c,0x62,A,A] 551*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@dtprel@h # encoding: [A,A,0x62,0x3c] 552*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@dtprel@h, kind: fixup_ppc_half16 553*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@dtprel@h, kind: fixup_ppc_half16 554*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_DTPREL16_HI target 0x0 555*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_DTPREL16_HI target 0x0 556*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@got@dtprel@h 557*9880d681SAndroid Build Coastguard Worker 558*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@dtprel@l # encoding: [0x3c,0x62,A,A] 559*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@dtprel@l # encoding: [A,A,0x62,0x3c] 560*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@dtprel@l, kind: fixup_ppc_half16 561*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@dtprel@l, kind: fixup_ppc_half16 562*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_DTPREL16_LO_DS target 0x0 563*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_DTPREL16_LO_DS target 0x0 564*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@got@dtprel@l 565*9880d681SAndroid Build Coastguard Worker 566*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@dtprel # encoding: [0x3c,0x62,A,A] 567*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@dtprel # encoding: [A,A,0x62,0x3c] 568*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@dtprel, kind: fixup_ppc_half16 569*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@dtprel, kind: fixup_ppc_half16 570*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_DTPREL16_DS target 0x0 571*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_DTPREL16_DS target 0x0 572*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@got@dtprel 573*9880d681SAndroid Build Coastguard Worker 574*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@got@dtprel(3) # encoding: [0xe8,0x23,A,0bAAAAAA00] 575*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@got@dtprel(3) # encoding: [0bAAAAAA00,A,0x23,0xe8] 576*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@dtprel, kind: fixup_ppc_half16ds 577*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@dtprel, kind: fixup_ppc_half16ds 578*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_DTPREL16_DS target 0x0 579*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_DTPREL16_DS target 0x0 580*9880d681SAndroid Build Coastguard Worker ld 1, target@got@dtprel(3) 581*9880d681SAndroid Build Coastguard Worker 582*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@tlsgd@ha # encoding: [0x3c,0x62,A,A] 583*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@tlsgd@ha # encoding: [A,A,0x62,0x3c] 584*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@tlsgd@ha, kind: fixup_ppc_half16 585*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@tlsgd@ha, kind: fixup_ppc_half16 586*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSGD16_HA target 0x0 587*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSGD16_HA target 0x0 588*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@got@tlsgd@ha 589*9880d681SAndroid Build Coastguard Worker 590*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@got@tlsgd@l # encoding: [0x38,0x63,A,A] 591*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@got@tlsgd@l # encoding: [A,A,0x63,0x38] 592*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@tlsgd@l, kind: fixup_ppc_half16 593*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@tlsgd@l, kind: fixup_ppc_half16 594*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSGD16_LO target 0x0 595*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSGD16_LO target 0x0 596*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@got@tlsgd@l 597*9880d681SAndroid Build Coastguard Worker 598*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@got@tlsgd@h # encoding: [0x38,0x63,A,A] 599*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@got@tlsgd@h # encoding: [A,A,0x63,0x38] 600*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@tlsgd@h, kind: fixup_ppc_half16 601*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@tlsgd@h, kind: fixup_ppc_half16 602*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSGD16_HI target 0x0 603*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSGD16_HI target 0x0 604*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@got@tlsgd@h 605*9880d681SAndroid Build Coastguard Worker 606*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@got@tlsgd # encoding: [0x38,0x63,A,A] 607*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@got@tlsgd # encoding: [A,A,0x63,0x38] 608*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@tlsgd, kind: fixup_ppc_half16 609*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@tlsgd, kind: fixup_ppc_half16 610*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSGD16 target 0x0 611*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSGD16 target 0x0 612*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@got@tlsgd 613*9880d681SAndroid Build Coastguard Worker 614*9880d681SAndroid Build Coastguard Worker 615*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@tlsld@ha # encoding: [0x3c,0x62,A,A] 616*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@tlsld@ha # encoding: [A,A,0x62,0x3c] 617*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@tlsld@ha, kind: fixup_ppc_half16 618*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@tlsld@ha, kind: fixup_ppc_half16 619*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSLD16_HA target 0x0 620*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSLD16_HA target 0x0 621*9880d681SAndroid Build Coastguard Worker addis 3, 2, target@got@tlsld@ha 622*9880d681SAndroid Build Coastguard Worker 623*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@got@tlsld@l # encoding: [0x38,0x63,A,A] 624*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@got@tlsld@l # encoding: [A,A,0x63,0x38] 625*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@tlsld@l, kind: fixup_ppc_half16 626*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@tlsld@l, kind: fixup_ppc_half16 627*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSLD16_LO target 0x0 628*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSLD16_LO target 0x0 629*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@got@tlsld@l 630*9880d681SAndroid Build Coastguard Worker 631*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@got@tlsld@h # encoding: [0x38,0x63,A,A] 632*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@got@tlsld@h # encoding: [A,A,0x63,0x38] 633*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@tlsld@h, kind: fixup_ppc_half16 634*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@tlsld@h, kind: fixup_ppc_half16 635*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSLD16_HI target 0x0 636*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSLD16_HI target 0x0 637*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@got@tlsld@h 638*9880d681SAndroid Build Coastguard Worker 639*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@got@tlsld # encoding: [0x38,0x63,A,A] 640*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@got@tlsld # encoding: [A,A,0x63,0x38] 641*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 2, value: target@got@tlsld, kind: fixup_ppc_half16 642*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@got@tlsld, kind: fixup_ppc_half16 643*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSLD16 target 0x0 644*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSLD16 target 0x0 645*9880d681SAndroid Build Coastguard Worker addi 3, 3, target@got@tlsld 646*9880d681SAndroid Build Coastguard Worker 647*9880d681SAndroid Build Coastguard Worker# CHECK-BE: bl __tls_get_addr(target@tlsgd) # encoding: [0b010010BB,B,B,0bBBBBBB01] 648*9880d681SAndroid Build Coastguard Worker# CHECK-LE: bl __tls_get_addr(target@tlsgd) # encoding: [0bBBBBBB01,B,B,0b010010BB] 649*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 0, value: target@tlsgd, kind: fixup_ppc_nofixup 650*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@tlsgd, kind: fixup_ppc_nofixup 651*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup B - offset: 0, value: __tls_get_addr, kind: fixup_ppc_br24 652*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup B - offset: 0, value: __tls_get_addr, kind: fixup_ppc_br24 653*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TLSGD target 0x0 654*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TLSGD target 0x0 655*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL-NEXT: 0x{{[0-9A-F]*[048C]}} R_PPC64_REL24 __tls_get_addr 0x0 656*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL-NEXT: 0x{{[0-9A-F]*[048C]}} R_PPC64_REL24 __tls_get_addr 0x0 657*9880d681SAndroid Build Coastguard Worker bl __tls_get_addr(target@tlsgd) 658*9880d681SAndroid Build Coastguard Worker 659*9880d681SAndroid Build Coastguard Worker# CHECK-BE: bl __tls_get_addr(target@tlsld) # encoding: [0b010010BB,B,B,0bBBBBBB01] 660*9880d681SAndroid Build Coastguard Worker# CHECK-LE: bl __tls_get_addr(target@tlsld) # encoding: [0bBBBBBB01,B,B,0b010010BB] 661*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 0, value: target@tlsld, kind: fixup_ppc_nofixup 662*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@tlsld, kind: fixup_ppc_nofixup 663*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup B - offset: 0, value: __tls_get_addr, kind: fixup_ppc_br24 664*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup B - offset: 0, value: __tls_get_addr, kind: fixup_ppc_br24 665*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TLSLD target 0x0 666*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TLSLD target 0x0 667*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL-NEXT: 0x{{[0-9A-F]*[048C]}} R_PPC64_REL24 __tls_get_addr 0x0 668*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL-NEXT: 0x{{[0-9A-F]*[048C]}} R_PPC64_REL24 __tls_get_addr 0x0 669*9880d681SAndroid Build Coastguard Worker bl __tls_get_addr(target@tlsld) 670*9880d681SAndroid Build Coastguard Worker 671*9880d681SAndroid Build Coastguard Worker# CHECK-BE: add 3, 4, target@tls # encoding: [0x7c,0x64,0x6a,0x14] 672*9880d681SAndroid Build Coastguard Worker# CHECK-LE: add 3, 4, target@tls # encoding: [0x14,0x6a,0x64,0x7c] 673*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT: # fixup A - offset: 0, value: target@tls, kind: fixup_ppc_nofixup 674*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT: # fixup A - offset: 0, value: target@tls, kind: fixup_ppc_nofixup 675*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TLS target 0x0 676*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[048C]}} R_PPC64_TLS target 0x0 677*9880d681SAndroid Build Coastguard Worker add 3, 4, target@tls 678*9880d681SAndroid Build Coastguard Worker 679*9880d681SAndroid Build Coastguard Worker# Verify that fixups on constants are resolved at assemble time 680*9880d681SAndroid Build Coastguard Worker 681*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ori 1, 2, 65535 # encoding: [0x60,0x41,0xff,0xff] 682*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ori 1, 2, 65535 # encoding: [0xff,0xff,0x41,0x60] 683*9880d681SAndroid Build Coastguard Worker ori 1, 2, 131071@l 684*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ori 1, 2, 1 # encoding: [0x60,0x41,0x00,0x01] 685*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ori 1, 2, 1 # encoding: [0x01,0x00,0x41,0x60] 686*9880d681SAndroid Build Coastguard Worker ori 1, 2, 131071@h 687*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ori 1, 2, 2 # encoding: [0x60,0x41,0x00,0x02] 688*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ori 1, 2, 2 # encoding: [0x02,0x00,0x41,0x60] 689*9880d681SAndroid Build Coastguard Worker ori 1, 2, 131071@ha 690*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 1, 2, -1 # encoding: [0x38,0x22,0xff,0xff] 691*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 1, 2, -1 # encoding: [0xff,0xff,0x22,0x38] 692*9880d681SAndroid Build Coastguard Worker addi 1, 2, 131071@l 693*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 1, 2, 1 # encoding: [0x38,0x22,0x00,0x01] 694*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 1, 2, 1 # encoding: [0x01,0x00,0x22,0x38] 695*9880d681SAndroid Build Coastguard Worker addi 1, 2, 131071@h 696*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 1, 2, 2 # encoding: [0x38,0x22,0x00,0x02] 697*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 1, 2, 2 # encoding: [0x02,0x00,0x22,0x38] 698*9880d681SAndroid Build Coastguard Worker addi 1, 2, 131071@ha 699*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 1, 2, -4096 # encoding: [0x3c,0x22,0xf0,0x00] 700*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 1, 2, -4096 # encoding: [0x00,0xf0,0x22,0x3c] 701*9880d681SAndroid Build Coastguard Worker addis 1, 2, 0xf0000000@h 702*9880d681SAndroid Build Coastguard Worker 703*9880d681SAndroid Build Coastguard Worker# Data relocs 704*9880d681SAndroid Build Coastguard Worker# llvm-mc does not show any "encoding" string for data, so we just check the relocs 705*9880d681SAndroid Build Coastguard Worker 706*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: .rela.data 707*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: .rela.data 708*9880d681SAndroid Build Coastguard Worker .data 709*9880d681SAndroid Build Coastguard Worker 710*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_TOC - 0x0 711*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_TOC - 0x0 712*9880d681SAndroid Build Coastguard Worker .quad .TOC.@tocbase 713*9880d681SAndroid Build Coastguard Worker 714*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_DTPMOD64 target 0x0 715*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_DTPMOD64 target 0x0 716*9880d681SAndroid Build Coastguard Worker .quad target@dtpmod 717*9880d681SAndroid Build Coastguard Worker 718*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_TPREL64 target 0x0 719*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_TPREL64 target 0x0 720*9880d681SAndroid Build Coastguard Worker .quad target@tprel 721*9880d681SAndroid Build Coastguard Worker 722*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_DTPREL64 target 0x0 723*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_DTPREL64 target 0x0 724*9880d681SAndroid Build Coastguard Worker .quad target@dtprel 725*9880d681SAndroid Build Coastguard Worker 726