Files
TheRock/compiler/amd-llvm/llvm/test/TableGen/aarch64-apple-tuning-features.td
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

280 lines
12 KiB
TableGen

// RUN: llvm-tblgen -print-records %p/../../lib/Target/AArch64/AArch64.td -I %p/../../lib/Target/AArch64 -I %p/../../include \
// RUN: | awk '{gsub(/\[/,"[\n"); gsub(/, /,",\n"); print}' \
// RUN: | FileCheck %s --implicit-check-not="def TuneApple"
// Verify the resolved tuning feature lists for Apple CPUs.
// Each generation inherits from the previous and applies add/remove deltas.
// When adding a tuning feature to an Apple core, update the expected list below.
// CHECK-LABEL: def TuneAppleA10 { // SubtargetFeature
// CHECK-NEXT: string Name = "apple-a10";
// CHECK-NEXT: string FieldName = "ARMProcFamily";
// CHECK-NEXT: string Value = "AppleA10";
// CHECK-NEXT: string Desc = "Apple A10";
// CHECK-NEXT: list<SubtargetFeature> Implies = [
// CHECK-NEXT: FeatureAlternateSExtLoadCVTF32Pattern,
// CHECK-NEXT: FeatureArithmeticBccFusion,
// CHECK-NEXT: FeatureArithmeticCbzFusion,
// CHECK-NEXT: FeatureDisableLatencySchedHeuristic,
// CHECK-NEXT: FeatureFuseAES,
// CHECK-NEXT: FeatureFuseCryptoEOR,
// CHECK-NEXT: FeatureNoZCZeroingFPR64,
// CHECK-NEXT: FeatureStorePairSuppress,
// CHECK-NEXT: FeatureZCRegMoveFPR128,
// CHECK-NEXT: FeatureZCRegMoveGPR64,
// CHECK-NEXT: FeatureZCZeroingFPR128,
// CHECK-NEXT: FeatureZCZeroingGPR32,
// CHECK-NEXT: FeatureZCZeroingGPR64];
// CHECK-NEXT: }
// CHECK-LABEL: def TuneAppleA11 { // SubtargetFeature
// CHECK-NEXT: string Name = "apple-a11";
// CHECK-NEXT: string FieldName = "ARMProcFamily";
// CHECK-NEXT: string Value = "AppleA11";
// CHECK-NEXT: string Desc = "Apple A11";
// CHECK-NEXT: list<SubtargetFeature> Implies = [
// CHECK-NEXT: FeatureAlternateSExtLoadCVTF32Pattern,
// CHECK-NEXT: FeatureArithmeticBccFusion,
// CHECK-NEXT: FeatureArithmeticCbzFusion,
// CHECK-NEXT: FeatureDisableLatencySchedHeuristic,
// CHECK-NEXT: FeatureFuseAES,
// CHECK-NEXT: FeatureFuseCryptoEOR,
// CHECK-NEXT: FeatureNoZCZeroingFPR64,
// CHECK-NEXT: FeatureStorePairSuppress,
// CHECK-NEXT: FeatureZCRegMoveFPR128,
// CHECK-NEXT: FeatureZCRegMoveGPR64,
// CHECK-NEXT: FeatureZCZeroingFPR128,
// CHECK-NEXT: FeatureZCZeroingGPR32,
// CHECK-NEXT: FeatureZCZeroingGPR64];
// CHECK-NEXT: }
// CHECK-LABEL: def TuneAppleA12 { // SubtargetFeature
// CHECK-NEXT: string Name = "apple-a12";
// CHECK-NEXT: string FieldName = "ARMProcFamily";
// CHECK-NEXT: string Value = "AppleA12";
// CHECK-NEXT: string Desc = "Apple A12";
// CHECK-NEXT: list<SubtargetFeature> Implies = [
// CHECK-NEXT: FeatureAlternateSExtLoadCVTF32Pattern,
// CHECK-NEXT: FeatureArithmeticBccFusion,
// CHECK-NEXT: FeatureArithmeticCbzFusion,
// CHECK-NEXT: FeatureDisableLatencySchedHeuristic,
// CHECK-NEXT: FeatureFuseAES,
// CHECK-NEXT: FeatureFuseCryptoEOR,
// CHECK-NEXT: FeatureNoZCZeroingFPR64,
// CHECK-NEXT: FeatureStorePairSuppress,
// CHECK-NEXT: FeatureZCRegMoveFPR128,
// CHECK-NEXT: FeatureZCRegMoveGPR64,
// CHECK-NEXT: FeatureZCZeroingFPR128,
// CHECK-NEXT: FeatureZCZeroingGPR32,
// CHECK-NEXT: FeatureZCZeroingGPR64];
// CHECK-NEXT: }
// CHECK-LABEL: def TuneAppleA13 { // SubtargetFeature
// CHECK-NEXT: string Name = "apple-a13";
// CHECK-NEXT: string FieldName = "ARMProcFamily";
// CHECK-NEXT: string Value = "AppleA13";
// CHECK-NEXT: string Desc = "Apple A13";
// CHECK-NEXT: list<SubtargetFeature> Implies = [
// CHECK-NEXT: FeatureAlternateSExtLoadCVTF32Pattern,
// CHECK-NEXT: FeatureArithmeticBccFusion,
// CHECK-NEXT: FeatureArithmeticCbzFusion,
// CHECK-NEXT: FeatureDisableLatencySchedHeuristic,
// CHECK-NEXT: FeatureFuseAES,
// CHECK-NEXT: FeatureFuseCryptoEOR,
// CHECK-NEXT: FeatureNoZCZeroingFPR64,
// CHECK-NEXT: FeatureStorePairSuppress,
// CHECK-NEXT: FeatureZCRegMoveFPR128,
// CHECK-NEXT: FeatureZCRegMoveGPR64,
// CHECK-NEXT: FeatureZCZeroingFPR128,
// CHECK-NEXT: FeatureZCZeroingGPR32,
// CHECK-NEXT: FeatureZCZeroingGPR64];
// CHECK-NEXT: }
// CHECK-LABEL: def TuneAppleA14 { // SubtargetFeature
// CHECK-NEXT: string Name = "apple-a14";
// CHECK-NEXT: string FieldName = "ARMProcFamily";
// CHECK-NEXT: string Value = "AppleA14";
// CHECK-NEXT: string Desc = "Apple A14";
// CHECK-NEXT: list<SubtargetFeature> Implies = [
// CHECK-NEXT: FeatureAggressiveFMA,
// CHECK-NEXT: FeatureAlignCmpCSelPairs,
// CHECK-NEXT: FeatureAlternateSExtLoadCVTF32Pattern,
// CHECK-NEXT: FeatureArithmeticBccFusion,
// CHECK-NEXT: FeatureArithmeticCbzFusion,
// CHECK-NEXT: FeatureDisableLatencySchedHeuristic,
// CHECK-NEXT: FeatureFastLD1Single,
// CHECK-NEXT: FeatureFuseAddress,
// CHECK-NEXT: FeatureFuseAES,
// CHECK-NEXT: FeatureFuseArithmeticLogic,
// CHECK-NEXT: FeatureFuseCryptoEOR,
// CHECK-NEXT: FeatureFuseCmpCSel,
// CHECK-NEXT: FeatureFuseLiterals,
// CHECK-NEXT: FeatureMaxInterleaveFactor4,
// CHECK-NEXT: FeatureNoZCZeroingFPR64,
// CHECK-NEXT: FeatureStorePairSuppress,
// CHECK-NEXT: FeatureZCRegMoveFPR128,
// CHECK-NEXT: FeatureZCRegMoveGPR64,
// CHECK-NEXT: FeatureZCZeroingFPR128,
// CHECK-NEXT: FeatureZCZeroingGPR32,
// CHECK-NEXT: FeatureZCZeroingGPR64];
// CHECK-NEXT: }
// CHECK-LABEL: def TuneAppleA15 { // SubtargetFeature
// CHECK-NEXT: string Name = "apple-a15";
// CHECK-NEXT: string FieldName = "ARMProcFamily";
// CHECK-NEXT: string Value = "AppleA15";
// CHECK-NEXT: string Desc = "Apple A15";
// CHECK-NEXT: list<SubtargetFeature> Implies = [
// CHECK-NEXT: FeatureAlignCmpCSelPairs,
// CHECK-NEXT: FeatureAlternateSExtLoadCVTF32Pattern,
// CHECK-NEXT: FeatureArithmeticBccFusion,
// CHECK-NEXT: FeatureArithmeticCbzFusion,
// CHECK-NEXT: FeatureDisableLatencySchedHeuristic,
// CHECK-NEXT: FeatureFastLD1Single,
// CHECK-NEXT: FeatureFuseAddress,
// CHECK-NEXT: FeatureFuseAdrpAdd,
// CHECK-NEXT: FeatureFuseAES,
// CHECK-NEXT: FeatureFuseArithmeticLogic,
// CHECK-NEXT: FeatureFuseCryptoEOR,
// CHECK-NEXT: FeatureFuseCmpCSel,
// CHECK-NEXT: FeatureFuseLiterals,
// CHECK-NEXT: FeatureMaxInterleaveFactor4,
// CHECK-NEXT: FeatureNoZCZeroingFPR64,
// CHECK-NEXT: FeatureStorePairSuppress,
// CHECK-NEXT: FeatureZCRegMoveFPR128,
// CHECK-NEXT: FeatureZCRegMoveGPR64,
// CHECK-NEXT: FeatureZCZeroingFPR128,
// CHECK-NEXT: FeatureZCZeroingGPR32,
// CHECK-NEXT: FeatureZCZeroingGPR64];
// CHECK-NEXT: }
// CHECK-LABEL: def TuneAppleA16 { // SubtargetFeature
// CHECK-NEXT: string Name = "apple-a16";
// CHECK-NEXT: string FieldName = "ARMProcFamily";
// CHECK-NEXT: string Value = "AppleA16";
// CHECK-NEXT: string Desc = "Apple A16";
// CHECK-NEXT: list<SubtargetFeature> Implies = [
// CHECK-NEXT: FeatureAlignCmpCSelPairs,
// CHECK-NEXT: FeatureAlternateSExtLoadCVTF32Pattern,
// CHECK-NEXT: FeatureArithmeticBccFusion,
// CHECK-NEXT: FeatureArithmeticCbzFusion,
// CHECK-NEXT: FeatureDisableLatencySchedHeuristic,
// CHECK-NEXT: FeatureFastLD1Single,
// CHECK-NEXT: FeatureFuseAddress,
// CHECK-NEXT: FeatureFuseAdrpAdd,
// CHECK-NEXT: FeatureFuseAES,
// CHECK-NEXT: FeatureFuseArithmeticLogic,
// CHECK-NEXT: FeatureFuseCryptoEOR,
// CHECK-NEXT: FeatureFuseCmpCSel,
// CHECK-NEXT: FeatureFuseFCmpFCSel,
// CHECK-NEXT: FeatureFuseLiterals,
// CHECK-NEXT: FeatureMaxInterleaveFactor4,
// CHECK-NEXT: FeatureNoZCZeroingFPR64,
// CHECK-NEXT: FeatureStorePairSuppress,
// CHECK-NEXT: FeatureZCRegMoveFPR128,
// CHECK-NEXT: FeatureZCRegMoveGPR64,
// CHECK-NEXT: FeatureZCZeroingFPR128,
// CHECK-NEXT: FeatureZCZeroingGPR32,
// CHECK-NEXT: FeatureZCZeroingGPR64];
// CHECK-NEXT: }
// CHECK-LABEL: def TuneAppleA17 { // SubtargetFeature
// CHECK-NEXT: string Name = "apple-a17";
// CHECK-NEXT: string FieldName = "ARMProcFamily";
// CHECK-NEXT: string Value = "AppleA17";
// CHECK-NEXT: string Desc = "Apple A17";
// CHECK-NEXT: list<SubtargetFeature> Implies = [
// CHECK-NEXT: FeatureAlignCmpCSelPairs,
// CHECK-NEXT: FeatureAlternateSExtLoadCVTF32Pattern,
// CHECK-NEXT: FeatureArithmeticBccFusion,
// CHECK-NEXT: FeatureArithmeticCbzFusion,
// CHECK-NEXT: FeatureDisableLatencySchedHeuristic,
// CHECK-NEXT: FeatureFastLD1Single,
// CHECK-NEXT: FeatureFuseAddress,
// CHECK-NEXT: FeatureFuseAdrpAdd,
// CHECK-NEXT: FeatureFuseAES,
// CHECK-NEXT: FeatureFuseArithmeticLogic,
// CHECK-NEXT: FeatureFuseCryptoEOR,
// CHECK-NEXT: FeatureFuseCmpCSel,
// CHECK-NEXT: FeatureFuseFCmpFCSel,
// CHECK-NEXT: FeatureFuseLiterals,
// CHECK-NEXT: FeatureMaxInterleaveFactor4,
// CHECK-NEXT: FeatureNoZCZeroingFPR64,
// CHECK-NEXT: FeatureStorePairSuppress,
// CHECK-NEXT: FeatureZCRegMoveFPR128,
// CHECK-NEXT: FeatureZCRegMoveGPR64,
// CHECK-NEXT: FeatureZCZeroingFPR128,
// CHECK-NEXT: FeatureZCZeroingGPR32,
// CHECK-NEXT: FeatureZCZeroingGPR64];
// CHECK-NEXT: }
// CHECK-LABEL: def TuneAppleA7 { // SubtargetFeature
// CHECK-NEXT: string Name = "apple-a7";
// CHECK-NEXT: string FieldName = "ARMProcFamily";
// CHECK-NEXT: string Value = "AppleA7";
// CHECK-NEXT: string Desc = "Apple A7 (the CPU formerly known as Cyclone)";
// CHECK-NEXT: list<SubtargetFeature> Implies = [
// CHECK-NEXT: FeatureAlternateSExtLoadCVTF32Pattern,
// CHECK-NEXT: FeatureArithmeticBccFusion,
// CHECK-NEXT: FeatureArithmeticCbzFusion,
// CHECK-NEXT: FeatureDisableLatencySchedHeuristic,
// CHECK-NEXT: FeatureFuseAES,
// CHECK-NEXT: FeatureFuseCryptoEOR,
// CHECK-NEXT: FeatureNoZCZeroingFPR64,
// CHECK-NEXT: FeatureStorePairSuppress,
// CHECK-NEXT: FeatureZCRegMoveFPR128,
// CHECK-NEXT: FeatureZCRegMoveGPR64,
// CHECK-NEXT: FeatureZCZeroingFPWorkaround,
// CHECK-NEXT: FeatureZCZeroingFPR128,
// CHECK-NEXT: FeatureZCZeroingGPR32,
// CHECK-NEXT: FeatureZCZeroingGPR64];
// CHECK-NEXT: }
// CHECK-LABEL: def TuneAppleM4 { // SubtargetFeature
// CHECK-NEXT: string Name = "apple-m4";
// CHECK-NEXT: string FieldName = "ARMProcFamily";
// CHECK-NEXT: string Value = "AppleM4";
// CHECK-NEXT: string Desc = "Apple M4";
// CHECK-NEXT: list<SubtargetFeature> Implies = [
// CHECK-NEXT: FeatureAlignCmpCSelPairs,
// CHECK-NEXT: FeatureAlternateSExtLoadCVTF32Pattern,
// CHECK-NEXT: FeatureArithmeticBccFusion,
// CHECK-NEXT: FeatureArithmeticCbzFusion,
// CHECK-NEXT: FeatureDisableLatencySchedHeuristic,
// CHECK-NEXT: FeatureFastLD1Single,
// CHECK-NEXT: FeatureFuseAddress,
// CHECK-NEXT: FeatureFuseAdrpAdd,
// CHECK-NEXT: FeatureFuseAES,
// CHECK-NEXT: FeatureFuseArithmeticLogic,
// CHECK-NEXT: FeatureFuseCryptoEOR,
// CHECK-NEXT: FeatureFuseCmpCSel,
// CHECK-NEXT: FeatureFuseFCmpFCSel,
// CHECK-NEXT: FeatureFuseLiterals,
// CHECK-NEXT: FeatureMaxInterleaveFactor4,
// CHECK-NEXT: FeatureNoZCZeroingFPR64,
// CHECK-NEXT: FeatureZCRegMoveFPR128,
// CHECK-NEXT: FeatureZCRegMoveGPR64,
// CHECK-NEXT: FeatureZCZeroingFPR128,
// CHECK-NEXT: FeatureZCZeroingGPR32,
// CHECK-NEXT: FeatureZCZeroingGPR64];
// CHECK-NEXT: }
// CHECK-LABEL: def TuneAppleM5 { // SubtargetFeature
// CHECK-NEXT: string Name = "apple-m5";
// CHECK-NEXT: string FieldName = "ARMProcFamily";
// CHECK-NEXT: string Value = "AppleM5";
// CHECK-NEXT: string Desc = "Apple M5";
// CHECK-NEXT: list<SubtargetFeature> Implies = [
// CHECK-NEXT: FeatureAlignCmpCSelPairs,
// CHECK-NEXT: FeatureAlternateSExtLoadCVTF32Pattern,
// CHECK-NEXT: FeatureArithmeticBccFusion,
// CHECK-NEXT: FeatureArithmeticCbzFusion,
// CHECK-NEXT: FeatureDisableLatencySchedHeuristic,
// CHECK-NEXT: FeatureFastLD1Single,
// CHECK-NEXT: FeatureFuseAddress,
// CHECK-NEXT: FeatureFuseAdrpAdd,
// CHECK-NEXT: FeatureFuseAES,
// CHECK-NEXT: FeatureFuseArithmeticLogic,
// CHECK-NEXT: FeatureFuseCryptoEOR,
// CHECK-NEXT: FeatureFuseCmpCSel,
// CHECK-NEXT: FeatureFuseFCmpFCSel,
// CHECK-NEXT: FeatureFuseLiterals,
// CHECK-NEXT: FeatureMaxInterleaveFactor4,
// CHECK-NEXT: FeatureNoZCZeroingFPR64,
// CHECK-NEXT: FeatureZCRegMoveFPR128,
// CHECK-NEXT: FeatureZCRegMoveGPR64,
// CHECK-NEXT: FeatureZCZeroingFPR128,
// CHECK-NEXT: FeatureZCZeroingGPR32,
// CHECK-NEXT: FeatureZCZeroingGPR64];
// CHECK-NEXT: }