diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/testsuite/gas/aarch64/sme2-29-invalid.d | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/sme2-29-invalid.l | 39 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/sme2-29-invalid.s | 14 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/sme2-29-noarch.d | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/sme2-29-noarch.l | 37 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/sme2-29.d | 45 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/sme2-29.s | 47 |
7 files changed, 188 insertions, 0 deletions
diff --git a/gas/testsuite/gas/aarch64/sme2-29-invalid.d b/gas/testsuite/gas/aarch64/sme2-29-invalid.d new file mode 100644 index 0000000..ad85e2d --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-29-invalid.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a +#source: sme2-29-invalid.s +#error_output: sme2-29-invalid.l diff --git a/gas/testsuite/gas/aarch64/sme2-29-invalid.l b/gas/testsuite/gas/aarch64/sme2-29-invalid.l new file mode 100644 index 0000000..893866c --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-29-invalid.l @@ -0,0 +1,39 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: expected '{' at operand 1 -- `sunpk 0,z0\.b' +[^ :]+:[0-9]+: Error: expected a register or register list at operand 2 -- `sunpk {z0\.h,z1\.h},0' +[^ :]+:[0-9]+: Error: missing braces at operand 1 -- `sunpk z0\.b,z0\.b' +[^ :]+:[0-9]+: Error: operand mismatch -- `sunpk {z0\.b,z1\.b},z0\.b' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: sunpk {z0\.h-z1\.h}, z0\.b +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: sunpk {z0\.s-z1\.s}, z0\.h +[^ :]+:[0-9]+: Info: sunpk {z0\.d-z1\.d}, z0\.s +[^ :]+:[0-9]+: Error: operand mismatch -- `sunpk {z0\.h,z1\.h},z0\.h' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: sunpk {z0\.h-z1\.h}, z0\.b +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: sunpk {z0\.s-z1\.s}, z0\.h +[^ :]+:[0-9]+: Info: sunpk {z0\.d-z1\.d}, z0\.s +[^ :]+:[0-9]+: Error: start register out of range at operand 1 -- `sunpk {z1\.h,z2\.h},z0\.b' +[^ :]+:[0-9]+: Error: operand mismatch -- `sunpk {z0\.b,z2\.b},z0\.b' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: sunpk {z0\.h, z2\.h}, z0\.b +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: sunpk {z0\.s, z2\.s}, z0\.h +[^ :]+:[0-9]+: Info: sunpk {z0\.d, z2\.d}, z0\.s +[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 1 -- `sunpk {z1\.h-z3\.h},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 1 -- `sunpk {z2\.h-z4\.h},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 1 -- `sunpk {z3\.h-z5\.h},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: operand mismatch -- `sunpk {z0\.s-z3\.s},z0\.b' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: sunpk {z0\.h-z3\.h}, z0\.b +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: sunpk {z0\.s-z3\.s}, z0\.h +[^ :]+:[0-9]+: Info: sunpk {z0\.d-z3\.d}, z0\.s +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 2 -- `sunpk {z0\.s-z3\.s},{x0\.s-x1\.s}' +[^ :]+:[0-9]+: Error: operand mismatch -- `sunpk {z0\.s-z3\.s},{z0\.s-z3\.s}' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: sunpk {z0\.s-z3\.s}, {z0\.h-z3\.h} +[^ :]+:[0-9]+: Info: other valid variant\(s\): +[^ :]+:[0-9]+: Info: sunpk {z0\.h-z3\.h}, {z0\.b-z3\.b} +[^ :]+:[0-9]+: Info: sunpk {z0\.d-z3\.d}, {z0\.s-z3\.s} diff --git a/gas/testsuite/gas/aarch64/sme2-29-invalid.s b/gas/testsuite/gas/aarch64/sme2-29-invalid.s new file mode 100644 index 0000000..2282dd2 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-29-invalid.s @@ -0,0 +1,14 @@ + sunpk 0, z0.b + sunpk { z0.h, z1.h }, 0 + + sunpk z0.b, z0.b + sunpk { z0.b, z1.b }, z0.b + sunpk { z0.h, z1.h }, z0.h + sunpk { z1.h, z2.h }, z0.b + sunpk { z0.b, z2.b }, z0.b + sunpk { z1.h - z3.h }, { z0.b - z1.b } + sunpk { z2.h - z4.h }, { z0.b - z1.b } + sunpk { z3.h - z5.h }, { z0.b - z1.b } + sunpk { z0.s - z3.s }, z0.b + sunpk { z0.s - z3.s }, { x0.s - x1.s } + sunpk { z0.s - z3.s }, { z0.s - z3.s } diff --git a/gas/testsuite/gas/aarch64/sme2-29-noarch.d b/gas/testsuite/gas/aarch64/sme2-29-noarch.d new file mode 100644 index 0000000..73c02c5 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-29-noarch.d @@ -0,0 +1,3 @@ +#as: -march=armv8-a+sme +#source: sme2-29.s +#error_output: sme2-29-noarch.l diff --git a/gas/testsuite/gas/aarch64/sme2-29-noarch.l b/gas/testsuite/gas/aarch64/sme2-29-noarch.l new file mode 100644 index 0000000..2777e16 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-29-noarch.l @@ -0,0 +1,37 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z0\.h,z1\.h},z0\.b' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z30\.h,z31\.h},z0\.b' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z0\.h,z1\.h},z31\.b' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z0\.h-z3\.h},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z28\.h-z31\.h},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z0\.h-z3\.h},{z30\.b-z31\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z0\.s,z1\.s},z0\.h' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z30\.s,z31\.s},z0\.h' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z0\.s,z1\.s},z31\.h' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z0\.s-z3\.s},{z0\.h-z1\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z28\.s-z31\.s},{z0\.h-z1\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z0\.s-z3\.s},{z30\.h-z31\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z0\.d,z1\.d},z0\.s' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z30\.d,z31\.d},z0\.s' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z0\.d,z1\.d},z31\.s' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z0\.d-z3\.d},{z0\.s-z1\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z28\.d-z31\.d},{z0\.s-z1\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `sunpk {z0\.d-z3\.d},{z30\.s-z31\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z0\.h,z1\.h},z0\.b' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z30\.h,z31\.h},z0\.b' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z0\.h,z1\.h},z31\.b' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z0\.h-z3\.h},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z28\.h-z31\.h},{z0\.b-z1\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z0\.h-z3\.h},{z30\.b-z31\.b}' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z0\.s,z1\.s},z0\.h' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z30\.s,z31\.s},z0\.h' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z0\.s,z1\.s},z31\.h' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z0\.s-z3\.s},{z0\.h-z1\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z28\.s-z31\.s},{z0\.h-z1\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z0\.s-z3\.s},{z30\.h-z31\.h}' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z0\.d,z1\.d},z0\.s' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z30\.d,z31\.d},z0\.s' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z0\.d,z1\.d},z31\.s' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z0\.d-z3\.d},{z0\.s-z1\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z28\.d-z31\.d},{z0\.s-z1\.s}' +[^ :]+:[0-9]+: Error: selected processor does not support `uunpk {z0\.d-z3\.d},{z30\.s-z31\.s}' diff --git a/gas/testsuite/gas/aarch64/sme2-29.d b/gas/testsuite/gas/aarch64/sme2-29.d new file mode 100644 index 0000000..235b055 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-29.d @@ -0,0 +1,45 @@ +#as: -march=armv8-a+sme2 +#objdump: -dr + +[^:]+: file format .* + + +[^:]+: + +[^:]+: +[^:]+: c165e000 sunpk {z0\.h-z1\.h}, z0\.b +[^:]+: c165e01e sunpk {z30\.h-z31\.h}, z0\.b +[^:]+: c165e3e0 sunpk {z0\.h-z1\.h}, z31\.b +[^:]+: c175e000 sunpk {z0\.h-z3\.h}, {z0\.b-z1\.b} +[^:]+: c175e01c sunpk {z28\.h-z31\.h}, {z0\.b-z1\.b} +[^:]+: c175e3c0 sunpk {z0\.h-z3\.h}, {z30\.b-z31\.b} +[^:]+: c1a5e000 sunpk {z0\.s-z1\.s}, z0\.h +[^:]+: c1a5e01e sunpk {z30\.s-z31\.s}, z0\.h +[^:]+: c1a5e3e0 sunpk {z0\.s-z1\.s}, z31\.h +[^:]+: c1b5e000 sunpk {z0\.s-z3\.s}, {z0\.h-z1\.h} +[^:]+: c1b5e01c sunpk {z28\.s-z31\.s}, {z0\.h-z1\.h} +[^:]+: c1b5e3c0 sunpk {z0\.s-z3\.s}, {z30\.h-z31\.h} +[^:]+: c1e5e000 sunpk {z0\.d-z1\.d}, z0\.s +[^:]+: c1e5e01e sunpk {z30\.d-z31\.d}, z0\.s +[^:]+: c1e5e3e0 sunpk {z0\.d-z1\.d}, z31\.s +[^:]+: c1f5e000 sunpk {z0\.d-z3\.d}, {z0\.s-z1\.s} +[^:]+: c1f5e01c sunpk {z28\.d-z31\.d}, {z0\.s-z1\.s} +[^:]+: c1f5e3c0 sunpk {z0\.d-z3\.d}, {z30\.s-z31\.s} +[^:]+: c165e001 uunpk {z0\.h-z1\.h}, z0\.b +[^:]+: c165e01f uunpk {z30\.h-z31\.h}, z0\.b +[^:]+: c165e3e1 uunpk {z0\.h-z1\.h}, z31\.b +[^:]+: c175e001 uunpk {z0\.h-z3\.h}, {z0\.b-z1\.b} +[^:]+: c175e01d uunpk {z28\.h-z31\.h}, {z0\.b-z1\.b} +[^:]+: c175e3c1 uunpk {z0\.h-z3\.h}, {z30\.b-z31\.b} +[^:]+: c1a5e001 uunpk {z0\.s-z1\.s}, z0\.h +[^:]+: c1a5e01f uunpk {z30\.s-z31\.s}, z0\.h +[^:]+: c1a5e3e1 uunpk {z0\.s-z1\.s}, z31\.h +[^:]+: c1b5e001 uunpk {z0\.s-z3\.s}, {z0\.h-z1\.h} +[^:]+: c1b5e01d uunpk {z28\.s-z31\.s}, {z0\.h-z1\.h} +[^:]+: c1b5e3c1 uunpk {z0\.s-z3\.s}, {z30\.h-z31\.h} +[^:]+: c1e5e001 uunpk {z0\.d-z1\.d}, z0\.s +[^:]+: c1e5e01f uunpk {z30\.d-z31\.d}, z0\.s +[^:]+: c1e5e3e1 uunpk {z0\.d-z1\.d}, z31\.s +[^:]+: c1f5e001 uunpk {z0\.d-z3\.d}, {z0\.s-z1\.s} +[^:]+: c1f5e01d uunpk {z28\.d-z31\.d}, {z0\.s-z1\.s} +[^:]+: c1f5e3c1 uunpk {z0\.d-z3\.d}, {z30\.s-z31\.s} diff --git a/gas/testsuite/gas/aarch64/sme2-29.s b/gas/testsuite/gas/aarch64/sme2-29.s new file mode 100644 index 0000000..1cf1a3f --- /dev/null +++ b/gas/testsuite/gas/aarch64/sme2-29.s @@ -0,0 +1,47 @@ + sunpk { z0.h, z1.h }, z0.b + sunpk { z30.h, z31.h }, z0.b + sunpk { z0.h, z1.h }, z31.b + + sunpk { z0.h - z3.h }, { z0.b - z1.b } + sunpk { z28.h - z31.h }, { z0.b - z1.b } + sunpk { z0.h - z3.h }, { z30.b - z31.b } + + sunpk { z0.s, z1.s }, z0.h + sunpk { z30.s, z31.s }, z0.h + sunpk { z0.s, z1.s }, z31.h + + sunpk { z0.s - z3.s }, { z0.h - z1.h } + sunpk { z28.s - z31.s }, { z0.h - z1.h } + sunpk { z0.s - z3.s }, { z30.h - z31.h } + + sunpk { z0.d, z1.d }, z0.s + sunpk { z30.d, z31.d }, z0.s + sunpk { z0.d, z1.d }, z31.s + + sunpk { z0.d - z3.d }, { z0.s - z1.s } + sunpk { z28.d - z31.d }, { z0.s - z1.s } + sunpk { z0.d - z3.d }, { z30.s - z31.s } + + uunpk { z0.h, z1.h }, z0.b + uunpk { z30.h, z31.h }, z0.b + uunpk { z0.h, z1.h }, z31.b + + uunpk { z0.h - z3.h }, { z0.b - z1.b } + uunpk { z28.h - z31.h }, { z0.b - z1.b } + uunpk { z0.h - z3.h }, { z30.b - z31.b } + + uunpk { z0.s, z1.s }, z0.h + uunpk { z30.s, z31.s }, z0.h + uunpk { z0.s, z1.s }, z31.h + + uunpk { z0.s - z3.s }, { z0.h - z1.h } + uunpk { z28.s - z31.s }, { z0.h - z1.h } + uunpk { z0.s - z3.s }, { z30.h - z31.h } + + uunpk { z0.d, z1.d }, z0.s + uunpk { z30.d, z31.d }, z0.s + uunpk { z0.d, z1.d }, z31.s + + uunpk { z0.d - z3.d }, { z0.s - z1.s } + uunpk { z28.d - z31.d }, { z0.s - z1.s } + uunpk { z0.d - z3.d }, { z30.s - z31.s } |