| // RUN: llvm-mc -triple aarch64-- -mattr=+crc %s 2>&1 |\ | 
 | // RUN:   FileCheck %s --check-prefix=CRC | 
 |  | 
 | // RUN: llvm-mc -triple aarch64-- -mcpu=cortex-a55 %s 2>&1 |\ | 
 | // RUN:   FileCheck %s --check-prefix=CRC | 
 | // RUN: llvm-mc -triple aarch64-- -mcpu=cortex-a75 %s 2>&1 |\ | 
 | // RUN:   FileCheck %s --check-prefix=CRC | 
 | // RUN: llvm-mc -triple aarch64-- -mcpu=tsv110 %s 2>&1 |\ | 
 | // RUN:   FileCheck %s --check-prefix=CRC | 
 |  | 
 | // RUN: not llvm-mc -triple aarch64-- %s 2>&1 |\ | 
 | // RUN:   FileCheck %s --check-prefix=NOCRC | 
 | // RUN: not llvm-mc -triple aarch64-- -mcpu=cyclone %s 2>&1 |\ | 
 | // RUN:   FileCheck %s --check-prefix=NOCRC | 
 |  | 
 |     crc32b w0, w1, w5 | 
 |     crc32h w3, w5, w6 | 
 |     crc32w w19, wzr, w20 | 
 |     crc32x w3, w5, x20 | 
 |  | 
 | // CRC: crc32b w0, w1, w5 | 
 | // CRC: crc32h w3, w5, w6 | 
 | // CRC: crc32w w19, wzr, w20 | 
 | // CRC: crc32x w3, w5, x20 | 
 |  | 
 | // NOCRC: error: instruction requires: crc | 
 | // NOCRC:     crc32b w0, w1, w5 | 
 | // NOCRC: error: instruction requires: crc | 
 | // NOCRC:     crc32h w3, w5, w6 | 
 | // NOCRC: error: instruction requires: crc | 
 | // NOCRC:     crc32w w19, wzr, w20 | 
 | // NOCRC: error: instruction requires: crc | 
 | // NOCRC:     crc32x w3, w5, x20 | 
 |  | 
 |     crc32cb w5, w10, w15 | 
 |     crc32ch w3, w5, w7 | 
 |     crc32cw w11, w13, w17 | 
 |     crc32cx w19, w23, x29 | 
 |  | 
 | // CRC: crc32cb w5, w10, w15 | 
 | // CRC: crc32ch w3, w5, w7 | 
 | // CRC: crc32cw w11, w13, w17 | 
 | // CRC: crc32cx w19, w23, x29 | 
 |  | 
 | // NOCRC: error: instruction requires: crc | 
 | // NOCRC:     crc32cb w5, w10, w15 | 
 | // NOCRC: error: instruction requires: crc | 
 | // NOCRC:     crc32ch w3, w5, w7 | 
 | // NOCRC: error: instruction requires: crc | 
 | // NOCRC:     crc32cw w11, w13, w17 | 
 | // NOCRC: error: instruction requires: crc | 
 | // NOCRC:     crc32cx w19, w23, x29 |