Home | History | Annotate | Download | only in ARM
      1 # RUN: not llvm-mc -triple thumbv8 -mattr=+v8.1a --disassemble < %s 2>&1 | FileCheck %s
      2 
      3 # Check, if sizes 00 and 11 are undefined for RDMA
      4 [0x01,0xff,0x12,0x0b] # vqrdmlah.s8   d0, d1, d2
      5 [0x31,0xff,0x12,0x0b] # vqrdmlah.s64  d0, d1, d2
      6 [0x02,0xff,0x54,0x0b] # vqrdmlah.s8   q0, q1, q2
      7 [0x06,0xff,0x50,0x4b] # vqrdmlah.s64  q2, q3, q0
      8 
      9 [0x01,0xff,0x12,0x0c] # vqrdmlsh.s8   d0, d1, d2
     10 [0x31,0xff,0x12,0x0c] # vqrdmlsh.s64  d0, d1, d2
     11 [0x02,0xff,0x54,0x0c] # vqrdmlsh.s8   q0, q1, q2
     12 [0x32,0xff,0x54,0x0c] # vqrdmlsh.s64  q0, q1, q2
     13 
     14 # CHECK:      warning: invalid instruction encoding
     15 # CHECK-NEXT: [0x01,0xff,0x12,0x0b] # vqrdmlah.s8   d0, d1, d2
     16 # CHECK-NEXT:  ^
     17 # CHECK:      warning: invalid instruction encoding
     18 # CHECK-NEXT: [0x31,0xff,0x12,0x0b] # vqrdmlah.s64  d0, d1, d2
     19 # CHECK-NEXT:  ^
     20 # CHECK:      warning: invalid instruction encoding
     21 # CHECK-NEXT: [0x02,0xff,0x54,0x0b] # vqrdmlah.s8   q0, q1, q2
     22 # CHECK-NEXT:  ^
     23 # CHECK:      warning: invalid instruction encoding
     24 # CHECK-NEXT: [0x06,0xff,0x50,0x4b] # vqrdmlah.s64  q2, q3, q0
     25 # CHECK-NEXT:  ^
     26 # CHECK:      warning: invalid instruction encoding
     27 # CHECK-NEXT: [0x01,0xff,0x12,0x0c] # vqrdmlsh.s8   d0, d1, d2
     28 # CHECK-NEXT:  ^
     29 # CHECK:      warning: invalid instruction encoding
     30 # CHECK-NEXT: [0x31,0xff,0x12,0x0c] # vqrdmlsh.s64  d0, d1, d2
     31 # CHECK-NEXT:  ^
     32 # CHECK:      warning: invalid instruction encoding
     33 # CHECK-NEXT: [0x02,0xff,0x54,0x0c] # vqrdmlsh.s8   q0, q1, q2
     34 # CHECK-NEXT:  ^
     35 # CHECK:      warning: invalid instruction encoding
     36 # CHECK-NEXT: [0x32,0xff,0x54,0x0c] # vqrdmlsh.s64  q0, q1, q2
     37 # CHECK-NEXT:  ^
     38 
     39 [0x81,0xef,0x42,0x0e] # vqrdmlah.s8   d0, d1, d2[0]
     40 [0xb1,0xef,0x42,0x0e] # vqrdmlah.s64  d0, d1, d2[0]
     41 [0x82,0xff,0x42,0x0e] # vqrdmlah.s8   q0, q1, d2[0]
     42 [0xb2,0xff,0x42,0x0e] # vqrdmlah.s64  q0, q1, d2[0]
     43 
     44 [0x81,0xef,0x42,0x0f] # vqrdmlsh.s8   d0, d1, d2[0]
     45 [0xb1,0xef,0x42,0x0f] # vqrdmlsh.s64  d0, d1, d2[0]
     46 [0x82,0xff,0x42,0x0f] # vqrdmlsh.s8   q0, q1, d2[0]
     47 [0xb2,0xff,0x42,0x0f] # vqrdmlsh.s64  q0, q1, d2[0]
     48 
     49 # CHECK:      warning: invalid instruction encoding
     50 # CHECK-NEXT: [0x81,0xef,0x42,0x0e] # vqrdmlah.s8   d0, d1, d2[0]
     51 # CHECK-NEXT:  ^
     52 # CHECK:      warning: invalid instruction encoding
     53 # CHECK-NEXT: [0xb1,0xef,0x42,0x0e] # vqrdmlah.s64  d0, d1, d2[0]
     54 # CHECK-NEXT:  ^
     55 # CHECK:      warning: invalid instruction encoding
     56 # CHECK-NEXT: [0x82,0xff,0x42,0x0e] # vqrdmlah.s8   q0, q1, d2[0]
     57 # CHECK-NEXT:  ^
     58 # CHECK:      warning: invalid instruction encoding
     59 # CHECK-NEXT: [0xb2,0xff,0x42,0x0e] # vqrdmlah.s64  q0, q1, d2[0]
     60 # CHECK-NEXT:  ^
     61 # CHECK:      warning: invalid instruction encoding
     62 # CHECK-NEXT: [0x81,0xef,0x42,0x0f] # vqrdmlsh.s8   d0, d1, d2[0]
     63 # CHECK-NEXT:  ^
     64 # CHECK:      warning: invalid instruction encoding
     65 # CHECK-NEXT: [0xb1,0xef,0x42,0x0f] # vqrdmlsh.s64  d0, d1, d2[0]
     66 # CHECK-NEXT:  ^
     67 # CHECK:      warning: invalid instruction encoding
     68 # CHECK-NEXT: [0x82,0xff,0x42,0x0f] # vqrdmlsh.s8   q0, q1, d2[0]
     69 # CHECK-NEXT:  ^
     70 # CHECK:      warning: invalid instruction encoding
     71 # CHECK-NEXT: [0xb2,0xff,0x42,0x0f] # vqrdmlsh.s64  q0, q1, d2[0]
     72 # CHECK-NEXT:  ^
     73