1 @ RUN: not llvm-mc -triple armv7-eabi -filetype asm -o /dev/null 2>&1 %s \ 2 @ RUN: | FileCheck %s -check-prefix CHECK-V7 3 @ RUN: not llvm-mc -triple armv8-eabi -filetype asm -o /dev/null 2>&1 %s \ 4 @ RUN: | FileCheck %s -check-prefix CHECK-V8 5 6 .syntax unified 7 8 .arm 9 10 .arch_extension crc 11 @ CHECK-V7: error: architectural extension 'crc' is not allowed for the current base architecture 12 @ CHECK-V7-NEXT: .arch_extension crc 13 @ CHECK-V7-NEXT: ^ 14 15 .type crc,%function 16 crc: 17 crc32b r0, r1, r2 18 @ CHECK-V7: error: instruction requires: crc armv8 19 crc32h r0, r1, r2 20 @ CHECK-V7: error: instruction requires: crc armv8 21 crc32w r0, r1, r2 22 @ CHECK-V7: error: instruction requires: crc armv8 23 24 crc32cb r0, r1, r2 25 @ CHECK-V7: error: instruction requires: crc armv8 26 crc32ch r0, r1, r2 27 @ CHECK-V7: error: instruction requires: crc armv8 28 crc32cw r0, r1, r2 29 @ CHECK-V7: error: instruction requires: crc armv8 30 31 .arch_extension nocrc 32 @ CHECK-V7: error: architectural extension 'crc' is not allowed for the current base architecture 33 @ CHECK-V7-NEXT: .arch_extension nocrc 34 @ CHECK-V7-NEXT: ^ 35 36 .type nocrc,%function 37 nocrc: 38 crc32b r0, r1, r2 39 @ CHECK-V7: error: instruction requires: crc armv8 40 @ CHECK-V8: error: instruction requires: crc arm-mode 41 crc32h r0, r1, r2 42 @ CHECK-V7: error: instruction requires: crc armv8 43 @ CHECK-V8: error: instruction requires: crc arm-mode 44 crc32w r0, r1, r2 45 @ CHECK-V7: error: instruction requires: crc armv8 46 @ CHECK-V8: error: instruction requires: crc arm-mode 47 48 crc32cb r0, r1, r2 49 @ CHECK-V7: error: instruction requires: crc armv8 50 @ CHECK-V8: error: instruction requires: crc arm-mode 51 crc32ch r0, r1, r2 52 @ CHECK-V7: error: instruction requires: crc armv8 53 @ CHECK-V8: error: instruction requires: crc arm-mode 54 crc32cw r0, r1, r2 55 @ CHECK-V7: error: instruction requires: crc armv8 56 @ CHECK-V8: error: instruction requires: crc arm-mode 57 58