Re-commit r235560: Switch lowering: extract jump tables and bit tests before building...
[oota-llvm.git] / test / MC / ARM / neon-crypto.s
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
3
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: crypto armv8
13 @ CHECK-V7: instruction requires: crypto armv8
14 @ CHECK-V7: instruction requires: crypto armv8
15 @ CHECK-V7: instruction requires: crypto armv8
16
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: crypto armv8
24 @ CHECK-V7: instruction requires: crypto armv8
25 @ CHECK-V7: instruction requires: crypto armv8
26
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: crypto armv8
42 @ CHECK-V7: instruction requires: crypto armv8
43 @ CHECK-V7: instruction requires: crypto armv8
44 @ CHECK-V7: instruction requires: crypto armv8
45 @ CHECK-V7: instruction requires: crypto armv8
46 @ CHECK-V7: instruction requires: crypto armv8
47 @ CHECK-V7: instruction requires: crypto armv8
48
49 vmull.p64 q8, d16, d17
50 @ CHECK: vmull.p64  q8, d16, d17    @ encoding: [0xa1,0x0e,0xe0,0xf2]
51 @ CHECK-V7: instruction requires: crypto armv8