[ARM] Better OR's for MVE compares
[llvm-core.git] / test / MC / AArch64 / crc.s
blob77809ed8fb19ad04763c3211a20b710166b827b9
1 // RUN: llvm-mc -triple aarch64-- -mattr=+crc %s 2>&1 |\
2 // RUN: FileCheck %s --check-prefix=CRC
4 // RUN: llvm-mc -triple aarch64-- -mcpu=cortex-a55 %s 2>&1 |\
5 // RUN: FileCheck %s --check-prefix=CRC
6 // RUN: llvm-mc -triple aarch64-- -mcpu=cortex-a75 %s 2>&1 |\
7 // RUN: FileCheck %s --check-prefix=CRC
8 // RUN: llvm-mc -triple aarch64-- -mcpu=tsv110 %s 2>&1 |\
9 // RUN: FileCheck %s --check-prefix=CRC
11 // RUN: not llvm-mc -triple aarch64-- %s 2>&1 |\
12 // RUN: FileCheck %s --check-prefix=NOCRC
13 // RUN: not llvm-mc -triple aarch64-- -mcpu=cyclone %s 2>&1 |\
14 // RUN: FileCheck %s --check-prefix=NOCRC
16 crc32b w0, w1, w5
17 crc32h w3, w5, w6
18 crc32w w19, wzr, w20
19 crc32x w3, w5, x20
21 // CRC: crc32b w0, w1, w5
22 // CRC: crc32h w3, w5, w6
23 // CRC: crc32w w19, wzr, w20
24 // CRC: crc32x w3, w5, x20
26 // NOCRC: error: instruction requires: crc
27 // NOCRC: crc32b w0, w1, w5
28 // NOCRC: error: instruction requires: crc
29 // NOCRC: crc32h w3, w5, w6
30 // NOCRC: error: instruction requires: crc
31 // NOCRC: crc32w w19, wzr, w20
32 // NOCRC: error: instruction requires: crc
33 // NOCRC: crc32x w3, w5, x20
35 crc32cb w5, w10, w15
36 crc32ch w3, w5, w7
37 crc32cw w11, w13, w17
38 crc32cx w19, w23, x29
40 // CRC: crc32cb w5, w10, w15
41 // CRC: crc32ch w3, w5, w7
42 // CRC: crc32cw w11, w13, w17
43 // CRC: crc32cx w19, w23, x29
45 // NOCRC: error: instruction requires: crc
46 // NOCRC: crc32cb w5, w10, w15
47 // NOCRC: error: instruction requires: crc
48 // NOCRC: crc32ch w3, w5, w7
49 // NOCRC: error: instruction requires: crc
50 // NOCRC: crc32cw w11, w13, w17
51 // NOCRC: error: instruction requires: crc
52 // NOCRC: crc32cx w19, w23, x29