[mips][ias] Removed MSA instructions from base architecture valid-xfail.s's.
[oota-llvm.git] / test / MC / Mips / mips-jump-instructions.s
index 849eae93250f0e4a251346d609a0ea58bb7d6be9..596c8a2f763360dfa2c15298cc2d0be1d90c7527 100644 (file)
@@ -1,30 +1,65 @@
-# RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding -mcpu=mips32r2 | FileCheck %s
+# RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding -mcpu=mips32r2 | \
+# RUN: FileCheck -check-prefix=CHECK32  %s
+# RUN: llvm-mc %s -triple=mips64el-unknown-linux -show-encoding -mcpu=mips64r2 | \
+# RUN: FileCheck -check-prefix=CHECK64  %s
+
 # Check that the assembler can handle the documented syntax
 # for jumps and branches.
-# CHECK: .section __TEXT,__text,regular,pure_instructions
 #------------------------------------------------------------------------------
 # Branch instructions
 #------------------------------------------------------------------------------
-# CHECK:   b 1332                 # encoding: [0x4d,0x01,0x00,0x10]
-# CHECK:   nop                    # encoding: [0x00,0x00,0x00,0x00]
-# CHECK:   bc1f 1332              # encoding: [0x4d,0x01,0x00,0x45]
-# CHECK:   nop                    # encoding: [0x00,0x00,0x00,0x00]
-# CHECK:   bc1t 1332              # encoding: [0x4d,0x01,0x01,0x45]
-# CHECK:   nop                    # encoding: [0x00,0x00,0x00,0x00]
-# CHECK:   beq $9, $6, 1332       # encoding: [0x4d,0x01,0x26,0x11]
-# CHECK:   nop                    # encoding: [0x00,0x00,0x00,0x00]
-# CHECK:   bgez $6, 1332          # encoding: [0x4d,0x01,0xc1,0x04]
-# CHECK:   nop                    # encoding: [0x00,0x00,0x00,0x00]
-# CHECK:   bgezal $6, 1332        # encoding: [0x4d,0x01,0xd1,0x04]
-# CHECK:   nop                    # encoding: [0x00,0x00,0x00,0x00]
-# CHECK:   bgtz $6, 1332          # encoding: [0x4d,0x01,0xc0,0x1c]
-# CHECK:   nop                    # encoding: [0x00,0x00,0x00,0x00]
-# CHECK:   blez $6, 1332          # encoding: [0x4d,0x01,0xc0,0x18]
-# CHECK:   nop                    # encoding: [0x00,0x00,0x00,0x00]
-# CHECK:   bne $9, $6, 1332       # encoding: [0x4d,0x01,0x26,0x15]
-# CHECK:   nop                    # encoding: [0x00,0x00,0x00,0x00]
-# CHECK:   bal     1332           # encoding: [0x4d,0x01,0x11,0x04]
-# CHECK:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   b 1332                 # encoding: [0x4d,0x01,0x00,0x10]
+# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   bc1f 1332              # encoding: [0x4d,0x01,0x00,0x45]
+# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   bc1t 1332              # encoding: [0x4d,0x01,0x01,0x45]
+# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   beq $9, $6, 1332       # encoding: [0x4d,0x01,0x26,0x11]
+# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   bgez $6, 1332          # encoding: [0x4d,0x01,0xc1,0x04]
+# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   bgezal $6, 1332        # encoding: [0x4d,0x01,0xd1,0x04]
+# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   bgtz $6, 1332          # encoding: [0x4d,0x01,0xc0,0x1c]
+# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   blez $6, 1332          # encoding: [0x4d,0x01,0xc0,0x18]
+# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   bne $9, $6, 1332       # encoding: [0x4d,0x01,0x26,0x15]
+# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   bal  1332              # encoding: [0x4d,0x01,0x11,0x04]
+# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   bnez $11, 1332         # encoding: [0x4d,0x01,0x60,0x15]
+# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   beqz $11, 1332         # encoding: [0x4d,0x01,0x60,0x11]
+# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+
+# CHECK64:   b 1332                 # encoding: [0x4d,0x01,0x00,0x10]
+# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   bc1f 1332              # encoding: [0x4d,0x01,0x00,0x45]
+# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   bc1t 1332              # encoding: [0x4d,0x01,0x01,0x45]
+# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   beq $9, $6, 1332       # encoding: [0x4d,0x01,0x26,0x11]
+# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   bgez $6, 1332          # encoding: [0x4d,0x01,0xc1,0x04]
+# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   bgezal $6, 1332        # encoding: [0x4d,0x01,0xd1,0x04]
+# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   bgtz $6, 1332          # encoding: [0x4d,0x01,0xc0,0x1c]
+# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   blez $6, 1332          # encoding: [0x4d,0x01,0xc0,0x18]
+# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   bne $9, $6, 1332       # encoding: [0x4d,0x01,0x26,0x15]
+# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   bal     1332           # encoding: [0x4d,0x01,0x11,0x04]
+# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   bnez $11, 1332         # encoding: [0x4d,0x01,0x60,0x15]
+# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   beqz $11, 1332         # encoding: [0x4d,0x01,0x60,0x11]
+# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
+
+.set noreorder
+
          b 1332
          nop
          bc1f 1332
          nop
          bal 1332
          nop
