Files
TheRock/compiler/amd-llvm/llvm/test/CodeGen/AArch64/misched-fusion-crypto-eor.mir
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

79 lines
3.7 KiB
YAML

# RUN: llc -o /dev/null %s -run-pass=machine-scheduler -mtriple aarch64-- -mattr=-fuse-aes,+crypto -misched-print-dags 2>&1 | FileCheck %s --check-prefixes=CHECK,NOFUSE
# RUN: llc -o /dev/null %s -run-pass=machine-scheduler -mtriple aarch64-- -mattr=+fuse-aes,+crypto -misched-print-dags 2>&1 | FileCheck %s --check-prefixes=CHECK,FUSEAES
# RUN: llc -o /dev/null %s -run-pass=machine-scheduler -mtriple aarch64-- -mattr=+fuse-aes,+fuse-crypto-eor,+crypto -misched-print-dags 2>&1 | FileCheck %s --check-prefixes=CHECK,FUSEAES,FUSECRYPTO
# RUN: llc -o /dev/null %s -passes=machine-scheduler -mtriple aarch64-- -mattr=-fuse-aes,+crypto -misched-print-dags 2>&1 | FileCheck %s --check-prefixes=CHECK,NOFUSE
# RUN: llc -o /dev/null %s -passes=machine-scheduler -mtriple aarch64-- -mattr=+fuse-aes,+crypto -misched-print-dags 2>&1 | FileCheck %s --check-prefixes=CHECK,FUSEAES
# RUN: llc -o /dev/null %s -passes=machine-scheduler -mtriple aarch64-- -mattr=+fuse-aes,+fuse-crypto-eor,+crypto -misched-print-dags 2>&1 | FileCheck %s --check-prefixes=CHECK,FUSEAES,FUSECRYPTO
# REQUIRES: asserts
name: func
body: |
bb.0:
; CHECK: SU(0): %0:fpr128 = AESErr undef $q0(tied-def 0), undef $q1
; CHECK: Successors:
; NOFUSE-NOT: SU({{.*}}): Ord
; FUSEAES: SU(1): Ord Latency=0 Cluster
; CHECK: SU(1): %1:fpr128 = AESMCrrTied %0:fpr128
%0:fpr128 = AESErr undef $q0, undef $q1
%1:fpr128 = AESMCrrTied %0
; CHECK: SU(2): %2:fpr128 = AESErr undef $q2(tied-def 0), undef $q3
; CHECK: Successors:
; NOFUSE-NOT: SU({{.*}}): Ord
; FUSEAES: SU(3): Ord Latency=0 Cluster
; CHECK: SU(3): dead %3:fpr128 = AESMCrr %2:fpr128
%2:fpr128 = AESErr undef $q2, undef $q3
%3:fpr128 = AESMCrr %2
; CHECK: SU(4): %4:fpr128 = AESErr %1:fpr128(tied-def 0), undef $q4
; CHECK: Successors:
; NOFUSE-NOT: SU({{.*}}): Ord
; FUSEAES-NOT: SU({{.*}}): Ord
; FUSECRYPTO: SU(5): Ord Latency=0 Cluster
; CHECK: SU(5): dead %5:fpr128 = EORv16i8 %4:fpr128, undef $q5
%4:fpr128 = AESErr %1, undef $q4
%5:fpr128 = EORv16i8 %4, undef $q5
; CHECK: SU(6): %6:fpr128 = AESDrr undef $q0(tied-def 0), undef $q1
; CHECK: Successors:
; NOFUSE-NOT: SU({{.*}}): Ord
; FUSEAES: SU(7): Ord Latency=0 Cluster
; CHECK: SU(7): %7:fpr128 = AESIMCrrTied %6:fpr128
%6:fpr128 = AESDrr undef $q0, undef $q1
%7:fpr128 = AESIMCrrTied %6
; CHECK: SU(8): %8:fpr128 = AESDrr undef $q2(tied-def 0), undef $q3
; CHECK: Successors:
; NOFUSE-NOT: SU({{.*}}): Ord
; FUSEAES: SU(9): Ord Latency=0 Cluster
; CHECK: SU(9): dead %9:fpr128 = AESIMCrr %8:fpr128
%8:fpr128 = AESDrr undef $q2, undef $q3
%9:fpr128 = AESIMCrr %8
; CHECK: SU(10): %10:fpr128 = AESDrr %7:fpr128(tied-def 0), undef $q0
; CHECK: Successors:
; NOFUSE-NOT: SU({{.*}}): Ord
; FUSEAES-NOT: SU({{.*}}): Ord
; FUSECRYPTO: SU(11): Ord Latency=0 Cluster
; CHECK: SU(11): dead %11:fpr128 = EORv16i8 %10:fpr128, undef $q1
%10:fpr128 = AESDrr %7, undef $q0
%11:fpr128 = EORv16i8 %10, undef $q1
; CHECK: SU(12): %12:fpr128 = PMULLv16i8 undef $q0, undef $q1
; CHECK: Successors:
; NOFUSE-NOT: SU({{.*}}): Ord
; FUSEAES-NOT: SU({{.*}}): Ord
; FUSECRYPTO: SU(13): Ord Latency=0 Cluster
; CHECK: SU(13): dead %13:fpr128 = EORv16i8 %12:fpr128, undef $q2
%12:fpr128 = PMULLv16i8 undef $q0, undef $q1
%13:fpr128 = EORv16i8 %12, undef $q2
; CHECK: SU(14): %14:fpr128 = PMULLv8i8 undef $d0, undef $d1
; CHECK: Successors:
; NOFUSE-NOT: SU({{.*}}): Ord
; FUSEAES-NOT: SU({{.*}}): Ord
; FUSECRYPTO: SU(15): Ord Latency=0 Cluster
; CHECK: SU(15): dead %15:fpr128 = EORv16i8 %14:fpr128, undef $q3
%14:fpr128 = PMULLv8i8 undef $d0, undef $d1
%15:fpr128 = EORv16i8 %14, undef $q3