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
21    .set    noreorder
22     b 1332
23     j 1328
24     jal 1328
25    .set    nomacro
26    .set    noat
27$JTI0_0:
28    .gpword    ($BB0_2)
29
30    .word 0x77fffffc
31# CHECK: $JTI0_0:
32# CHECK: .gpword ($BB0_2)
33# CHECK:     .4byte    2013265916
34    .set  at=$12
35    .set macro
36# CHECK:   .set reorder
37# CHECK:   b 1332               # encoding: [0x10,0x00,0x01,0x4d]
38# CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
39# CHECK:   j 1328               # encoding: [0x08,0x00,0x01,0x4c]
40# CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
41# CHECK:   jal 1328             # encoding: [0x0c,0x00,0x01,0x4c]
42# CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
43    .set reorder
44$BB0_4:
45    b 1332
46    j 1328
47    jal 1328
48    .set  at=$a0
49    .set STORE_MASK,$t7
50    .set FPU_MASK,$f7
51    .set  $tmp7, $BB0_4-$BB0_2
52    .set f6,$f6
53# CHECK:    abs.s   $f6, $f7           # encoding: [0x46,0x00,0x39,0x85]
54# CHECK:    lui     $1, %hi($tmp7)     # encoding: [0x3c,0x01,A,A]
55# CHECK:                               #   fixup A - offset: 0, value: ($tmp7)@ABS_HI, kind: fixup_Mips_HI16
56    abs.s  f6,FPU_MASK
57    lui $1, %hi($tmp7)
58
59# CHECK:    .set mips32r2
60# CHECK:    ldxc1   $f0, $zero($5)     # encoding: [0x4c,0xa0,0x00,0x01]
61# CHECK:    luxc1   $f0, $6($5)        # encoding: [0x4c,0xa6,0x00,0x05]
62# CHECK:    lwxc1   $f6, $2($5)        # encoding: [0x4c,0xa2,0x01,0x80]
63     .set mips32r2
64    ldxc1   $f0, $zero($5)
65    luxc1   $f0, $6($5)
66    lwxc1   $f6, $2($5)
67
68# CHECK: .set mips64
69# CHECK: dadd $3, $3, $3
70    .set mips64
71    dadd   $3, $3, $3                  # encoding: [0x00,0x62,0x18,0x2c]
72
73# CHECK: .set mips64r2
74# CHECK: drotr $9, $6, 30              # encoding: [0x00,0x26,0x4f,0xba]
75    .set mips64r2
76    drotr   $9, $6, 30
77
78# CHECK:   .set dsp
79# CHECK:   lbux    $7, $10($11)         # encoding: [0x7d,0x6a,0x39,0x8a]
80# CHECK:   lhx     $5, $6($7)           # encoding: [0x7c,0xe6,0x29,0x0a]
81   .set dsp
82   lbux    $7, $10($11)
83   lhx     $5, $6($7)
84