1# RUN: llvm-mc -show-encoding -mcpu=mips32 -triple mips-unknown-unknown %s | FileCheck %s
2#
3# CHECK:  .text
4# CHECK:  $BB0_2:
5# CHECK:  .abicalls
6$BB0_2:
7  .ent directives_test
8     .abicalls
9    .frame    $sp,0,$ra
10    .mask     0x00000000,0
11    .fmask    0x00000000,0
12
13# CHECK: .set noreorder
14# CHECK:   b 1332               # encoding: [0x10,0x00,0x01,0x4d]
15# CHECK-NOT: nop
16# CHECK:   j 1328               # encoding: [0x08,0x00,0x01,0x4c]
17# CHECK-NOT: nop
18# CHECK:   jal 1328             # encoding: [0x0c,0x00,0x01,0x4c]
19# CHECK-NOT: nop
20# CHECK: .set nomacro
21
22    .set    noreorder
23     b 1332
24     j 1328
25     jal 1328
26    .set    nomacro
27    .set    noat
28$JTI0_0:
29    .gpword    ($BB0_2)
30
31    .word 0x77fffffc
32# CHECK: $JTI0_0:
33# CHECK: .gpword ($BB0_2)
34# CHECK:     .4byte    2013265916
35    .set  at=$12
36    .set macro
37# CHECK:   .set macro
38# CHECK:   .set reorder
39# CHECK:   b 1332               # encoding: [0x10,0x00,0x01,0x4d]
40# CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
41# CHECK:   j 1328               # encoding: [0x08,0x00,0x01,0x4c]
42# CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
43# CHECK:   jal 1328             # encoding: [0x0c,0x00,0x01,0x4c]
44# CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
45    .set reorder
46$BB0_4:
47    b 1332
48    j 1328
49    jal 1328
50    .set  at=$a0
51    .set STORE_MASK,$t7
52    .set FPU_MASK,$f7
53    .set  $tmp7, $BB0_4-$BB0_2
54    .set f6,$f6
55    .set r1,$1
56# CHECK:    abs.s   $f6, $f7           # encoding: [0x46,0x00,0x39,0x85]
57# CHECK:    lui     $1, %hi($tmp7)     # encoding: [0x3c,0x01,A,A]
58# CHECK:                               #   fixup A - offset: 0, value: %hi($tmp7), kind: fixup_Mips_HI16
59    abs.s  f6,FPU_MASK
60    lui r1, %hi($tmp7)
61
62
63    .cpsetup $25, ((8 * 4) - 3 * 8), __cerror
64# CHECK: .cpsetup	$25, 8, __cerror
65    .cpreturn
66# CHECK: .cpreturn
67    .cpsetup $25, $22, __cerror
68# CHECK: .cpsetup	$25, $22, __cerror
69    .cpreturn
70# CHECK: .cpreturn
71
72
73# CHECK:    .set mips32r2
74# CHECK:    ldxc1   $f0, $zero($5)     # encoding: [0x4c,0xa0,0x00,0x01]
75# CHECK:    luxc1   $f0, $6($5)        # encoding: [0x4c,0xa6,0x00,0x05]
76# CHECK:    lwxc1   $f6, $2($5)        # encoding: [0x4c,0xa2,0x01,0x80]
77     .set mips32r2
78    ldxc1   $f0, $zero($5)
79    luxc1   $f0, $6($5)
80    lwxc1   $f6, $2($5)
81
82# CHECK: .set mips64
83# CHECK: dadd $3, $3, $3
84    .set mips64
85    dadd   $3, $3, $3                  # encoding: [0x00,0x62,0x18,0x2c]
86
87# CHECK: .set mips64r2
88# CHECK: drotr $9, $6, 30              # encoding: [0x00,0x26,0x4f,0xba]
89    .set mips64r2
90    drotr   $9, $6, 30
91
92# CHECK:   .set dsp
93# CHECK:   lbux    $7, $10($11)         # encoding: [0x7d,0x6a,0x39,0x8a]
94# CHECK:   lhx     $5, $6($7)           # encoding: [0x7c,0xe6,0x29,0x0a]
95   .set dsp
96   lbux    $7, $10($11)
97   lhx     $5, $6($7)
98
99# CHECK:   .set dspr2
100# CHECK:   append   $7, $10, 2          # encoding: [0x7d,0x47,0x10,0x31]
101# CHECK:   balign   $5, $6, 3           # encoding: [0x7c,0xc5,0x1c,0x31]
102   .set dspr2
103   append   $7, $10, 2
104   balign   $5, $6, 3
105