Home | History | Annotate | Download | only in Mips
      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
     10 f_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
     16 f_mm_insn_instr:
     17   .insn
     18   add $7, $7, $7
     19 
     20   .global o_mm_insn_data
     21   .type o_mm_insn_data, @object
     22 o_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
     28 o_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
     36 f_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
     42 f_normal_insn_instr:
     43   .insn
     44   add $7, $7, $7
     45 
     46   .global o_normal_insn_data
     47   .type o_normal_insn_data, @object
     48 o_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
     54 o_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
     61 foo:
     62   .insn
     63   .word 0x00e73820   # add $7, $7, $7
     64 
     65   .set micromips
     66 bar:
     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