blob: 45a1f0ccadb68ef44d140f23f94b791ba4fc6d05 [file] [log] [blame]
Joey Gouly36b2e5d2013-09-18 09:46:49 +00001@ RUN: llvm-mc -triple=armv8 -show-encoding < %s | FileCheck %s
2@ RUN: not llvm-mc -triple=armv7 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-V7
Bernard Ogdenee87e852013-10-29 09:47:35 +00003@ RUN: not llvm-mc -triple=thumbv8 -mattr=-crc -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-NOCRC
Joey Gouly36b2e5d2013-09-18 09:46:49 +00004 crc32b r0, r1, r2
5 crc32h r0, r1, r2
6 crc32w r0, r1, r2
7
8@ CHECK: crc32b r0, r1, r2 @ encoding: [0x42,0x00,0x01,0xe1]
9@ CHECK: crc32h r0, r1, r2 @ encoding: [0x42,0x00,0x21,0xe1]
10@ CHECK: crc32w r0, r1, r2 @ encoding: [0x42,0x00,0x41,0xe1]
Bernard Ogdenee87e852013-10-29 09:47:35 +000011@ CHECK-V7: error: instruction requires: crc armv8
12@ CHECK-V7: error: instruction requires: crc armv8
13@ CHECK-V7: error: instruction requires: crc armv8
14@ CHECK-NOCRC: error: instruction requires: crc
15@ CHECK-NOCRC: error: instruction requires: crc
16@ CHECK-NOCRC: error: instruction requires: crc
Joey Gouly36b2e5d2013-09-18 09:46:49 +000017
18 crc32cb r0, r1, r2
19 crc32ch r0, r1, r2
20 crc32cw r0, r1, r2
21
22@ CHECK: crc32cb r0, r1, r2 @ encoding: [0x42,0x02,0x01,0xe1]
23@ CHECK: crc32ch r0, r1, r2 @ encoding: [0x42,0x02,0x21,0xe1]
24@ CHECK: crc32cw r0, r1, r2 @ encoding: [0x42,0x02,0x41,0xe1]
Bernard Ogdenee87e852013-10-29 09:47:35 +000025@ CHECK-V7: error: instruction requires: crc armv8
26@ CHECK-V7: error: instruction requires: crc armv8
27@ CHECK-V7: error: instruction requires: crc armv8
28@ CHECK-NOCRC: error: instruction requires: crc
29@ CHECK-NOCRC: error: instruction requires: crc
30@ CHECK-NOCRC: error: instruction requires: crc