aboutsummaryrefslogtreecommitdiffstats
path: root/test/MC/ARM/neon-crypto.s
blob: 92d24da6c651dba134fa2a5f9418d886476eef78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
@ RUN: llvm-mc -triple armv8 -mattr=+neon,+crypto -show-encoding < %s | FileCheck %s
@ RUN: not llvm-mc -triple=armv7 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-V7

aesd.8  q0, q1
aese.8  q0, q1
aesimc.8  q0, q1
aesmc.8  q0, q1
@ CHECK: aesd.8 q0, q1          @ encoding: [0x42,0x03,0xb0,0xf3]
@ CHECK: aese.8 q0, q1          @ encoding: [0x02,0x03,0xb0,0xf3]
@ CHECK: aesimc.8 q0, q1        @ encoding: [0xc2,0x03,0xb0,0xf3]
@ CHECK: aesmc.8 q0, q1         @ encoding: [0x82,0x03,0xb0,0xf3]
@ CHECK-V7: instruction requires: crypto armv8
@ CHECK-V7: instruction requires: crypto armv8
@ CHECK-V7: instruction requires: crypto armv8
@ CHECK-V7: instruction requires: crypto armv8

sha1h.32  q0, q1
sha1su1.32  q0, q1
sha256su0.32  q0, q1
@ CHECK: sha1h.32  q0, q1       @ encoding: [0xc2,0x02,0xb9,0xf3]
@ CHECK: sha1su1.32 q0, q1      @ encoding: [0x82,0x03,0xba,0xf3]
@ CHECK: sha256su0.32 q0, q1    @ encoding: [0xc2,0x03,0xba,0xf3]
@ CHECK-V7: instruction requires: crypto armv8
@ CHECK-V7: instruction requires: crypto armv8
@ CHECK-V7: instruction requires: crypto armv8

sha1c.32  q0, q1, q2
sha1m.32  q0, q1, q2
sha1p.32  q0, q1, q2
sha1su0.32  q0, q1, q2
sha256h.32  q0, q1, q2
sha256h2.32  q0, q1, q2
sha256su1.32  q0, q1, q2
@ CHECK: sha1c.32  q0, q1, q2   @ encoding: [0x44,0x0c,0x02,0xf2]
@ CHECK: sha1m.32  q0, q1, q2   @ encoding: [0x44,0x0c,0x22,0xf2]
@ CHECK: sha1p.32 q0, q1, q2    @ encoding: [0x44,0x0c,0x12,0xf2]
@ CHECK: sha1su0.32  q0, q1, q2      @ encoding: [0x44,0x0c,0x32,0xf2]
@ CHECK: sha256h.32  q0, q1, q2      @ encoding: [0x44,0x0c,0x02,0xf3]
@ CHECK: sha256h2.32 q0, q1, q2      @ encoding: [0x44,0x0c,0x12,0xf3]
@ CHECK: sha256su1.32 q0, q1, q2     @ encoding: [0x44,0x0c,0x22,0xf3]
@ CHECK-V7: instruction requires: crypto armv8
@ CHECK-V7: instruction requires: crypto armv8
@ CHECK-V7: instruction requires: crypto armv8
@ CHECK-V7: instruction requires: crypto armv8
@ CHECK-V7: instruction requires: crypto armv8
@ CHECK-V7: instruction requires: crypto armv8
@ CHECK-V7: instruction requires: crypto armv8

vmull.p64 q8, d16, d17
@ CHECK: vmull.p64  q8, d16, d17    @ encoding: [0xa1,0x0e,0xe0,0xf2]
@ CHECK-V7: instruction requires: crypto armv8