1# RUN: llvm-mc %s -arch=mips -mcpu=mips32 | FileCheck %s --check-prefix=ASM 2 3# RUN: llvm-mc %s -arch=mips -mcpu=mips32 -filetype=obj -o - | \ 4# RUN: llvm-readobj -symbols - | FileCheck %s --check-prefix=OBJ 5 6 .set micromips 7 8 .global f_mm_insn_data 9 .type f_mm_insn_data, @function 10f_mm_insn_data: 11 .insn 12 .word 0x00e73910 # add $7, $7, $7 13 14 .global f_mm_insn_instr 15 .type f_mm_insn_instr, @function 16f_mm_insn_instr: 17 .insn 18 add $7, $7, $7 19 20 .global o_mm_insn_data 21 .type o_mm_insn_data, @object 22o_mm_insn_data: 23 .insn 24 .word 0x00e73910 # add $7, $7, $7 25 26 .global o_mm_insn_instr 27 .type o_mm_insn_instr, @object 28o_mm_insn_instr: 29 .insn 30 add $7, $7, $7 31 32 .set nomicromips 33 34 .global f_normal_insn_data 35 .type f_normal_insn_data, @function 36f_normal_insn_data: 37 .insn 38 .word 0x00e73820 # add $7, $7, $7 39 40 .global f_normal_insn_instr 41 .type f_normal_insn_instr, @function 42f_normal_insn_instr: 43 .insn 44 add $7, $7, $7 45 46 .global o_normal_insn_data 47 .type o_normal_insn_data, @object 48o_normal_insn_data: 49 .insn 50 .word 0x00e73820 # add $7, $7, $7 51 52 .global o_normal_insn_instr 53 .type o_normal_insn_instr, @object 54o_normal_insn_instr: 55 .insn 56 add $7, $7, $7 57 58# Verify that .insn causes the currently saved labels to be cleared by checking 59# that foo doesn't get marked. 60 .set nomicromips 61foo: 62 .insn 63 .word 0x00e73820 # add $7, $7, $7 64 65 .set micromips 66bar: 67 add $7, $7, $7 68 69# ASM: .insn 70 71# OBJ: Symbols [ 72# OBJ: Name: foo 73# OBJ: Other: 0 74 75# OBJ: Name: f_mm_insn_data 76# OBJ: Other [ (0x80) 77 78# OBJ: Name: f_mm_insn_instr 79# OBJ: Other [ (0x80) 80 81# OBJ: Name: f_normal_insn_data 82# OBJ: Other: 0 83 84# OBJ: Name: f_normal_insn_instr 85# OBJ: Other: 0 86 87# OBJ: Name: o_mm_insn_data 88# OBJ: Other [ (0x80) 89 90# OBJ: Name: o_mm_insn_instr 91# OBJ: Other [ (0x80) 92 93# OBJ: Name: o_normal_insn_data 94# OBJ: Other: 0 95 96# OBJ: Name: o_normal_insn_instr 97# OBJ: Other: 0 98# OBJ: ] 99