brintos

brintos / llvm-project-archived public Read only

0
0
Text · 21.4 KiB · 5fcb118 Raw
224 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py2 3; RUN: opt -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -S < %s | FileCheck --check-prefix=CHECK-DEFAULT %s4; RUN: opt -aarch64-insert-extract-base-cost=0 -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -S < %s | FileCheck --check-prefix=CHECK-LOW %s5; RUN: opt -aarch64-insert-extract-base-cost=100000 -passes="print<cost-model>" -cost-kind=all 2>&1 -disable-output -S < %s | FileCheck --check-prefix=CHECK-HIGH %s6 7target triple = "aarch64-unknown-linux-gnu"8target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"9 10define void @ins_el0() #0 {11; CHECK-DEFAULT-LABEL: 'ins_el0'12; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:2 Lat:3 SizeLat:3 for: %vi1 = insertelement <vscale x 16 x i1> zeroinitializer, i1 false, i64 013; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v0 = insertelement <vscale x 16 x i8> zeroinitializer, i8 0, i64 014; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v1 = insertelement <vscale x 8 x i16> zeroinitializer, i16 0, i64 015; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v2 = insertelement <vscale x 4 x i32> zeroinitializer, i32 0, i64 016; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v3 = insertelement <vscale x 2 x i64> zeroinitializer, i64 0, i64 017; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of 0 for: %v4 = insertelement <vscale x 4 x float> zeroinitializer, float 0.000000e+00, i64 018; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of 0 for: %v5 = insertelement <vscale x 2 x double> zeroinitializer, double 0.000000e+00, i64 019; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void20;21; CHECK-LOW-LABEL: 'ins_el0'22; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:2 Lat:1 SizeLat:1 for: %vi1 = insertelement <vscale x 16 x i1> zeroinitializer, i1 false, i64 023; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v0 = insertelement <vscale x 16 x i8> zeroinitializer, i8 0, i64 024; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v1 = insertelement <vscale x 8 x i16> zeroinitializer, i16 0, i64 025; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v2 = insertelement <vscale x 4 x i32> zeroinitializer, i32 0, i64 026; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v3 = insertelement <vscale x 2 x i64> zeroinitializer, i64 0, i64 027; CHECK-LOW-NEXT:  Cost Model: Found costs of 0 for: %v4 = insertelement <vscale x 4 x float> zeroinitializer, float 0.000000e+00, i64 028; CHECK-LOW-NEXT:  Cost Model: Found costs of 0 for: %v5 = insertelement <vscale x 2 x double> zeroinitializer, double 0.000000e+00, i64 029; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void30;31; CHECK-HIGH-LABEL: 'ins_el0'32; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100001 CodeSize:2 Lat:100001 SizeLat:100001 for: %vi1 = insertelement <vscale x 16 x i1> zeroinitializer, i1 false, i64 033; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v0 = insertelement <vscale x 16 x i8> zeroinitializer, i8 0, i64 034; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v1 = insertelement <vscale x 8 x i16> zeroinitializer, i16 0, i64 035; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v2 = insertelement <vscale x 4 x i32> zeroinitializer, i32 0, i64 036; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v3 = insertelement <vscale x 2 x i64> zeroinitializer, i64 0, i64 037; CHECK-HIGH-NEXT:  Cost Model: Found costs of 0 for: %v4 = insertelement <vscale x 4 x float> zeroinitializer, float 0.000000e+00, i64 038; CHECK-HIGH-NEXT:  Cost Model: Found costs of 0 for: %v5 = insertelement <vscale x 2 x double> zeroinitializer, double 0.000000e+00, i64 039; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void40;41  %vi1 = insertelement <vscale x 16 x i1> zeroinitializer, i1 0, i64 042  %v0 = insertelement <vscale x 16 x i8> zeroinitializer, i8 0, i64 043  %v1 = insertelement <vscale x 8 x i16> zeroinitializer, i16 0, i64 044  %v2 = insertelement <vscale x 4 x i32> zeroinitializer, i32 0, i64 045  %v3 = insertelement <vscale x 2 x i64> zeroinitializer, i64 0, i64 046  %v4 = insertelement <vscale x 4 x float> zeroinitializer, float 0., i64 047  %v5 = insertelement <vscale x 2 x double> zeroinitializer, double 0., i64 048  ret void49}50 51define void @ins_el1() #0 {52; CHECK-DEFAULT-LABEL: 'ins_el1'53; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:2 Lat:3 SizeLat:3 for: %vi1 = insertelement <vscale x 16 x i1> zeroinitializer, i1 false, i64 154; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v0 = insertelement <vscale x 16 x i8> zeroinitializer, i8 0, i64 155; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v1 = insertelement <vscale x 8 x i16> zeroinitializer, i16 0, i64 156; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v2 = insertelement <vscale x 4 x i32> zeroinitializer, i32 0, i64 157; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v3 = insertelement <vscale x 2 x i64> zeroinitializer, i64 0, i64 158; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v4 = insertelement <vscale x 4 x float> zeroinitializer, float 0.000000e+00, i64 159; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v5 = insertelement <vscale x 2 x double> zeroinitializer, double 0.000000e+00, i64 160; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void61;62; CHECK-LOW-LABEL: 'ins_el1'63; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:2 Lat:1 SizeLat:1 for: %vi1 = insertelement <vscale x 16 x i1> zeroinitializer, i1 false, i64 164; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v0 = insertelement <vscale x 16 x i8> zeroinitializer, i8 0, i64 165; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v1 = insertelement <vscale x 8 x i16> zeroinitializer, i16 0, i64 166; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v2 = insertelement <vscale x 4 x i32> zeroinitializer, i32 0, i64 167; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v3 = insertelement <vscale x 2 x i64> zeroinitializer, i64 0, i64 168; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v4 = insertelement <vscale x 4 x float> zeroinitializer, float 0.000000e+00, i64 169; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v5 = insertelement <vscale x 2 x double> zeroinitializer, double 0.000000e+00, i64 170; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void71;72; CHECK-HIGH-LABEL: 'ins_el1'73; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100001 CodeSize:2 Lat:100001 SizeLat:100001 for: %vi1 = insertelement <vscale x 16 x i1> zeroinitializer, i1 false, i64 174; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v0 = insertelement <vscale x 16 x i8> zeroinitializer, i8 0, i64 175; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v1 = insertelement <vscale x 8 x i16> zeroinitializer, i16 0, i64 176; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v2 = insertelement <vscale x 4 x i32> zeroinitializer, i32 0, i64 177; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v3 = insertelement <vscale x 2 x i64> zeroinitializer, i64 0, i64 178; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v4 = insertelement <vscale x 4 x float> zeroinitializer, float 0.000000e+00, i64 179; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v5 = insertelement <vscale x 2 x double> zeroinitializer, double 0.000000e+00, i64 180; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void81;82  %vi1 = insertelement <vscale x 16 x i1> zeroinitializer, i1 0, i64 183  %v0 = insertelement <vscale x 16 x i8> zeroinitializer, i8 0, i64 184  %v1 = insertelement <vscale x 8 x i16> zeroinitializer, i16 0, i64 185  %v2 = insertelement <vscale x 4 x i32> zeroinitializer, i32 0, i64 186  %v3 = insertelement <vscale x 2 x i64> zeroinitializer, i64 0, i64 187  %v4 = insertelement <vscale x 4 x float> zeroinitializer, float 0., i64 188  %v5 = insertelement <vscale x 2 x double> zeroinitializer, double 0., i64 189  ret void90}91 92 93define void @ext_el0() #0 {94; CHECK-DEFAULT-LABEL: 'ext_el0'95; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:2 Lat:3 SizeLat:3 for: %vi1 = extractelement <vscale x 16 x i1> zeroinitializer, i64 096; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v0 = extractelement <vscale x 16 x i8> zeroinitializer, i64 097; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v1 = extractelement <vscale x 8 x i16> zeroinitializer, i64 098; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v2 = extractelement <vscale x 4 x i32> zeroinitializer, i64 099; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v3 = extractelement <vscale x 2 x i64> zeroinitializer, i64 0100; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of 0 for: %v4 = extractelement <vscale x 4 x float> zeroinitializer, i64 0101; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of 0 for: %v5 = extractelement <vscale x 2 x double> zeroinitializer, i64 0102; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void103;104; CHECK-LOW-LABEL: 'ext_el0'105; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:2 Lat:1 SizeLat:1 for: %vi1 = extractelement <vscale x 16 x i1> zeroinitializer, i64 0106; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v0 = extractelement <vscale x 16 x i8> zeroinitializer, i64 0107; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v1 = extractelement <vscale x 8 x i16> zeroinitializer, i64 0108; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v2 = extractelement <vscale x 4 x i32> zeroinitializer, i64 0109; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v3 = extractelement <vscale x 2 x i64> zeroinitializer, i64 0110; CHECK-LOW-NEXT:  Cost Model: Found costs of 0 for: %v4 = extractelement <vscale x 4 x float> zeroinitializer, i64 0111; CHECK-LOW-NEXT:  Cost Model: Found costs of 0 for: %v5 = extractelement <vscale x 2 x double> zeroinitializer, i64 0112; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void113;114; CHECK-HIGH-LABEL: 'ext_el0'115; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100001 CodeSize:2 Lat:100001 SizeLat:100001 for: %vi1 = extractelement <vscale x 16 x i1> zeroinitializer, i64 0116; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v0 = extractelement <vscale x 16 x i8> zeroinitializer, i64 0117; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v1 = extractelement <vscale x 8 x i16> zeroinitializer, i64 0118; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v2 = extractelement <vscale x 4 x i32> zeroinitializer, i64 0119; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v3 = extractelement <vscale x 2 x i64> zeroinitializer, i64 0120; CHECK-HIGH-NEXT:  Cost Model: Found costs of 0 for: %v4 = extractelement <vscale x 4 x float> zeroinitializer, i64 0121; CHECK-HIGH-NEXT:  Cost Model: Found costs of 0 for: %v5 = extractelement <vscale x 2 x double> zeroinitializer, i64 0122; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void123;124  %vi1 = extractelement <vscale x 16 x i1> zeroinitializer, i64 0125  %v0 = extractelement <vscale x 16 x i8> zeroinitializer, i64 0126  %v1 = extractelement <vscale x 8 x i16> zeroinitializer, i64 0127  %v2 = extractelement <vscale x 4 x i32> zeroinitializer, i64 0128  %v3 = extractelement <vscale x 2 x i64> zeroinitializer, i64 0129  %v4 = extractelement <vscale x 4 x float> zeroinitializer, i64 0130  %v5 = extractelement <vscale x 2 x double> zeroinitializer, i64 0131  ret void132}133 134define void @ext_el1() #0 {135; CHECK-DEFAULT-LABEL: 'ext_el1'136; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:2 Lat:3 SizeLat:3 for: %vi1 = extractelement <vscale x 16 x i1> zeroinitializer, i64 1137; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v0 = extractelement <vscale x 16 x i8> zeroinitializer, i64 1138; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v1 = extractelement <vscale x 8 x i16> zeroinitializer, i64 1139; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v2 = extractelement <vscale x 4 x i32> zeroinitializer, i64 1140; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v3 = extractelement <vscale x 2 x i64> zeroinitializer, i64 1141; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v4 = extractelement <vscale x 4 x float> zeroinitializer, i64 1142; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v5 = extractelement <vscale x 2 x double> zeroinitializer, i64 1143; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void144;145; CHECK-LOW-LABEL: 'ext_el1'146; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:2 Lat:1 SizeLat:1 for: %vi1 = extractelement <vscale x 16 x i1> zeroinitializer, i64 1147; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v0 = extractelement <vscale x 16 x i8> zeroinitializer, i64 1148; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v1 = extractelement <vscale x 8 x i16> zeroinitializer, i64 1149; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v2 = extractelement <vscale x 4 x i32> zeroinitializer, i64 1150; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v3 = extractelement <vscale x 2 x i64> zeroinitializer, i64 1151; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v4 = extractelement <vscale x 4 x float> zeroinitializer, i64 1152; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v5 = extractelement <vscale x 2 x double> zeroinitializer, i64 1153; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void154;155; CHECK-HIGH-LABEL: 'ext_el1'156; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100001 CodeSize:2 Lat:100001 SizeLat:100001 for: %vi1 = extractelement <vscale x 16 x i1> zeroinitializer, i64 1157; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v0 = extractelement <vscale x 16 x i8> zeroinitializer, i64 1158; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v1 = extractelement <vscale x 8 x i16> zeroinitializer, i64 1159; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v2 = extractelement <vscale x 4 x i32> zeroinitializer, i64 1160; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v3 = extractelement <vscale x 2 x i64> zeroinitializer, i64 1161; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v4 = extractelement <vscale x 4 x float> zeroinitializer, i64 1162; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v5 = extractelement <vscale x 2 x double> zeroinitializer, i64 1163; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void164;165  %vi1 = extractelement <vscale x 16 x i1> zeroinitializer, i64 1166  %v0 = extractelement <vscale x 16 x i8> zeroinitializer, i64 1167  %v1 = extractelement <vscale x 8 x i16> zeroinitializer, i64 1168  %v2 = extractelement <vscale x 4 x i32> zeroinitializer, i64 1169  %v3 = extractelement <vscale x 2 x i64> zeroinitializer, i64 1170  %v4 = extractelement <vscale x 4 x float> zeroinitializer, i64 1171  %v5 = extractelement <vscale x 2 x double> zeroinitializer, i64 1172  ret void173}174 175 176; Test the behaviour in the presence of a CPU-specific override in AArch64Subtarget (via attribute set).177define void @test_override_cpu_given() #1 {178; CHECK-DEFAULT-LABEL: 'test_override_cpu_given'179; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:3 CodeSize:2 Lat:3 SizeLat:3 for: %vi1 = extractelement <vscale x 16 x i1> zeroinitializer, i64 1180; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v0 = extractelement <vscale x 16 x i8> zeroinitializer, i64 1181; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v1 = extractelement <vscale x 8 x i16> zeroinitializer, i64 1182; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v2 = extractelement <vscale x 4 x i32> zeroinitializer, i64 1183; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v3 = extractelement <vscale x 2 x i64> zeroinitializer, i64 1184; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v4 = extractelement <vscale x 4 x float> zeroinitializer, i64 1185; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:2 CodeSize:1 Lat:2 SizeLat:2 for: %v5 = extractelement <vscale x 2 x double> zeroinitializer, i64 1186; CHECK-DEFAULT-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void187;188; CHECK-LOW-LABEL: 'test_override_cpu_given'189; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:1 CodeSize:2 Lat:1 SizeLat:1 for: %vi1 = extractelement <vscale x 16 x i1> zeroinitializer, i64 1190; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v0 = extractelement <vscale x 16 x i8> zeroinitializer, i64 1191; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v1 = extractelement <vscale x 8 x i16> zeroinitializer, i64 1192; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v2 = extractelement <vscale x 4 x i32> zeroinitializer, i64 1193; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v3 = extractelement <vscale x 2 x i64> zeroinitializer, i64 1194; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v4 = extractelement <vscale x 4 x float> zeroinitializer, i64 1195; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:0 SizeLat:0 for: %v5 = extractelement <vscale x 2 x double> zeroinitializer, i64 1196; CHECK-LOW-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void197;198; CHECK-HIGH-LABEL: 'test_override_cpu_given'199; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100001 CodeSize:2 Lat:100001 SizeLat:100001 for: %vi1 = extractelement <vscale x 16 x i1> zeroinitializer, i64 1200; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v0 = extractelement <vscale x 16 x i8> zeroinitializer, i64 1201; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v1 = extractelement <vscale x 8 x i16> zeroinitializer, i64 1202; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v2 = extractelement <vscale x 4 x i32> zeroinitializer, i64 1203; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v3 = extractelement <vscale x 2 x i64> zeroinitializer, i64 1204; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v4 = extractelement <vscale x 4 x float> zeroinitializer, i64 1205; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:100000 CodeSize:1 Lat:100000 SizeLat:100000 for: %v5 = extractelement <vscale x 2 x double> zeroinitializer, i64 1206; CHECK-HIGH-NEXT:  Cost Model: Found costs of RThru:0 CodeSize:1 Lat:1 SizeLat:1 for: ret void207;208  %vi1 = extractelement <vscale x 16 x i1> zeroinitializer, i64 1209  %v0 = extractelement <vscale x 16 x i8> zeroinitializer, i64 1210  %v1 = extractelement <vscale x 8 x i16> zeroinitializer, i64 1211  %v2 = extractelement <vscale x 4 x i32> zeroinitializer, i64 1212  %v3 = extractelement <vscale x 2 x i64> zeroinitializer, i64 1213  %v4 = extractelement <vscale x 4 x float> zeroinitializer, i64 1214  %v5 = extractelement <vscale x 2 x double> zeroinitializer, i64 1215  ret void216}217 218 219 220 221 222attributes #0 = { "target-features"="+sve" vscale_range(1, 16) }223attributes #1 = { "target-features"="+sve" vscale_range(1, 16) "target-cpu"="kryo" }224