| # RUN: llvm-mc %s -arch=mips -mcpu=mips32 | FileCheck %s --check-prefix=ASM | |
| # RUN: llvm-mc %s -arch=mips -mcpu=mips32 -filetype=obj -o - | \ | |
| # RUN: llvm-readobj -symbols - | FileCheck %s --check-prefix=OBJ | |
| .set micromips | |
| .global f_mm_insn_data | |
| .type f_mm_insn_data, @function | |
| f_mm_insn_data: | |
| .insn | |
| .word 0x00e73910 # add $7, $7, $7 | |
| .global f_mm_insn_instr | |
| .type f_mm_insn_instr, @function | |
| f_mm_insn_instr: | |
| .insn | |
| add $7, $7, $7 | |
| .global o_mm_insn_data | |
| .type o_mm_insn_data, @object | |
| o_mm_insn_data: | |
| .insn | |
| .word 0x00e73910 # add $7, $7, $7 | |
| .global o_mm_insn_instr | |
| .type o_mm_insn_instr, @object | |
| o_mm_insn_instr: | |
| .insn | |
| add $7, $7, $7 | |
| .set nomicromips | |
| .global f_normal_insn_data | |
| .type f_normal_insn_data, @function | |
| f_normal_insn_data: | |
| .insn | |
| .word 0x00e73820 # add $7, $7, $7 | |
| .global f_normal_insn_instr | |
| .type f_normal_insn_instr, @function | |
| f_normal_insn_instr: | |
| .insn | |
| add $7, $7, $7 | |
| .global o_normal_insn_data | |
| .type o_normal_insn_data, @object | |
| o_normal_insn_data: | |
| .insn | |
| .word 0x00e73820 # add $7, $7, $7 | |
| .global o_normal_insn_instr | |
| .type o_normal_insn_instr, @object | |
| o_normal_insn_instr: | |
| .insn | |
| add $7, $7, $7 | |
| # Verify that .insn causes the currently saved labels to be cleared by checking | |
| # that foo doesn't get marked. | |
| .set nomicromips | |
| foo: | |
| .insn | |
| .word 0x00e73820 # add $7, $7, $7 | |
| .set micromips | |
| bar: | |
| add $7, $7, $7 | |
| # ASM: .insn | |
| # OBJ: Symbols [ | |
| # OBJ: Name: foo | |
| # OBJ: Other: 0 | |
| # OBJ: Name: f_mm_insn_data | |
| # OBJ: Other [ (0x80) | |
| # OBJ: Name: f_mm_insn_instr | |
| # OBJ: Other [ (0x80) | |
| # OBJ: Name: f_normal_insn_data | |
| # OBJ: Other: 0 | |
| # OBJ: Name: f_normal_insn_instr | |
| # OBJ: Other: 0 | |
| # OBJ: Name: o_mm_insn_data | |
| # OBJ: Other [ (0x80) | |
| # OBJ: Name: o_mm_insn_instr | |
| # OBJ: Other [ (0x80) | |
| # OBJ: Name: o_normal_insn_data | |
| # OBJ: Other: 0 | |
| # OBJ: Name: o_normal_insn_instr | |
| # OBJ: Other: 0 | |
| # OBJ: ] |