xref: /aosp_15_r20/external/llvm/test/MC/ARM/neon-crypto.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker@ RUN: llvm-mc -triple armv8 -mattr=+neon,+crypto -show-encoding < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker@ RUN: not llvm-mc -triple=armv7 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-V7
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workeraesd.8  q0, q1
5*9880d681SAndroid Build Coastguard Workeraese.8  q0, q1
6*9880d681SAndroid Build Coastguard Workeraesimc.8  q0, q1
7*9880d681SAndroid Build Coastguard Workeraesmc.8  q0, q1
8*9880d681SAndroid Build Coastguard Worker@ CHECK: aesd.8 q0, q1          @ encoding: [0x42,0x03,0xb0,0xf3]
9*9880d681SAndroid Build Coastguard Worker@ CHECK: aese.8 q0, q1          @ encoding: [0x02,0x03,0xb0,0xf3]
10*9880d681SAndroid Build Coastguard Worker@ CHECK: aesimc.8 q0, q1        @ encoding: [0xc2,0x03,0xb0,0xf3]
11*9880d681SAndroid Build Coastguard Worker@ CHECK: aesmc.8 q0, q1         @ encoding: [0x82,0x03,0xb0,0xf3]
12*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: instruction requires: crypto armv8
13*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: instruction requires: crypto armv8
14*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: instruction requires: crypto armv8
15*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: instruction requires: crypto armv8
16*9880d681SAndroid Build Coastguard Worker
17*9880d681SAndroid Build Coastguard Workersha1h.32  q0, q1
18*9880d681SAndroid Build Coastguard Workersha1su1.32  q0, q1
19*9880d681SAndroid Build Coastguard Workersha256su0.32  q0, q1
20*9880d681SAndroid Build Coastguard Worker@ CHECK: sha1h.32  q0, q1       @ encoding: [0xc2,0x02,0xb9,0xf3]
21*9880d681SAndroid Build Coastguard Worker@ CHECK: sha1su1.32 q0, q1      @ encoding: [0x82,0x03,0xba,0xf3]
22*9880d681SAndroid Build Coastguard Worker@ CHECK: sha256su0.32 q0, q1    @ encoding: [0xc2,0x03,0xba,0xf3]
23*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: instruction requires: crypto armv8
24*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: instruction requires: crypto armv8
25*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: instruction requires: crypto armv8
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Workersha1c.32  q0, q1, q2
28*9880d681SAndroid Build Coastguard Workersha1m.32  q0, q1, q2
29*9880d681SAndroid Build Coastguard Workersha1p.32  q0, q1, q2
30*9880d681SAndroid Build Coastguard Workersha1su0.32  q0, q1, q2
31*9880d681SAndroid Build Coastguard Workersha256h.32  q0, q1, q2
32*9880d681SAndroid Build Coastguard Workersha256h2.32  q0, q1, q2
33*9880d681SAndroid Build Coastguard Workersha256su1.32  q0, q1, q2
34*9880d681SAndroid Build Coastguard Worker@ CHECK: sha1c.32  q0, q1, q2   @ encoding: [0x44,0x0c,0x02,0xf2]
35*9880d681SAndroid Build Coastguard Worker@ CHECK: sha1m.32  q0, q1, q2   @ encoding: [0x44,0x0c,0x22,0xf2]
36*9880d681SAndroid Build Coastguard Worker@ CHECK: sha1p.32 q0, q1, q2    @ encoding: [0x44,0x0c,0x12,0xf2]
37*9880d681SAndroid Build Coastguard Worker@ CHECK: sha1su0.32  q0, q1, q2      @ encoding: [0x44,0x0c,0x32,0xf2]
38*9880d681SAndroid Build Coastguard Worker@ CHECK: sha256h.32  q0, q1, q2      @ encoding: [0x44,0x0c,0x02,0xf3]
39*9880d681SAndroid Build Coastguard Worker@ CHECK: sha256h2.32 q0, q1, q2      @ encoding: [0x44,0x0c,0x12,0xf3]
40*9880d681SAndroid Build Coastguard Worker@ CHECK: sha256su1.32 q0, q1, q2     @ encoding: [0x44,0x0c,0x22,0xf3]
41*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: instruction requires: crypto armv8
42*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: instruction requires: crypto armv8
43*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: instruction requires: crypto armv8
44*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: instruction requires: crypto armv8
45*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: instruction requires: crypto armv8
46*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: instruction requires: crypto armv8
47*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: instruction requires: crypto armv8
48*9880d681SAndroid Build Coastguard Worker
49*9880d681SAndroid Build Coastguard Workervmull.p64 q8, d16, d17
50*9880d681SAndroid Build Coastguard Worker@ CHECK: vmull.p64  q8, d16, d17    @ encoding: [0xa1,0x0e,0xe0,0xf2]
51*9880d681SAndroid Build Coastguard Worker@ CHECK-V7: instruction requires: crypto armv8
52