Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[AArch64][SVE] Asm: Support for contiguous, non-faulting LDNF1 (scala…
…r+imm) load instructions Reviewers: fhahn, rengolin, javed.absar, huntergr, SjoerdMeijer, t.p.northover, echristo, evandro Reviewed By: rengolin Subscribers: tschuett, kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D45684 llvm-svn: 330583
- Loading branch information
1 parent
91f4816
commit 7893f72
Showing
16 changed files
with
933 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve 2>&1 < %s| FileCheck %s | ||
|
||
// --------------------------------------------------------------------------// | ||
// Immediate out of lower bound [-8, 7]. | ||
|
||
ldnf1b z23.b, p0/z, [x13, #-9, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1b z23.b, p0/z, [x13, #-9, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1b z29.b, p0/z, [x3, #8, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1b z29.b, p0/z, [x3, #8, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1b z21.h, p4/z, [x17, #-9, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1b z21.h, p4/z, [x17, #-9, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1b z10.h, p5/z, [x16, #8, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1b z10.h, p5/z, [x16, #8, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1b z30.s, p6/z, [x25, #-9, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1b z30.s, p6/z, [x25, #-9, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1b z29.s, p5/z, [x15, #8, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1b z29.s, p5/z, [x15, #8, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1b z28.d, p2/z, [x28, #-9, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1b z28.d, p2/z, [x28, #-9, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1b z27.d, p1/z, [x26, #8, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1b z27.d, p1/z, [x26, #8, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
|
||
// --------------------------------------------------------------------------// | ||
// restricted predicate has range [0, 7]. | ||
|
||
ldnf1b z27.b, p8/z, [x29, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: restricted predicate has range [0, 7]. | ||
// CHECK-NEXT: ldnf1b z27.b, p8/z, [x29, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1b z9.h, p8/z, [x25, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: restricted predicate has range [0, 7]. | ||
// CHECK-NEXT: ldnf1b z9.h, p8/z, [x25, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1b z12.s, p8/z, [x13, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: restricted predicate has range [0, 7]. | ||
// CHECK-NEXT: ldnf1b z12.s, p8/z, [x13, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1b z4.d, p8/z, [x11, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: restricted predicate has range [0, 7]. | ||
// CHECK-NEXT: ldnf1b z4.d, p8/z, [x11, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
|
||
// --------------------------------------------------------------------------// | ||
// Invalid vector list. | ||
|
||
ldnf1b { }, p0/z, [x1, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector register expected | ||
// CHECK-NEXT: ldnf1b { }, p0/z, [x1, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1b { z1.b, z2.b }, p0/z, [x1, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand | ||
// CHECK-NEXT: ldnf1b { z1.b, z2.b }, p0/z, [x1, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1b { v0.2d }, p0/z, [x1, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand | ||
// CHECK-NEXT: ldnf1b { v0.2d }, p0/z, [x1, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \ | ||
// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST | ||
// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ | ||
// RUN: | FileCheck %s --check-prefix=CHECK-ERROR | ||
// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \ | ||
// RUN: | llvm-objdump -d -mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST | ||
// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \ | ||
// RUN: | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN | ||
|
||
ldnf1b z0.b, p0/z, [x0] | ||
// CHECK-INST: ldnf1b { z0.b }, p0/z, [x0] | ||
// CHECK-ENCODING: [0x00,0xa0,0x10,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: 00 a0 10 a4 <unknown> | ||
|
||
ldnf1b z0.h, p0/z, [x0] | ||
// CHECK-INST: ldnf1b { z0.h }, p0/z, [x0] | ||
// CHECK-ENCODING: [0x00,0xa0,0x30,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: 00 a0 30 a4 <unknown> | ||
|
||
ldnf1b z0.s, p0/z, [x0] | ||
// CHECK-INST: ldnf1b { z0.s }, p0/z, [x0] | ||
// CHECK-ENCODING: [0x00,0xa0,0x50,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: 00 a0 50 a4 <unknown> | ||
|
||
ldnf1b z0.d, p0/z, [x0] | ||
// CHECK-INST: ldnf1b { z0.d }, p0/z, [x0] | ||
// CHECK-ENCODING: [0x00,0xa0,0x70,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: 00 a0 70 a4 <unknown> | ||
|
||
ldnf1b { z0.b }, p0/z, [x0] | ||
// CHECK-INST: ldnf1b { z0.b }, p0/z, [x0] | ||
// CHECK-ENCODING: [0x00,0xa0,0x10,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: 00 a0 10 a4 <unknown> | ||
|
||
ldnf1b { z0.h }, p0/z, [x0] | ||
// CHECK-INST: ldnf1b { z0.h }, p0/z, [x0] | ||
// CHECK-ENCODING: [0x00,0xa0,0x30,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: 00 a0 30 a4 <unknown> | ||
|
||
ldnf1b { z0.s }, p0/z, [x0] | ||
// CHECK-INST: ldnf1b { z0.s }, p0/z, [x0] | ||
// CHECK-ENCODING: [0x00,0xa0,0x50,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: 00 a0 50 a4 <unknown> | ||
|
||
ldnf1b { z0.d }, p0/z, [x0] | ||
// CHECK-INST: ldnf1b { z0.d }, p0/z, [x0] | ||
// CHECK-ENCODING: [0x00,0xa0,0x70,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: 00 a0 70 a4 <unknown> | ||
|
||
ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl] | ||
// CHECK-INST: ldnf1b { z31.b }, p7/z, [sp, #-1, mul vl] | ||
// CHECK-ENCODING: [0xff,0xbf,0x1f,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: ff bf 1f a4 <unknown> | ||
|
||
ldnf1b { z21.b }, p5/z, [x10, #5, mul vl] | ||
// CHECK-INST: ldnf1b { z21.b }, p5/z, [x10, #5, mul vl] | ||
// CHECK-ENCODING: [0x55,0xb5,0x15,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: 55 b5 15 a4 <unknown> | ||
|
||
ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl] | ||
// CHECK-INST: ldnf1b { z31.h }, p7/z, [sp, #-1, mul vl] | ||
// CHECK-ENCODING: [0xff,0xbf,0x3f,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: ff bf 3f a4 <unknown> | ||
|
||
ldnf1b { z21.h }, p5/z, [x10, #5, mul vl] | ||
// CHECK-INST: ldnf1b { z21.h }, p5/z, [x10, #5, mul vl] | ||
// CHECK-ENCODING: [0x55,0xb5,0x35,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: 55 b5 35 a4 <unknown> | ||
|
||
ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl] | ||
// CHECK-INST: ldnf1b { z31.s }, p7/z, [sp, #-1, mul vl] | ||
// CHECK-ENCODING: [0xff,0xbf,0x5f,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: ff bf 5f a4 <unknown> | ||
|
||
ldnf1b { z21.s }, p5/z, [x10, #5, mul vl] | ||
// CHECK-INST: ldnf1b { z21.s }, p5/z, [x10, #5, mul vl] | ||
// CHECK-ENCODING: [0x55,0xb5,0x55,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: 55 b5 55 a4 <unknown> | ||
|
||
ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl] | ||
// CHECK-INST: ldnf1b { z31.d }, p7/z, [sp, #-1, mul vl] | ||
// CHECK-ENCODING: [0xff,0xbf,0x7f,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: ff bf 7f a4 <unknown> | ||
|
||
ldnf1b { z21.d }, p5/z, [x10, #5, mul vl] | ||
// CHECK-INST: ldnf1b { z21.d }, p5/z, [x10, #5, mul vl] | ||
// CHECK-ENCODING: [0x55,0xb5,0x75,0xa4] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: 55 b5 75 a4 <unknown> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve 2>&1 < %s| FileCheck %s | ||
|
||
// --------------------------------------------------------------------------// | ||
// Immediate out of lower bound [-8, 7]. | ||
|
||
ldnf1d z28.d, p2/z, [x28, #-9, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1d z28.d, p2/z, [x28, #-9, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1d z27.d, p1/z, [x26, #8, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1d z27.d, p1/z, [x26, #8, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
|
||
// --------------------------------------------------------------------------// | ||
// restricted predicate has range [0, 7]. | ||
|
||
ldnf1d z4.d, p8/z, [x11, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: restricted predicate has range [0, 7]. | ||
// CHECK-NEXT: ldnf1d z4.d, p8/z, [x11, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
|
||
// --------------------------------------------------------------------------// | ||
// Invalid vector list. | ||
|
||
ldnf1d { }, p0/z, [x1, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector register expected | ||
// CHECK-NEXT: ldnf1d { }, p0/z, [x1, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1d { z1.d, z2.d }, p0/z, [x1, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand | ||
// CHECK-NEXT: ldnf1d { z1.d, z2.d }, p0/z, [x1, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1d { v0.2d }, p0/z, [x1, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand | ||
// CHECK-NEXT: ldnf1d { v0.2d }, p0/z, [x1, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \ | ||
// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST | ||
// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ | ||
// RUN: | FileCheck %s --check-prefix=CHECK-ERROR | ||
// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \ | ||
// RUN: | llvm-objdump -d -mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST | ||
// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \ | ||
// RUN: | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN | ||
|
||
ldnf1d z0.d, p0/z, [x0] | ||
// CHECK-INST: ldnf1d { z0.d }, p0/z, [x0] | ||
// CHECK-ENCODING: [0x00,0xa0,0xf0,0xa5] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: 00 a0 f0 a5 <unknown> | ||
|
||
ldnf1d { z0.d }, p0/z, [x0] | ||
// CHECK-INST: ldnf1d { z0.d }, p0/z, [x0] | ||
// CHECK-ENCODING: [0x00,0xa0,0xf0,0xa5] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: 00 a0 f0 a5 <unknown> | ||
|
||
ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl] | ||
// CHECK-INST: ldnf1d { z31.d }, p7/z, [sp, #-1, mul vl] | ||
// CHECK-ENCODING: [0xff,0xbf,0xff,0xa5] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: ff bf ff a5 <unknown> | ||
|
||
ldnf1d { z21.d }, p5/z, [x10, #5, mul vl] | ||
// CHECK-INST: ldnf1d { z21.d }, p5/z, [x10, #5, mul vl] | ||
// CHECK-ENCODING: [0x55,0xb5,0xf5,0xa5] | ||
// CHECK-ERROR: instruction requires: sve | ||
// CHECK-UNKNOWN: 55 b5 f5 a5 <unknown> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sve 2>&1 < %s| FileCheck %s | ||
|
||
// --------------------------------------------------------------------------// | ||
// Immediate out of lower bound [-8, 7]. | ||
|
||
ldnf1h z21.h, p4/z, [x17, #-9, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1h z21.h, p4/z, [x17, #-9, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1h z10.h, p5/z, [x16, #8, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1h z10.h, p5/z, [x16, #8, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1h z30.s, p6/z, [x25, #-9, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1h z30.s, p6/z, [x25, #-9, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1h z29.s, p5/z, [x15, #8, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1h z29.s, p5/z, [x15, #8, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1h z28.d, p2/z, [x28, #-9, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1h z28.d, p2/z, [x28, #-9, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1h z27.d, p1/z, [x26, #8, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: index must be an integer in range [-8, 7]. | ||
// CHECK-NEXT: ldnf1h z27.d, p1/z, [x26, #8, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
|
||
// --------------------------------------------------------------------------// | ||
// restricted predicate has range [0, 7]. | ||
|
||
ldnf1h z9.h, p8/z, [x25, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: restricted predicate has range [0, 7]. | ||
// CHECK-NEXT: ldnf1h z9.h, p8/z, [x25, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1h z12.s, p8/z, [x13, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: restricted predicate has range [0, 7]. | ||
// CHECK-NEXT: ldnf1h z12.s, p8/z, [x13, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1h z4.d, p8/z, [x11, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: restricted predicate has range [0, 7]. | ||
// CHECK-NEXT: ldnf1h z4.d, p8/z, [x11, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
|
||
// --------------------------------------------------------------------------// | ||
// Invalid vector list. | ||
|
||
ldnf1h { }, p0/z, [x1, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: vector register expected | ||
// CHECK-NEXT: ldnf1h { }, p0/z, [x1, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1h { z1.h, z2.h }, p0/z, [x1, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand | ||
// CHECK-NEXT: ldnf1h { z1.h, z2.h }, p0/z, [x1, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: | ||
|
||
ldnf1h { v0.2d }, p0/z, [x1, #1, MUL VL] | ||
// CHECK: [[@LINE-1]]:{{[0-9]+}}: error: invalid operand | ||
// CHECK-NEXT: ldnf1h { v0.2d }, p0/z, [x1, #1, MUL VL] | ||
// CHECK-NOT: [[@LINE-1]]:{{[0-9]+}}: |
Oops, something went wrong.