1 // RUN
: llvm-mc
-triple aarch64-none-linux-gnu
-mattr
=+neon
-show-encoding
< %s | FileCheck
%s
3 // Check that the assembler can handle the documented syntax for AArch64
5 //------------------------------------------------------------------------------
6 // Integer shift left long
(Signed
)
7 //------------------------------------------------------------------------------
10 sshll v0.2d
, v1.2s
, #3
11 sshll2 v0.8h
, v1.16
b, #3
12 sshll2 v0.4s
, v1.8h
, #3
13 sshll2 v0.2d
, v1.4s
, #3
15 // CHECK
: sshll v0.8h
, v1.8
b, #3 // encoding: [0x20,0xa4,0x0b,0x0f]
16 // CHECK
: sshll v0.4s
, v1.4h
, #3 // encoding: [0x20,0xa4,0x13,0x0f]
17 // CHECK
: sshll v0.2d
, v1.2s
, #3 // encoding: [0x20,0xa4,0x23,0x0f]
18 // CHECK
: sshll2 v0.8h
, v1.16
b, #3 // encoding: [0x20,0xa4,0x0b,0x4f]
19 // CHECK
: sshll2 v0.4s
, v1.8h
, #3 // encoding: [0x20,0xa4,0x13,0x4f]
20 // CHECK
: sshll2 v0.2d
, v1.4s
, #3 // encoding: [0x20,0xa4,0x23,0x4f]
22 //------------------------------------------------------------------------------
23 // Integer shift left long
(Unsigned
)
24 //------------------------------------------------------------------------------
25 ushll v0.8h
, v1.8
b, #3
26 ushll v0.4s
, v1.4h
, #3
27 ushll v0.2d
, v1.2s
, #3
28 ushll2 v0.8h
, v1.16
b, #3
29 ushll2 v0.4s
, v1.8h
, #3
30 ushll2 v0.2d
, v1.4s
, #3
32 // CHECK
: ushll v0.8h
, v1.8
b, #3 // encoding: [0x20,0xa4,0x0b,0x2f]
33 // CHECK
: ushll v0.4s
, v1.4h
, #3 // encoding: [0x20,0xa4,0x13,0x2f]
34 // CHECK
: ushll v0.2d
, v1.2s
, #3 // encoding: [0x20,0xa4,0x23,0x2f]
35 // CHECK
: ushll2 v0.8h
, v1.16
b, #3 // encoding: [0x20,0xa4,0x0b,0x6f]
36 // CHECK
: ushll2 v0.4s
, v1.8h
, #3 // encoding: [0x20,0xa4,0x13,0x6f]
37 // CHECK
: ushll2 v0.2d
, v1.4s
, #3 // encoding: [0x20,0xa4,0x23,0x6f]