# REQUIRES: ppc
# RUN: llvm-mc -filetype=obj -triple=ppc64le --defsym HI=1 %s -o %thi.o
# RUN: ld.lld %thi.o --defsym=a=0x7fffffff -o /dev/null
# RUN: not ld.lld %thi.o --defsym=a=0x80000000 -o /dev/null
# RUN: ld.lld %thi.o --defsym=a=0xffffffff80000000 -o /dev/null
# RUN: not ld.lld %thi.o --defsym=a=0xffffffff7fffffff -o /dev/null
# RUN: llvm-mc -filetype=obj -triple=ppc64le --defsym HA=1 %s -o %tha.o
# RUN: ld.lld %tha.o --defsym=a=0x7fff7fff -o /dev/null
# RUN: not ld.lld %tha.o --defsym=a=0x7fff8000 -o /dev/null
# RUN: ld.lld %tha.o --defsym=a=0xffffffff7fff8000 -o /dev/null
# RUN: not ld.lld %tha.o --defsym=a=0xffffffff7fff7fff -o /dev/null
.ifdef HI
lis 4, a@h # R_PPC64_ADDR16_HI
.endif
.ifdef HA
lis 4, a@ha # R_PPC64_ADDR16_HA
.endif
lis 4, a@high # R_PPC64_ADDR16_HIGH