Home | History | Annotate | Download | only in AArch64
      1 // RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon < %s 2> %t
      2 // RUN: FileCheck < %t %s
      3 
      4   fmla v0.4h, v1.4h, v16.h[3]
      5   fmla v2.8h, v3.8h, v17.h[6]
      6 
      7 // CHECK:      error: invalid operand for instruction
      8 // CHECK-NEXT: fmla v0.4h, v1.4h, v16.h[3]
      9 // CHECK-NEXT:                    ^
     10 // CHECK:      error: invalid operand for instruction
     11 // CHECK-NEXT: fmla v2.8h, v3.8h, v17.h[6]
     12 // CHECK-NEXT:                    ^
     13 
     14   fmls v0.4h, v1.4h, v16.h[3]
     15   fmls v2.8h, v3.8h, v17.h[6]
     16 
     17 // CHECK:      error: invalid operand for instruction
     18 // CHECK-NEXT: fmls v0.4h, v1.4h, v16.h[3]
     19 // CHECK-NEXT:                    ^
     20 // CHECK:      error: invalid operand for instruction
     21 // CHECK-NEXT: fmls v2.8h, v3.8h, v17.h[6]
     22 // CHECK-NEXT:                    ^
     23 
     24   fmul v0.4h, v1.4h, v16.h[3]
     25   fmul v2.8h, v3.8h, v17.h[6]
     26 
     27 // CHECK:      error: invalid operand for instruction
     28 // CHECK-NEXT: fmul v0.4h, v1.4h, v16.h[3]
     29 // CHECK-NEXT:                    ^
     30 // CHECK:      error: invalid operand for instruction
     31 // CHECK-NEXT: fmul v2.8h, v3.8h, v17.h[6]
     32 // CHECK-NEXT:                    ^
     33 
     34   fmulx v0.4h, v1.4h, v16.h[3]
     35   fmulx v2.8h, v3.8h, v17.h[6]
     36 
     37 // CHECK:      error: invalid operand for instruction
     38 // CHECK-NEXT: fmulx v0.4h, v1.4h, v16.h[3]
     39 // CHECK-NEXT:                     ^
     40 // CHECK:      error: invalid operand for instruction
     41 // CHECK-NEXT: fmulx v2.8h, v3.8h, v17.h[6]
     42 // CHECK-NEXT:                     ^
     43 
     44   fmla h0, h1, v16.h[3]
     45   fmla h2, h3, v17.h[6]
     46 
     47 // CHECK:      error: invalid operand for instruction
     48 // CHECK-NEXT: fmla h0, h1, v16.h[3]
     49 // CHECK-NEXT:              ^
     50 // CHECK:      error: invalid operand for instruction
     51 // CHECK-NEXT: fmla h2, h3, v17.h[6]
     52 // CHECK-NEXT:              ^
     53 
     54   fmls h0, h1, v16.h[3]
     55   fmls h2, h3, v17.h[6]
     56 
     57 // CHECK:      error: invalid operand for instruction
     58 // CHECK-NEXT: fmls h0, h1, v16.h[3]
     59 // CHECK-NEXT:              ^
     60 // CHECK:      error: invalid operand for instruction
     61 // CHECK-NEXT: fmls h2, h3, v17.h[6]
     62 // CHECK-NEXT:              ^
     63 
     64   fmul h0, h1, v16.h[3]
     65   fmul h2, h3, v17.h[6]
     66 
     67 // CHECK:      error: invalid operand for instruction
     68 // CHECK-NEXT: fmul h0, h1, v16.h[3]
     69 // CHECK-NEXT:              ^
     70 // CHECK:      error: invalid operand for instruction
     71 // CHECK-NEXT: fmul h2, h3, v17.h[6]
     72 // CHECK-NEXT:              ^
     73 
     74   fmulx h0, h1, v16.h[3]
     75   fmulx h2, h3, v17.h[6]
     76 
     77 // CHECK:      error: invalid operand for instruction
     78 // CHECK-NEXT: fmulx h0, h1, v16.h[3]
     79 // CHECK-NEXT:               ^
     80 // CHECK:      error: invalid operand for instruction
     81 // CHECK-NEXT: fmulx h2, h3, v17.h[6]
     82 // CHECK-NEXT:               ^
     83