xref: /llvm-project/llvm/test/CodeGen/ARM/aes.ll (revision 5f058398ab7a6c2cf3555daf190d3d13d68f78f5)
1*5f058398SDavid Green; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
2*5f058398SDavid Green; RUN: llc %s -o - -mtriple=armv8-none-eabi -mattr=+aes | FileCheck %s
3*5f058398SDavid Green
4*5f058398SDavid Greendeclare <16 x i8> @llvm.arm.neon.aese(<16 x i8> %d, <16 x i8> %k)
5*5f058398SDavid Greendeclare <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %d, <16 x i8> %k)
6*5f058398SDavid Green
7*5f058398SDavid Greendefine arm_aapcs_vfpcc <16 x i8> @aese(<16 x i8> %a, <16 x i8> %b) {
8*5f058398SDavid Green; CHECK-LABEL: aese:
9*5f058398SDavid Green; CHECK:       @ %bb.0:
10*5f058398SDavid Green; CHECK-NEXT:    aese.8 q0, q1
11*5f058398SDavid Green; CHECK-NEXT:    bx lr
12*5f058398SDavid Green  %r = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %a, <16 x i8> %b)
13*5f058398SDavid Green  ret <16 x i8> %r
14*5f058398SDavid Green}
15*5f058398SDavid Green
16*5f058398SDavid Greendefine arm_aapcs_vfpcc <16 x i8> @aese_c(<16 x i8> %a, <16 x i8> %b) {
17*5f058398SDavid Green; CHECK-LABEL: aese_c:
18*5f058398SDavid Green; CHECK:       @ %bb.0:
19*5f058398SDavid Green; CHECK-NEXT:    aese.8 q0, q1
20*5f058398SDavid Green; CHECK-NEXT:    bx lr
21*5f058398SDavid Green  %r = call <16 x i8> @llvm.arm.neon.aese(<16 x i8> %b, <16 x i8> %a)
22*5f058398SDavid Green  ret <16 x i8> %r
23*5f058398SDavid Green}
24*5f058398SDavid Green
25*5f058398SDavid Greendefine arm_aapcs_vfpcc <16 x i8> @aesd(<16 x i8> %a, <16 x i8> %b) {
26*5f058398SDavid Green; CHECK-LABEL: aesd:
27*5f058398SDavid Green; CHECK:       @ %bb.0:
28*5f058398SDavid Green; CHECK-NEXT:    aesd.8 q0, q1
29*5f058398SDavid Green; CHECK-NEXT:    bx lr
30*5f058398SDavid Green  %r = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %a, <16 x i8> %b)
31*5f058398SDavid Green  ret <16 x i8> %r
32*5f058398SDavid Green}
33*5f058398SDavid Green
34*5f058398SDavid Greendefine arm_aapcs_vfpcc <16 x i8> @aesd_c(<16 x i8> %a, <16 x i8> %b) {
35*5f058398SDavid Green; CHECK-LABEL: aesd_c:
36*5f058398SDavid Green; CHECK:       @ %bb.0:
37*5f058398SDavid Green; CHECK-NEXT:    aesd.8 q0, q1
38*5f058398SDavid Green; CHECK-NEXT:    bx lr
39*5f058398SDavid Green  %r = call <16 x i8> @llvm.arm.neon.aesd(<16 x i8> %b, <16 x i8> %a)
40*5f058398SDavid Green  ret <16 x i8> %r
41*5f058398SDavid Green}
42