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
280 lines
12 KiB
TableGen
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: }
|