15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ RUN: not llvm-mc -triple armv7-eabi -filetype asm -o /dev/null 2>&1 %s \
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ RUN:   | FileCheck %s -check-prefix CHECK-V7
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ RUN: not llvm-mc -triple armv8-eabi -filetype asm -o /dev/null 2>&1 %s \
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ RUN:   | FileCheck %s -check-prefix CHECK-V8
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	.syntax unified
77d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)
8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)	.arm
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	.arch_extension crc
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7: error: architectural extension 'crc' is not allowed for the current base architecture
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7-NEXT: 	.arch_extension crc
13a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)@ CHECK-V7-NEXT:                     ^
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	.type crc,%function
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)crc:
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	crc32b r0, r1, r2
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7: error: instruction requires: crc armv8
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	crc32h r0, r1, r2
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7: error: instruction requires: crc armv8
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	crc32w r0, r1, r2
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7: error: instruction requires: crc armv8
235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)	crc32cb r0, r1, r2
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7: error: instruction requires: crc armv8
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	crc32ch r0, r1, r2
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7: error: instruction requires: crc armv8
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	crc32cw r0, r1, r2
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7: error: instruction requires: crc armv8
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	.arch_extension nocrc
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7: error: architectural extension 'crc' is not allowed for the current base architecture
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7-NEXT: 	.arch_extension nocrc
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7-NEXT:                     ^
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	.type nocrc,%function
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)nocrc:
38a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)	crc32b r0, r1, r2
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7: error: instruction requires: crc armv8
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V8: error: instruction requires: crc arm-mode
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	crc32h r0, r1, r2
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7: error: instruction requires: crc armv8
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V8: error: instruction requires: crc arm-mode
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	crc32w r0, r1, r2
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7: error: instruction requires: crc armv8
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V8: error: instruction requires: crc arm-mode
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	crc32cb r0, r1, r2
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7: error: instruction requires: crc armv8
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V8: error: instruction requires: crc arm-mode
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	crc32ch r0, r1, r2
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7: error: instruction requires: crc armv8
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V8: error: instruction requires: crc arm-mode
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)	crc32cw r0, r1, r2
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V7: error: instruction requires: crc armv8
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)@ CHECK-V8: error: instruction requires: crc arm-mode
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)