| # 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 |