Add support for Mips break and syscall insructions. The corresponding test cases...
[oota-llvm.git] / test / MC / Mips / mips_directives.s
1 # RUN: llvm-mc -show-encoding -triple mips-unknown-unknown %s | FileCheck %s
2 #
3 # CHECK:  .text
4 # CHECK:  $BB0_2:
5 $BB0_2:
6   .ent directives_test
7     .frame    $sp,0,$ra
8     .mask     0x00000000,0
9     .fmask    0x00000000,0
10 # CHECK:   b 1332               # encoding: [0x10,0x00,0x01,0x4d]
11 # CHECK:   j 1328               # encoding: [0x08,0x00,0x01,0x4c]
12 # CHECK:   jal 1328             # encoding: [0x0c,0x00,0x01,0x4c]
13
14     .set    noreorder
15      b 1332
16      j 1328
17      jal 1328
18     .set    nomacro
19     .set    noat
20 $JTI0_0:
21     .gpword    ($BB0_2)
22     .word 0x77fffffc
23 # CHECK: $JTI0_0:
24 # CHECK-NEXT:     .4byte    2013265916
25     .set  at=$12
26     .set macro
27 # CHECK:   b 1332               # encoding: [0x10,0x00,0x01,0x4d]
28 # CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
29 # CHECK:   j 1328               # encoding: [0x08,0x00,0x01,0x4c]
30 # CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
31 # CHECK:   jal 1328             # encoding: [0x0c,0x00,0x01,0x4c]
32 # CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
33     .set reorder
34     b 1332
35     j 1328
36     jal 1328
37     .set  at=$a0
38     .set STORE_MASK,$t7
39     .set FPU_MASK,$f7
40     .set r3,$3
41     .set f6,$f6
42 # CHECK:    abs.s   $f6, $f7           # encoding: [0x46,0x00,0x39,0x85]
43 # CHECK:    and     $3, $15, $15       # encoding: [0x01,0xef,0x18,0x24]
44 # CHECK:    break                      # encoding: [0x00,0x00,0x00,0x0d]
45 # CHECK:    break   7, 0               # encoding: [0x00,0x07,0x00,0x0d]
46 # CHECK:    break   7, 5               # encoding: [0x00,0x07,0x01,0x4d]
47 # CHECK:    syscall                    # encoding: [0x00,0x00,0x00,0x0c]
48 # CHECK:    syscall 13396              # encoding: [0x00,0x0d,0x15,0x0c]
49     abs.s  f6,FPU_MASK
50     and    r3,$t7,STORE_MASK
51     break
52     break 7
53     break 7,5
54     syscall
55     syscall 0x3454