]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gas/testsuite/gas/aarch64/sve-movprfx_26.s
Fix an assertion failure in the AArch64 assembler triggered by incorrect instruction...
[thirdparty/binutils-gdb.git] / gas / testsuite / gas / aarch64 / sve-movprfx_26.s
CommitLineData
e66cfcef
TC
1/* Checks the special cases for FCVT and LSL.
2 Has invalid usages. Diagnosis required. */
3 .text
4 .arch armv8-a+sve
5
6f:
83adff69
RS
7 .macro test_cvt, insn
8
e66cfcef
TC
9 /* Not OK, 64-bit operation, upper 32-bits cleared. */
10 movprfx Z0.S, P1/M, Z1.S
83adff69 11 \insn Z0.S, P1/M, Z2.D
e66cfcef
TC
12
13 /* OK, 64-bit operation, upper 32-bits cleared. */
14 movprfx Z0.D, P1/M, Z1.D
83adff69 15 \insn Z0.S, P1/M, Z2.D
e66cfcef
TC
16
17 /* Not OK, 64-bit operation ignoring 32-bits. */
18 movprfx Z0.S, P1/M, Z1.S
83adff69 19 \insn Z0.D, P1/M, Z2.S
e66cfcef
TC
20
21 /* OK, 64-bit operation ignoring 32-bits. */
22 movprfx Z0.D, P1/M, Z1.D
83adff69
RS
23 \insn Z0.D, P1/M, Z2.S
24 .endm test_cvt
e66cfcef 25
83adff69 26 .macro test_shift, insn
e66cfcef
TC
27 /* OK, 8-bit operation. */
28 movprfx Z0.B, P1/M, Z1.B
83adff69 29 \insn Z0.B, P1/M, Z0.B, Z2.D
e66cfcef
TC
30
31 /* Not Ok, destination register sizes don't match. */
32 movprfx Z0.D, P1/M, Z1.D
83adff69
RS
33 \insn Z0.B, P1/M, Z0.B, Z2.D
34 .endm test_shift
35
36 test_cvt fcvt
37 test_cvt fcvtzs
38 test_cvt fcvtzu
39 test_cvt scvtf
40 test_cvt ucvtf
41
42 test_shift lsl
43 test_shift lsr
44 test_shift asr
45
e66cfcef
TC
46 ret
47