[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / MC / ARM / neon-crypto.s
blob5e273eea020112e87895c302cbc773b98bd6f642
1 @ RUN: llvm-mc -triple armv8 -mattr=+neon,+crypto -show-encoding < %s | FileCheck %s
2 @ RUN: not llvm-mc -triple=armv7 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-V7
4 aesd.8 q0, q1
5 aese.8 q0, q1
6 aesimc.8 q0, q1
7 aesmc.8 q0, q1
8 @ CHECK: aesd.8 q0, q1 @ encoding: [0x42,0x03,0xb0,0xf3]
9 @ CHECK: aese.8 q0, q1 @ encoding: [0x02,0x03,0xb0,0xf3]
10 @ CHECK: aesimc.8 q0, q1 @ encoding: [0xc2,0x03,0xb0,0xf3]
11 @ CHECK: aesmc.8 q0, q1 @ encoding: [0x82,0x03,0xb0,0xf3]
12 @ CHECK-V7: instruction requires: aes armv8
13 @ CHECK-V7: instruction requires: aes armv8
14 @ CHECK-V7: instruction requires: aes armv8
15 @ CHECK-V7: instruction requires: aes armv8
17 sha1h.32 q0, q1
18 sha1su1.32 q0, q1
19 sha256su0.32 q0, q1
20 @ CHECK: sha1h.32 q0, q1 @ encoding: [0xc2,0x02,0xb9,0xf3]
21 @ CHECK: sha1su1.32 q0, q1 @ encoding: [0x82,0x03,0xba,0xf3]
22 @ CHECK: sha256su0.32 q0, q1 @ encoding: [0xc2,0x03,0xba,0xf3]
23 @ CHECK-V7: instruction requires: sha2 armv8
24 @ CHECK-V7: instruction requires: sha2 armv8
25 @ CHECK-V7: instruction requires: sha2 armv8
27 sha1c.32 q0, q1, q2
28 sha1m.32 q0, q1, q2
29 sha1p.32 q0, q1, q2
30 sha1su0.32 q0, q1, q2
31 sha256h.32 q0, q1, q2
32 sha256h2.32 q0, q1, q2
33 sha256su1.32 q0, q1, q2
34 @ CHECK: sha1c.32 q0, q1, q2 @ encoding: [0x44,0x0c,0x02,0xf2]
35 @ CHECK: sha1m.32 q0, q1, q2 @ encoding: [0x44,0x0c,0x22,0xf2]
36 @ CHECK: sha1p.32 q0, q1, q2 @ encoding: [0x44,0x0c,0x12,0xf2]
37 @ CHECK: sha1su0.32 q0, q1, q2 @ encoding: [0x44,0x0c,0x32,0xf2]
38 @ CHECK: sha256h.32 q0, q1, q2 @ encoding: [0x44,0x0c,0x02,0xf3]
39 @ CHECK: sha256h2.32 q0, q1, q2 @ encoding: [0x44,0x0c,0x12,0xf3]
40 @ CHECK: sha256su1.32 q0, q1, q2 @ encoding: [0x44,0x0c,0x22,0xf3]
41 @ CHECK-V7: instruction requires: sha2 armv8
42 @ CHECK-V7: instruction requires: sha2 armv8
43 @ CHECK-V7: instruction requires: sha2 armv8
44 @ CHECK-V7: instruction requires: sha2 armv8
45 @ CHECK-V7: instruction requires: sha2 armv8
46 @ CHECK-V7: instruction requires: sha2 armv8
47 @ CHECK-V7: instruction requires: sha2 armv8
49 vmull.p64 q8, d16, d17
50 @ CHECK: vmull.p64 q8, d16, d17 @ encoding: [0xa1,0x0e,0xe0,0xf2]
51 @ CHECK-V7: instruction requires: aes armv8