[mips][microMIPS] MicroMIPS 16-bit unconditional branch instruction B
[oota-llvm.git] / test / MC / Mips / mips_directives.s
index e2f75a827d0a1ee8cd20cb902b15cfffba90b780..1a7d61f3ad4fb1581a30aa5c5a6408189b435da2 100644 (file)
@@ -1,16 +1,83 @@
-# 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)