# RUN: llvm-mc -triple xtensa < %s -show-encoding \ # RUN: | FileCheck -check-prefix=INSTR -check-prefix=FIXUP %s # RUN: llvm-mc -filetype=obj -triple xtensa < %s \ # RUN: | llvm-readobj -r - | FileCheck -check-prefix=RELOC %s # Check prefixes: # RELOC - Check the relocation in the object. # FIXUP - Check the fixup on the instruction. # INSTR - Check the instruction is handled properly by the ASMPrinter .long func # RELOC: R_XTENSA_32 func ball a1, a3, func # RELOC: R_XTENSA_SLOT0_OP # INST: ball a1, a3, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bany a8, a13, func # RELOC: R_XTENSA_SLOT0_OP # INST: bany a8, a13, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bbc a8, a7, func # RELOC: R_XTENSA_SLOT0_OP # INST: bbc a8, a7, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bbci a3, 16, func # RELOC: R_XTENSA_SLOT0_OP # INST: bbci a3, 16, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bbs a12, a5, func # RELOC: R_XTENSA_SLOT0_OP # INST: bbs a12, a5, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bbsi a3, 16, func # RELOC: R_XTENSA_SLOT0_OP # INST: bbsi a3, 16, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bnall a7, a3, func # RELOC: R_XTENSA_SLOT0_OP # INST: bnall a7, a3, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bnone a2, a4, func # RELOC: R_XTENSA_SLOT0_OP # INST: bnone a2, a4, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 beq a1, a2, func # RELOC: R_XTENSA_SLOT0_OP # INST: beq a1, a2, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 beq a11, a5, func # RELOC: R_XTENSA_SLOT0_OP # INST: beq a11, a5, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 beqi a1, 256, func # RELOC: R_XTENSA_SLOT0_OP # INST: beqi a1, 256, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 beqi a11, -1, func # RELOC: R_XTENSA_SLOT0_OP # INST: beqi a11, -1, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 beqz a8, func # RELOC: R_XTENSA_SLOT0_OP # INST: beqz a8, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_12 bge a14, a2, func # RELOC: R_XTENSA_SLOT0_OP # INST: bge a14, a2, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bgei a11, -1, func # RELOC: R_XTENSA_SLOT0_OP # INST: bgei a11, -1, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bgei a11, 128, func # RELOC: R_XTENSA_SLOT0_OP # INST: bgei a11, 128, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bgeu a14, a2, func # RELOC: R_XTENSA_SLOT0_OP # INST: bgeu a14, a2, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bgeui a9, 32768, func # RELOC: R_XTENSA_SLOT0_OP # INST: bgeui a9, 32768, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bgeui a7, 65536, func # RELOC: R_XTENSA_SLOT0_OP # INST: bgeui a7, 65536, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bgeui a7, 64, func # RELOC: R_XTENSA_SLOT0_OP # INST: bgeui a7, 64, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bgez a8, func # RELOC: R_XTENSA_SLOT0_OP # INST: bgez a8, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_12 blt a14, a2, func # RELOC: R_XTENSA_SLOT0_OP # INST: blt a14, a2, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 blti a12, -1, func # RELOC: R_XTENSA_SLOT0_OP # INST: blti a12, -1, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 blti a0, 32, func # RELOC: R_XTENSA_SLOT0_OP # INST: blti a0, 32, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bgeu a13, a1, func # RELOC: R_XTENSA_SLOT0_OP # INST: bgeu a13, a1, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bltui a7, 16, func # RELOC: R_XTENSA_SLOT0_OP # INST: bltui a7, 16, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bltz a6, func # RELOC: R_XTENSA_SLOT0_OP # INST: bltz a6, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_12 bne a3, a4, func # RELOC: R_XTENSA_SLOT0_OP # INST: bne a3, a4, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bnei a5, 12, func # RELOC: R_XTENSA_SLOT0_OP # INST: bnei a5, 12, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_8 bnez a5, func # RELOC: R_XTENSA_SLOT0_OP # INST: bnez a5, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_branch_12 call0 func # RELOC: R_XTENSA_SLOT0_OP # INST: call0 func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_call_18 j func # RELOC: R_XTENSA_SLOT0_OP # INSTR: j func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_jump_18 l32r a6, func # RELOC: R_XTENSA_SLOT0_OP # INSTR: l32r a6, func # FIXUP: fixup A - offset: 0, value: func, kind: fixup_xtensa_l32r_16