xref: /llvm-project/llvm/test/MC/ARM/neon-crypto.s (revision b8baa2a9132498ea286dbb0d03f005760ecc6fdb)
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
4aesd.8  q0, q1
5aese.8  q0, q1
6aesimc.8  q0, q1
7aesmc.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
16
17sha1h.32  q0, q1
18sha1su1.32  q0, q1
19sha256su0.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
26
27sha1c.32  q0, q1, q2
28sha1m.32  q0, q1, q2
29sha1p.32  q0, q1, q2
30sha1su0.32  q0, q1, q2
31sha256h.32  q0, q1, q2
32sha256h2.32  q0, q1, q2
33sha256su1.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
48
49vmull.p64 q8, d16, d17
50@ CHECK: vmull.p64  q8, d16, d17    @ encoding: [0xa1,0x0e,0xe0,0xf2]
51@ CHECK-V7: instruction requires: aes armv8
52