-# RUN: llvm-mc -triple mips-unknown-unknown %s
-#this test produces no output so there isS no FileCheck call
+# RUN: llvm-mc -show-encoding -mcpu=mips32 -triple mips-unknown-unknown %s | FileCheck %s
+#
+# CHECK: .text
+# CHECK: $BB0_2:
+# CHECK: .abicalls
$BB0_2:
.ent directives_test
- .frame $sp,0,$ra
- .mask 0x00000000,0
- .fmask 0x00000000,0
- .set noreorder
- .set nomacro
- .set noat
+ .abicalls
+ .frame $sp,0,$ra
+ .mask 0x00000000,0
+ .fmask 0x00000000,0
+
+# CHECK: .set noreorder
+# CHECK: b 1332 # encoding: [0x10,0x00,0x01,0x4d]
+# CHECK-NOT: nop
+# CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
+# CHECK-NOT: nop
+# CHECK: jal 1328 # encoding: [0x0c,0x00,0x01,0x4c]
+# CHECK-NOT: nop
+
+ .set noreorder
+ b 1332
+ j 1328
+ jal 1328
+ .set nomacro
+ .set noat
$JTI0_0:
- .gpword ($BB0_2)
- .set at=$12
- .set macro
- .set reorder
- .end directives_test
+ .gpword ($BB0_2)
+
+ .word 0x77fffffc
+# CHECK: $JTI0_0:
+# CHECK: .gpword ($BB0_2)
+# CHECK: .4byte 2013265916
+ .set at=$12
+ .set macro
+# CHECK: .set reorder
+# CHECK: b 1332 # encoding: [0x10,0x00,0x01,0x4d]
+# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
+# CHECK: j 1328 # encoding: [0x08,0x00,0x01,0x4c]
+# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
+# CHECK: jal 1328 # encoding: [0x0c,0x00,0x01,0x4c]
+# CHECK: nop # encoding: [0x00,0x00,0x00,0x00]
+ .set reorder
+$BB0_4:
+ b 1332
+ j 1328
+ jal 1328
+ .set at=$a0
+ .set STORE_MASK,$t7
+ .set FPU_MASK,$f7
+ .set $tmp7, $BB0_4-$BB0_2
+ .set f6,$f6
+# CHECK: abs.s $f6, $f7 # encoding: [0x46,0x00,0x39,0x85]
+# CHECK: lui $1, %hi($tmp7) # encoding: [0x3c,0x01,A,A]
+# CHECK: # fixup A - offset: 0, value: ($tmp7)@ABS_HI, kind: fixup_Mips_HI16
+ abs.s f6,FPU_MASK
+ lui $1, %hi($tmp7)
+
+# CHECK: .set mips32r2
+# CHECK: ldxc1 $f0, $zero($5) # encoding: [0x4c,0xa0,0x00,0x01]
+# CHECK: luxc1 $f0, $6($5) # encoding: [0x4c,0xa6,0x00,0x05]
+# CHECK: lwxc1 $f6, $2($5) # encoding: [0x4c,0xa2,0x01,0x80]
+ .set mips32r2
+ ldxc1 $f0, $zero($5)
+ luxc1 $f0, $6($5)
+ lwxc1 $f6, $2($5)
+
+# CHECK: .set mips64
+# CHECK: dadd $3, $3, $3
+ .set mips64
+ dadd $3, $3, $3 # encoding: [0x00,0x62,0x18,0x2c]
+
+# CHECK: .set mips64r2
+# CHECK: drotr $9, $6, 30 # encoding: [0x00,0x26,0x4f,0xba]
+ .set mips64r2
+ drotr $9, $6, 30
+
+# CHECK: .set dsp
+# CHECK: lbux $7, $10($11) # encoding: [0x7d,0x6a,0x39,0x8a]
+# CHECK: lhx $5, $6($7) # encoding: [0x7c,0xe6,0x29,0x0a]
+ .set dsp
+ lbux $7, $10($11)
+ lhx $5, $6($7)