+         bnez $11,1332
+         nop
+         beqz $11,1332
+         nop
 
 end_of_code:
 #------------------------------------------------------------------------------
 # Jump instructions
 #------------------------------------------------------------------------------
-# CHECK:   j 1328               # encoding: [0x4c,0x01,0x00,0x08]
-# CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
-# CHECK:   jal 1328             # encoding: [0x4c,0x01,0x00,0x0c]
-# CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
-# CHECK:   jalr $6              # encoding: [0x09,0xf8,0xc0,0x00]
-# CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
-# CHECK:   jalr $25             # encoding: [0x09,0xf8,0x20,0x03]
-# CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
-# CHECK:   jalr $10, $11        # encoding: [0x09,0x50,0x60,0x01]
-# CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
-# CHECK:   jr $7                # encoding: [0x08,0x00,0xe0,0x00]
-# CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
-# CHECK:   jr $7                # encoding: [0x08,0x00,0xe0,0x00]
+# CHECK32:   j 1328               # encoding: [0x4c,0x01,0x00,0x08]
+# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   jal 1328             # encoding: [0x4c,0x01,0x00,0x0c]
+# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   jalr $6              # encoding: [0x09,0xf8,0xc0,0x00]
+# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   jalr $25             # encoding: [0x09,0xf8,0x20,0x03]
+# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   jalr $10, $11        # encoding: [0x09,0x50,0x60,0x01]
+# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   jr $7                # encoding: [0x08,0x00,0xe0,0x00]
+# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:lab:
+# CHECK32:   jr $7                # encoding: [0x08,0x00,0xe0,0x00]
+# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   jalr  $25            # encoding: [0x09,0xf8,0x20,0x03]
+# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   jalr  $4, $25        # encoding: [0x09,0x20,0x20,0x03]
+# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK32:   jalx    lab          # encoding: [A,A,A,0b011101AA]
+# CHECK32:                        #   fixup A - offset: 0, value: lab, kind: fixup_Mips_26
+# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
+# CHECK64:   j 1328               # encoding: [0x4c,0x01,0x00,0x08]
+# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   jal 1328             # encoding: [0x4c,0x01,0x00,0x0c]
+# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   jalr $6              # encoding: [0x09,0xf8,0xc0,0x00]
+# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   jalr $25             # encoding: [0x09,0xf8,0x20,0x03]
+# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   jalr $10, $11        # encoding: [0x09,0x50,0x60,0x01]
+# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   jr $7                # encoding: [0x08,0x00,0xe0,0x00]
+# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:lab:
+# CHECK64:   jr $7                # encoding: [0x08,0x00,0xe0,0x00]
+# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   jalr  $25            # encoding: [0x09,0xf8,0x20,0x03]
+# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   jalr  $4, $25        # encoding: [0x09,0x20,0x20,0x03]
+# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
+# CHECK64:   jalx    lab          # encoding: [A,A,A,0b011101AA]
+# CHECK64:                        #   fixup A - offset: 0, value: lab, kind: fixup_Mips_26
+# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
    j 1328
    nop
@@ -77,4 +147,12 @@ end_of_code:
    nop
    jr $7
    nop
+lab:
    j $7
+   nop
+   jal  $25
+   nop
+   jal  $4,$25
+   nop
+   jalx lab
+   nop