aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/MC/RISCV/xqcisync-valid.s
blob: 84ea74b74564f88d7f63bb46b112825d3657c3db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Xqcisync - Qualcomm uC Sync Delay Extension
# RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-xqcisync -M no-aliases -show-encoding \
# RUN:     | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST,CHECK-NOALIAS %s
# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+experimental-xqcisync < %s \
# RUN:     | llvm-objdump --mattr=+experimental-xqcisync -M no-aliases --no-print-imm-hex -d - \
# RUN:     | FileCheck -check-prefix=CHECK-INST %s
# RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-xqcisync -show-encoding \
# RUN:     | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST,CHECK-ALIAS %s
# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+experimental-xqcisync < %s \
# RUN:     | llvm-objdump --mattr=+experimental-xqcisync --no-print-imm-hex -d - \
# RUN:     | FileCheck -check-prefix=CHECK-INST %s

# CHECK-INST: qc.c.delay     10
# CHECK-ENC: encoding: [0x2a,0x00]
qc.c.delay 10

# CHECK-INST: qc.sync      9
# CHECK-ENC: encoding: [0x13,0x30,0x90,0x10]
qc.sync 9

# CHECK-INST: qc.syncr     23
# CHECK-ENC: encoding: [0x13,0x30,0x70,0x21]
qc.syncr 23

# CHECK-INST: qc.syncwf    30
# CHECK-ENC: encoding: [0x13,0x30,0xe0,0x41]
qc.syncwf 30

# CHECK-INST: qc.syncwl    6
# CHECK-ENC: encoding: [0x13,0x30,0x60,0x80]
qc.syncwl 6

# CHECK-NOALIAS: qc.c.sync      0
# CHECK-ALIAS: qc.sync 0
# CHECK-ENC: encoding: [0x01,0x80]
qc.c.sync 0

# CHECK-NOALIAS: qc.c.syncr     15
# CHECK-ALIAS: qc.syncr 15
# CHECK-ENC: encoding: [0x01,0x87]
qc.c.syncr 15

# CHECK-NOALIAS: qc.c.syncwf    31
# CHECK-ALIAS: qc.syncwf 31
# CHECK-ENC: encoding: [0x81,0x93]
qc.c.syncwf 31

# CHECK-NOALIAS: qc.c.syncwl    4
# CHECK-ALIAS: qc.syncwl 4
# CHECK-ENC: encoding: [0x81,0x95]
qc.c.syncwl 4

# Check that compressed patterns work

# CHECK-NOALIAS: qc.c.sync      8
# CHECK-ALIAS: qc.sync 8
# CHECK-ENC: encoding: [0x01,0x82]
qc.sync 8

# CHECK-NOALIAS: qc.c.syncr     31
# CHECK-ALIAS: qc.syncr 31
# CHECK-ENC: encoding: [0x81,0x87]
qc.syncr 31

# CHECK-NOALIAS: qc.c.syncwf    0
# CHECK-ALIAS: qc.syncwf 0
# CHECK-ENC: encoding: [0x01,0x90]
qc.syncwf 0

# CHECK-NOALIAS: qc.c.syncwl    16
# CHECK-ALIAS: qc.syncwl 16
# CHECK-ENC: encoding: [0x81,0x96]
qc.syncwl 16