52 lines · plain
1// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+fp16fml,+neon < %s 2>&1 | FileCheck %s --check-prefix=CHECK2 3//------------------------------------------------------------------------------4// ARMV8.2-A Floating Point Multiplication5//------------------------------------------------------------------------------6 7fmlal V0.2s, v1.2h, v2.h[8]8fmlsl V0.2s, v1.2h, v2.h[8]9fmlal V0.4s, v1.4h, v2.h[8]10fmlsl V0.4s, v1.4h, v2.h[8]11 12fmlal2 V0.2s, v1.2h, v2.h[8]13fmlsl2 V0.2s, v1.2h, v2.h[8]14fmlal2 V0.4s, v1.4h, v2.h[8]15fmlsl2 V0.4s, v1.4h, v2.h[8]16 17fmlal V0.2s, v1.2h, v2.h[-1]18fmlsl2 V0.2s, v1.2h, v2.h[-1]19 20//CHECK: error: vector lane must be an integer in range [0, 7].21//CHECK-NEXT: fmlal V0.2s, v1.2h, v2.h[8]22//CHECK-NEXT: ^23//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].24//CHECK-NEXT: fmlsl V0.2s, v1.2h, v2.h[8]25//CHECK-NEXT: ^26//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].27//CHECK-NEXT: fmlal V0.4s, v1.4h, v2.h[8]28//CHECK-NEXT: ^29//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].30//CHECK-NEXT: fmlsl V0.4s, v1.4h, v2.h[8]31//CHECK-NEXT: ^32 33//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].34//CHECK-NEXT: fmlal2 V0.2s, v1.2h, v2.h[8]35//CHECK-NEXT: ^36//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].37//CHECK-NEXT: fmlsl2 V0.2s, v1.2h, v2.h[8]38//CHECK-NEXT: ^39//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].40//CHECK-NEXT: fmlal2 V0.4s, v1.4h, v2.h[8]41//CHECK-NEXT: ^42//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].43//CHECK-NEXT: fmlsl2 V0.4s, v1.4h, v2.h[8]44//CHECK-NEXT: ^45 46//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].47//CHECK-NEXT: fmlal V0.2s, v1.2h, v2.h[-1]48//CHECK-NEXT: ^49//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].50//CHECK-NEXT: fmlsl2 V0.2s, v1.2h, v2.h[-1]51//CHECK-NEXT: ^52