[llvm-branch-commits] [clang] [llvm] [AArch64][llvm] Add support for FEAT_SME_F16F8F16 (PR #231435)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Tue Oct 13 07:50:35 PDT 2026


================
@@ -0,0 +1,49 @@
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f16f8f16 2>&1 < %s \
+// RUN:   | FileCheck %s
+
+// --------------------------------------------------------------------------//
+// Invalid ZA tile
+
+fmopab za2.h, { z0.h, z1.h }, z0.b, z20.b
+// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
+// CHECK-NEXT: fmopab za2.h, { z0.h, z1.h }, z0.b, z20.b
+// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
+
+fmopat za0.s, { z0.h, z1.h }, z0.b, z20.b
+// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid matrix operand, expected za[0-1].h
+// CHECK-NEXT: fmopat za0.s, { z0.h, z1.h }, z0.b, z20.b
+// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
+
+// --------------------------------------------------------------------------//
+// Invalid vector list
+
+fmopab za0.h, { z1.h, z2.h }, z0.b, z20.b
+// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: Invalid vector list, expected list with 2 consecutive SVE vectors, where the first vector is a multiple of 2 and with matching element types
+// CHECK-NEXT: fmopab za0.h, { z1.h, z2.h }, z0.b, z20.b
+// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
+
+fmopat za0.h, { z0.h, z2.h }, z0.b, z20.b
+// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
+// CHECK-NEXT: fmopat za0.h, { z0.h, z2.h }, z0.b, z20.b
+// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
+
+// --------------------------------------------------------------------------//
+// Invalid vector element width
+
+fmopab za0.h, { z0.h, z1.h }, z0.h, z20.b
+// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid element width
+// CHECK-NEXT: fmopab za0.h, { z0.h, z1.h }, z0.h, z20.b
+// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}:
+
+// --------------------------------------------------------------------------//
+// Invalid Zk register
----------------
Lukacma wrote:

It might be worth in these tests( for both instructions) to also test z27 to make sure that is also out of range.

https://github.com/llvm/llvm-project/pull/231435


More information about the llvm-branch-commits mailing list