xref: /llvm-project/llvm/test/MC/AArch64/arm64-optional-hash.s (revision 442f066fc464e953b7783230e95ccf2a67ebfb38)
1; RUN: llvm-mc -triple arm64-apple-darwin -show-encoding < %s | FileCheck %s
2.text
3; parseOperand check
4; CHECK: add sp, sp, #32             ; encoding: [0xff,0x83,0x00,0x91]
5    add sp, sp, 32
6
7; Optional shift
8; CHECK: adds x3, x4, #1024, lsl #12 ; encoding: [0x83,0x00,0x50,0xb1]
9adds x3, x4, 1024, lsl 12
10
11; CHECK-COUNT-2: mov x3, #327680 ; encoding: [0xa3,0x00,0xa0,0xd2]
12movz x3, (0x54321) >> 16, lsl 16
13movz x3, (0x54321 >> 16), lsl 16
14
15; Optional extend
16; CHECK: add sp, x2, x3              ; encoding: [0x5f,0x60,0x23,0x8b]
17add sp, x2, x3, uxtx 0
18
19; FP immediates
20; CHECK: fmov s1, #0.12500000      ; encoding: [0x01,0x10,0x28,0x1e]
21fmov s1, 0.125
22
23; Barrier operand
24; CHECK: dmb osh    ; encoding: [0xbf,0x33,0x03,0xd5]
25dmb 3
26
27; Prefetch and memory
28
29; Single register inside []
30; CHECK: ldnp  w3, w2, [x15, #16]       ; encoding: [0xe3,0x09,0x42,0x28]
31ldnp  w3, w2, [x15, 16]
32
33; Memory, two registers inside []
34; CHECK: prfm   pstl3strm, [x4, x5, lsl #3] ; encoding: [0x95,0x78,0xa5,0xf8]
35prfm  pstl3strm, [x4, x5, lsl 3]
36