1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -cost-model -analyze | FileCheck %s 2*9880d681SAndroid Build Coastguard Workertarget datalayout = "E-m:e-i64:64-n32:64" 3*9880d681SAndroid Build Coastguard Workertarget triple = "powerpc64-unknown-linux-gnu" 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_l_v16i8(<16 x i8>* %p) #0 { 6*9880d681SAndroid Build Coastguard Workerentry: 7*9880d681SAndroid Build Coastguard Worker %r = load <16 x i8>, <16 x i8>* %p, align 1 8*9880d681SAndroid Build Coastguard Worker ret <16 x i8> %r 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_v16i8 11*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: %r = load <16 x i8>, <16 x i8>* %p, align 1 12*9880d681SAndroid Build Coastguard Worker} 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Workerdefine <32 x i8> @test_l_v32i8(<32 x i8>* %p) #0 { 15*9880d681SAndroid Build Coastguard Workerentry: 16*9880d681SAndroid Build Coastguard Worker %r = load <32 x i8>, <32 x i8>* %p, align 1 17*9880d681SAndroid Build Coastguard Worker ret <32 x i8> %r 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_v32i8 20*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 4 for instruction: %r = load <32 x i8>, <32 x i8>* %p, align 1 21*9880d681SAndroid Build Coastguard Worker} 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_l_v8i16(<8 x i16>* %p) #0 { 24*9880d681SAndroid Build Coastguard Workerentry: 25*9880d681SAndroid Build Coastguard Worker %r = load <8 x i16>, <8 x i16>* %p, align 2 26*9880d681SAndroid Build Coastguard Worker ret <8 x i16> %r 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_v8i16 29*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: %r = load <8 x i16>, <8 x i16>* %p, align 2 30*9880d681SAndroid Build Coastguard Worker} 31*9880d681SAndroid Build Coastguard Worker 32*9880d681SAndroid Build Coastguard Workerdefine <16 x i16> @test_l_v16i16(<16 x i16>* %p) #0 { 33*9880d681SAndroid Build Coastguard Workerentry: 34*9880d681SAndroid Build Coastguard Worker %r = load <16 x i16>, <16 x i16>* %p, align 2 35*9880d681SAndroid Build Coastguard Worker ret <16 x i16> %r 36*9880d681SAndroid Build Coastguard Worker 37*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_v16i16 38*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 4 for instruction: %r = load <16 x i16>, <16 x i16>* %p, align 2 39*9880d681SAndroid Build Coastguard Worker} 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_l_v4i32(<4 x i32>* %p) #0 { 42*9880d681SAndroid Build Coastguard Workerentry: 43*9880d681SAndroid Build Coastguard Worker %r = load <4 x i32>, <4 x i32>* %p, align 4 44*9880d681SAndroid Build Coastguard Worker ret <4 x i32> %r 45*9880d681SAndroid Build Coastguard Worker 46*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_v4i32 47*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: %r = load <4 x i32>, <4 x i32>* %p, align 4 48*9880d681SAndroid Build Coastguard Worker} 49*9880d681SAndroid Build Coastguard Worker 50*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @test_l_v8i32(<8 x i32>* %p) #0 { 51*9880d681SAndroid Build Coastguard Workerentry: 52*9880d681SAndroid Build Coastguard Worker %r = load <8 x i32>, <8 x i32>* %p, align 4 53*9880d681SAndroid Build Coastguard Worker ret <8 x i32> %r 54*9880d681SAndroid Build Coastguard Worker 55*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_v8i32 56*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 4 for instruction: %r = load <8 x i32>, <8 x i32>* %p, align 4 57*9880d681SAndroid Build Coastguard Worker} 58*9880d681SAndroid Build Coastguard Worker 59*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_l_v2i64(<2 x i64>* %p) #0 { 60*9880d681SAndroid Build Coastguard Workerentry: 61*9880d681SAndroid Build Coastguard Worker %r = load <2 x i64>, <2 x i64>* %p, align 8 62*9880d681SAndroid Build Coastguard Worker ret <2 x i64> %r 63*9880d681SAndroid Build Coastguard Worker 64*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_v2i64 65*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 1 for instruction: %r = load <2 x i64>, <2 x i64>* %p, align 8 66*9880d681SAndroid Build Coastguard Worker} 67*9880d681SAndroid Build Coastguard Worker 68*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @test_l_v4i64(<4 x i64>* %p) #0 { 69*9880d681SAndroid Build Coastguard Workerentry: 70*9880d681SAndroid Build Coastguard Worker %r = load <4 x i64>, <4 x i64>* %p, align 8 71*9880d681SAndroid Build Coastguard Worker ret <4 x i64> %r 72*9880d681SAndroid Build Coastguard Worker 73*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_v4i64 74*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: %r = load <4 x i64>, <4 x i64>* %p, align 8 75*9880d681SAndroid Build Coastguard Worker} 76*9880d681SAndroid Build Coastguard Worker 77*9880d681SAndroid Build Coastguard Workerdefine <4 x float> @test_l_v4float(<4 x float>* %p) #0 { 78*9880d681SAndroid Build Coastguard Workerentry: 79*9880d681SAndroid Build Coastguard Worker %r = load <4 x float>, <4 x float>* %p, align 4 80*9880d681SAndroid Build Coastguard Worker ret <4 x float> %r 81*9880d681SAndroid Build Coastguard Worker 82*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_v4float 83*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: %r = load <4 x float>, <4 x float>* %p, align 4 84*9880d681SAndroid Build Coastguard Worker} 85*9880d681SAndroid Build Coastguard Worker 86*9880d681SAndroid Build Coastguard Workerdefine <8 x float> @test_l_v8float(<8 x float>* %p) #0 { 87*9880d681SAndroid Build Coastguard Workerentry: 88*9880d681SAndroid Build Coastguard Worker %r = load <8 x float>, <8 x float>* %p, align 4 89*9880d681SAndroid Build Coastguard Worker ret <8 x float> %r 90*9880d681SAndroid Build Coastguard Worker 91*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_v8float 92*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 4 for instruction: %r = load <8 x float>, <8 x float>* %p, align 4 93*9880d681SAndroid Build Coastguard Worker} 94*9880d681SAndroid Build Coastguard Worker 95*9880d681SAndroid Build Coastguard Workerdefine <2 x double> @test_l_v2double(<2 x double>* %p) #0 { 96*9880d681SAndroid Build Coastguard Workerentry: 97*9880d681SAndroid Build Coastguard Worker %r = load <2 x double>, <2 x double>* %p, align 8 98*9880d681SAndroid Build Coastguard Worker ret <2 x double> %r 99*9880d681SAndroid Build Coastguard Worker 100*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_v2double 101*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 1 for instruction: %r = load <2 x double>, <2 x double>* %p, align 8 102*9880d681SAndroid Build Coastguard Worker} 103*9880d681SAndroid Build Coastguard Worker 104*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @test_l_v4double(<4 x double>* %p) #0 { 105*9880d681SAndroid Build Coastguard Workerentry: 106*9880d681SAndroid Build Coastguard Worker %r = load <4 x double>, <4 x double>* %p, align 8 107*9880d681SAndroid Build Coastguard Worker ret <4 x double> %r 108*9880d681SAndroid Build Coastguard Worker 109*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_v4double 110*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: %r = load <4 x double>, <4 x double>* %p, align 8 111*9880d681SAndroid Build Coastguard Worker} 112*9880d681SAndroid Build Coastguard Worker 113*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @test_l_p8v16i8(<16 x i8>* %p) #2 { 114*9880d681SAndroid Build Coastguard Workerentry: 115*9880d681SAndroid Build Coastguard Worker %r = load <16 x i8>, <16 x i8>* %p, align 1 116*9880d681SAndroid Build Coastguard Worker ret <16 x i8> %r 117*9880d681SAndroid Build Coastguard Worker 118*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_p8v16i8 119*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 1 for instruction: %r = load <16 x i8>, <16 x i8>* %p, align 1 120*9880d681SAndroid Build Coastguard Worker} 121*9880d681SAndroid Build Coastguard Worker 122*9880d681SAndroid Build Coastguard Workerdefine <32 x i8> @test_l_p8v32i8(<32 x i8>* %p) #2 { 123*9880d681SAndroid Build Coastguard Workerentry: 124*9880d681SAndroid Build Coastguard Worker %r = load <32 x i8>, <32 x i8>* %p, align 1 125*9880d681SAndroid Build Coastguard Worker ret <32 x i8> %r 126*9880d681SAndroid Build Coastguard Worker 127*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_p8v32i8 128*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: %r = load <32 x i8>, <32 x i8>* %p, align 1 129*9880d681SAndroid Build Coastguard Worker} 130*9880d681SAndroid Build Coastguard Worker 131*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @test_l_p8v8i16(<8 x i16>* %p) #2 { 132*9880d681SAndroid Build Coastguard Workerentry: 133*9880d681SAndroid Build Coastguard Worker %r = load <8 x i16>, <8 x i16>* %p, align 2 134*9880d681SAndroid Build Coastguard Worker ret <8 x i16> %r 135*9880d681SAndroid Build Coastguard Worker 136*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_p8v8i16 137*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 1 for instruction: %r = load <8 x i16>, <8 x i16>* %p, align 2 138*9880d681SAndroid Build Coastguard Worker} 139*9880d681SAndroid Build Coastguard Worker 140*9880d681SAndroid Build Coastguard Workerdefine <16 x i16> @test_l_p8v16i16(<16 x i16>* %p) #2 { 141*9880d681SAndroid Build Coastguard Workerentry: 142*9880d681SAndroid Build Coastguard Worker %r = load <16 x i16>, <16 x i16>* %p, align 2 143*9880d681SAndroid Build Coastguard Worker ret <16 x i16> %r 144*9880d681SAndroid Build Coastguard Worker 145*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_p8v16i16 146*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: %r = load <16 x i16>, <16 x i16>* %p, align 2 147*9880d681SAndroid Build Coastguard Worker} 148*9880d681SAndroid Build Coastguard Worker 149*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @test_l_p8v4i32(<4 x i32>* %p) #2 { 150*9880d681SAndroid Build Coastguard Workerentry: 151*9880d681SAndroid Build Coastguard Worker %r = load <4 x i32>, <4 x i32>* %p, align 4 152*9880d681SAndroid Build Coastguard Worker ret <4 x i32> %r 153*9880d681SAndroid Build Coastguard Worker 154*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_p8v4i32 155*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 1 for instruction: %r = load <4 x i32>, <4 x i32>* %p, align 4 156*9880d681SAndroid Build Coastguard Worker} 157*9880d681SAndroid Build Coastguard Worker 158*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @test_l_p8v8i32(<8 x i32>* %p) #2 { 159*9880d681SAndroid Build Coastguard Workerentry: 160*9880d681SAndroid Build Coastguard Worker %r = load <8 x i32>, <8 x i32>* %p, align 4 161*9880d681SAndroid Build Coastguard Worker ret <8 x i32> %r 162*9880d681SAndroid Build Coastguard Worker 163*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_p8v8i32 164*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: %r = load <8 x i32>, <8 x i32>* %p, align 4 165*9880d681SAndroid Build Coastguard Worker} 166*9880d681SAndroid Build Coastguard Worker 167*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test_l_p8v2i64(<2 x i64>* %p) #2 { 168*9880d681SAndroid Build Coastguard Workerentry: 169*9880d681SAndroid Build Coastguard Worker %r = load <2 x i64>, <2 x i64>* %p, align 8 170*9880d681SAndroid Build Coastguard Worker ret <2 x i64> %r 171*9880d681SAndroid Build Coastguard Worker 172*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_p8v2i64 173*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 1 for instruction: %r = load <2 x i64>, <2 x i64>* %p, align 8 174*9880d681SAndroid Build Coastguard Worker} 175*9880d681SAndroid Build Coastguard Worker 176*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @test_l_p8v4i64(<4 x i64>* %p) #2 { 177*9880d681SAndroid Build Coastguard Workerentry: 178*9880d681SAndroid Build Coastguard Worker %r = load <4 x i64>, <4 x i64>* %p, align 8 179*9880d681SAndroid Build Coastguard Worker ret <4 x i64> %r 180*9880d681SAndroid Build Coastguard Worker 181*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_p8v4i64 182*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: %r = load <4 x i64>, <4 x i64>* %p, align 8 183*9880d681SAndroid Build Coastguard Worker} 184*9880d681SAndroid Build Coastguard Worker 185*9880d681SAndroid Build Coastguard Workerdefine <4 x float> @test_l_p8v4float(<4 x float>* %p) #2 { 186*9880d681SAndroid Build Coastguard Workerentry: 187*9880d681SAndroid Build Coastguard Worker %r = load <4 x float>, <4 x float>* %p, align 4 188*9880d681SAndroid Build Coastguard Worker ret <4 x float> %r 189*9880d681SAndroid Build Coastguard Worker 190*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_p8v4float 191*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 1 for instruction: %r = load <4 x float>, <4 x float>* %p, align 4 192*9880d681SAndroid Build Coastguard Worker} 193*9880d681SAndroid Build Coastguard Worker 194*9880d681SAndroid Build Coastguard Workerdefine <8 x float> @test_l_p8v8float(<8 x float>* %p) #2 { 195*9880d681SAndroid Build Coastguard Workerentry: 196*9880d681SAndroid Build Coastguard Worker %r = load <8 x float>, <8 x float>* %p, align 4 197*9880d681SAndroid Build Coastguard Worker ret <8 x float> %r 198*9880d681SAndroid Build Coastguard Worker 199*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_p8v8float 200*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: %r = load <8 x float>, <8 x float>* %p, align 4 201*9880d681SAndroid Build Coastguard Worker} 202*9880d681SAndroid Build Coastguard Worker 203*9880d681SAndroid Build Coastguard Workerdefine <2 x double> @test_l_p8v2double(<2 x double>* %p) #2 { 204*9880d681SAndroid Build Coastguard Workerentry: 205*9880d681SAndroid Build Coastguard Worker %r = load <2 x double>, <2 x double>* %p, align 8 206*9880d681SAndroid Build Coastguard Worker ret <2 x double> %r 207*9880d681SAndroid Build Coastguard Worker 208*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_p8v2double 209*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 1 for instruction: %r = load <2 x double>, <2 x double>* %p, align 8 210*9880d681SAndroid Build Coastguard Worker} 211*9880d681SAndroid Build Coastguard Worker 212*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @test_l_p8v4double(<4 x double>* %p) #2 { 213*9880d681SAndroid Build Coastguard Workerentry: 214*9880d681SAndroid Build Coastguard Worker %r = load <4 x double>, <4 x double>* %p, align 8 215*9880d681SAndroid Build Coastguard Worker ret <4 x double> %r 216*9880d681SAndroid Build Coastguard Worker 217*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_p8v4double 218*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: %r = load <4 x double>, <4 x double>* %p, align 8 219*9880d681SAndroid Build Coastguard Worker} 220*9880d681SAndroid Build Coastguard Worker 221*9880d681SAndroid Build Coastguard Workerdefine <4 x float> @test_l_qv4float(<4 x float>* %p) #1 { 222*9880d681SAndroid Build Coastguard Workerentry: 223*9880d681SAndroid Build Coastguard Worker %r = load <4 x float>, <4 x float>* %p, align 4 224*9880d681SAndroid Build Coastguard Worker ret <4 x float> %r 225*9880d681SAndroid Build Coastguard Worker 226*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_qv4float 227*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: %r = load <4 x float>, <4 x float>* %p, align 4 228*9880d681SAndroid Build Coastguard Worker} 229*9880d681SAndroid Build Coastguard Worker 230*9880d681SAndroid Build Coastguard Workerdefine <8 x float> @test_l_qv8float(<8 x float>* %p) #1 { 231*9880d681SAndroid Build Coastguard Workerentry: 232*9880d681SAndroid Build Coastguard Worker %r = load <8 x float>, <8 x float>* %p, align 4 233*9880d681SAndroid Build Coastguard Worker ret <8 x float> %r 234*9880d681SAndroid Build Coastguard Worker 235*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_qv8float 236*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 4 for instruction: %r = load <8 x float>, <8 x float>* %p, align 4 237*9880d681SAndroid Build Coastguard Worker} 238*9880d681SAndroid Build Coastguard Worker 239*9880d681SAndroid Build Coastguard Workerdefine <4 x double> @test_l_qv4double(<4 x double>* %p) #1 { 240*9880d681SAndroid Build Coastguard Workerentry: 241*9880d681SAndroid Build Coastguard Worker %r = load <4 x double>, <4 x double>* %p, align 8 242*9880d681SAndroid Build Coastguard Worker ret <4 x double> %r 243*9880d681SAndroid Build Coastguard Worker 244*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_qv4double 245*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: %r = load <4 x double>, <4 x double>* %p, align 8 246*9880d681SAndroid Build Coastguard Worker} 247*9880d681SAndroid Build Coastguard Worker 248*9880d681SAndroid Build Coastguard Workerdefine <8 x double> @test_l_qv8double(<8 x double>* %p) #1 { 249*9880d681SAndroid Build Coastguard Workerentry: 250*9880d681SAndroid Build Coastguard Worker %r = load <8 x double>, <8 x double>* %p, align 8 251*9880d681SAndroid Build Coastguard Worker ret <8 x double> %r 252*9880d681SAndroid Build Coastguard Worker 253*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_l_qv8double 254*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 4 for instruction: %r = load <8 x double>, <8 x double>* %p, align 8 255*9880d681SAndroid Build Coastguard Worker} 256*9880d681SAndroid Build Coastguard Worker 257*9880d681SAndroid Build Coastguard Workerdefine void @test_s_v16i8(<16 x i8>* %p, <16 x i8> %v) #0 { 258*9880d681SAndroid Build Coastguard Workerentry: 259*9880d681SAndroid Build Coastguard Worker store <16 x i8> %v, <16 x i8>* %p, align 1 260*9880d681SAndroid Build Coastguard Worker ret void 261*9880d681SAndroid Build Coastguard Worker 262*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_v16i8 263*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 1 for instruction: store <16 x i8> %v, <16 x i8>* %p, align 1 264*9880d681SAndroid Build Coastguard Worker} 265*9880d681SAndroid Build Coastguard Worker 266*9880d681SAndroid Build Coastguard Workerdefine void @test_s_v32i8(<32 x i8>* %p, <32 x i8> %v) #0 { 267*9880d681SAndroid Build Coastguard Workerentry: 268*9880d681SAndroid Build Coastguard Worker store <32 x i8> %v, <32 x i8>* %p, align 1 269*9880d681SAndroid Build Coastguard Worker ret void 270*9880d681SAndroid Build Coastguard Worker 271*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_v32i8 272*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: store <32 x i8> %v, <32 x i8>* %p, align 1 273*9880d681SAndroid Build Coastguard Worker} 274*9880d681SAndroid Build Coastguard Worker 275*9880d681SAndroid Build Coastguard Workerdefine void @test_s_v8i16(<8 x i16>* %p, <8 x i16> %v) #0 { 276*9880d681SAndroid Build Coastguard Workerentry: 277*9880d681SAndroid Build Coastguard Worker store <8 x i16> %v, <8 x i16>* %p, align 2 278*9880d681SAndroid Build Coastguard Worker ret void 279*9880d681SAndroid Build Coastguard Worker 280*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_v8i16 281*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 1 for instruction: store <8 x i16> %v, <8 x i16>* %p, align 2 282*9880d681SAndroid Build Coastguard Worker} 283*9880d681SAndroid Build Coastguard Worker 284*9880d681SAndroid Build Coastguard Workerdefine void @test_s_v16i16(<16 x i16>* %p, <16 x i16> %v) #0 { 285*9880d681SAndroid Build Coastguard Workerentry: 286*9880d681SAndroid Build Coastguard Worker store <16 x i16> %v, <16 x i16>* %p, align 2 287*9880d681SAndroid Build Coastguard Worker ret void 288*9880d681SAndroid Build Coastguard Worker 289*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_v16i16 290*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: store <16 x i16> %v, <16 x i16>* %p, align 2 291*9880d681SAndroid Build Coastguard Worker} 292*9880d681SAndroid Build Coastguard Worker 293*9880d681SAndroid Build Coastguard Workerdefine void @test_s_v4i32(<4 x i32>* %p, <4 x i32> %v) #0 { 294*9880d681SAndroid Build Coastguard Workerentry: 295*9880d681SAndroid Build Coastguard Worker store <4 x i32> %v, <4 x i32>* %p, align 4 296*9880d681SAndroid Build Coastguard Worker ret void 297*9880d681SAndroid Build Coastguard Worker 298*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_v4i32 299*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 1 for instruction: store <4 x i32> %v, <4 x i32>* %p, align 4 300*9880d681SAndroid Build Coastguard Worker} 301*9880d681SAndroid Build Coastguard Worker 302*9880d681SAndroid Build Coastguard Workerdefine void @test_s_v8i32(<8 x i32>* %p, <8 x i32> %v) #0 { 303*9880d681SAndroid Build Coastguard Workerentry: 304*9880d681SAndroid Build Coastguard Worker store <8 x i32> %v, <8 x i32>* %p, align 4 305*9880d681SAndroid Build Coastguard Worker ret void 306*9880d681SAndroid Build Coastguard Worker 307*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_v8i32 308*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: store <8 x i32> %v, <8 x i32>* %p, align 4 309*9880d681SAndroid Build Coastguard Worker} 310*9880d681SAndroid Build Coastguard Worker 311*9880d681SAndroid Build Coastguard Workerdefine void @test_s_v2i64(<2 x i64>* %p, <2 x i64> %v) #0 { 312*9880d681SAndroid Build Coastguard Workerentry: 313*9880d681SAndroid Build Coastguard Worker store <2 x i64> %v, <2 x i64>* %p, align 8 314*9880d681SAndroid Build Coastguard Worker ret void 315*9880d681SAndroid Build Coastguard Worker 316*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_v2i64 317*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 1 for instruction: store <2 x i64> %v, <2 x i64>* %p, align 8 318*9880d681SAndroid Build Coastguard Worker} 319*9880d681SAndroid Build Coastguard Worker 320*9880d681SAndroid Build Coastguard Workerdefine void @test_s_v4i64(<4 x i64>* %p, <4 x i64> %v) #0 { 321*9880d681SAndroid Build Coastguard Workerentry: 322*9880d681SAndroid Build Coastguard Worker store <4 x i64> %v, <4 x i64>* %p, align 8 323*9880d681SAndroid Build Coastguard Worker ret void 324*9880d681SAndroid Build Coastguard Worker 325*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_v4i64 326*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: store <4 x i64> %v, <4 x i64>* %p, align 8 327*9880d681SAndroid Build Coastguard Worker} 328*9880d681SAndroid Build Coastguard Worker 329*9880d681SAndroid Build Coastguard Workerdefine void @test_s_v4float(<4 x float>* %p, <4 x float> %v) #0 { 330*9880d681SAndroid Build Coastguard Workerentry: 331*9880d681SAndroid Build Coastguard Worker store <4 x float> %v, <4 x float>* %p, align 4 332*9880d681SAndroid Build Coastguard Worker ret void 333*9880d681SAndroid Build Coastguard Worker 334*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_v4float 335*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 1 for instruction: store <4 x float> %v, <4 x float>* %p, align 4 336*9880d681SAndroid Build Coastguard Worker} 337*9880d681SAndroid Build Coastguard Worker 338*9880d681SAndroid Build Coastguard Workerdefine void @test_s_v8float(<8 x float>* %p, <8 x float> %v) #0 { 339*9880d681SAndroid Build Coastguard Workerentry: 340*9880d681SAndroid Build Coastguard Worker store <8 x float> %v, <8 x float>* %p, align 4 341*9880d681SAndroid Build Coastguard Worker ret void 342*9880d681SAndroid Build Coastguard Worker 343*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_v8float 344*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: store <8 x float> %v, <8 x float>* %p, align 4 345*9880d681SAndroid Build Coastguard Worker} 346*9880d681SAndroid Build Coastguard Worker 347*9880d681SAndroid Build Coastguard Workerdefine void @test_s_v2double(<2 x double>* %p, <2 x double> %v) #0 { 348*9880d681SAndroid Build Coastguard Workerentry: 349*9880d681SAndroid Build Coastguard Worker store <2 x double> %v, <2 x double>* %p, align 8 350*9880d681SAndroid Build Coastguard Worker ret void 351*9880d681SAndroid Build Coastguard Worker 352*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_v2double 353*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 1 for instruction: store <2 x double> %v, <2 x double>* %p, align 8 354*9880d681SAndroid Build Coastguard Worker} 355*9880d681SAndroid Build Coastguard Worker 356*9880d681SAndroid Build Coastguard Workerdefine void @test_s_v4double(<4 x double>* %p, <4 x double> %v) #0 { 357*9880d681SAndroid Build Coastguard Workerentry: 358*9880d681SAndroid Build Coastguard Worker store <4 x double> %v, <4 x double>* %p, align 8 359*9880d681SAndroid Build Coastguard Worker ret void 360*9880d681SAndroid Build Coastguard Worker 361*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_v4double 362*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 2 for instruction: store <4 x double> %v, <4 x double>* %p, align 8 363*9880d681SAndroid Build Coastguard Worker} 364*9880d681SAndroid Build Coastguard Worker 365*9880d681SAndroid Build Coastguard Workerdefine void @test_s_qv4float(<4 x float>* %p, <4 x float> %v) #1 { 366*9880d681SAndroid Build Coastguard Workerentry: 367*9880d681SAndroid Build Coastguard Worker store <4 x float> %v, <4 x float>* %p, align 4 368*9880d681SAndroid Build Coastguard Worker ret void 369*9880d681SAndroid Build Coastguard Worker 370*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_qv4float 371*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 7 for instruction: store <4 x float> %v, <4 x float>* %p, align 4 372*9880d681SAndroid Build Coastguard Worker} 373*9880d681SAndroid Build Coastguard Worker 374*9880d681SAndroid Build Coastguard Workerdefine void @test_s_qv8float(<8 x float>* %p, <8 x float> %v) #1 { 375*9880d681SAndroid Build Coastguard Workerentry: 376*9880d681SAndroid Build Coastguard Worker store <8 x float> %v, <8 x float>* %p, align 4 377*9880d681SAndroid Build Coastguard Worker ret void 378*9880d681SAndroid Build Coastguard Worker 379*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_qv8float 380*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 15 for instruction: store <8 x float> %v, <8 x float>* %p, align 4 381*9880d681SAndroid Build Coastguard Worker} 382*9880d681SAndroid Build Coastguard Worker 383*9880d681SAndroid Build Coastguard Workerdefine void @test_s_qv4double(<4 x double>* %p, <4 x double> %v) #1 { 384*9880d681SAndroid Build Coastguard Workerentry: 385*9880d681SAndroid Build Coastguard Worker store <4 x double> %v, <4 x double>* %p, align 8 386*9880d681SAndroid Build Coastguard Worker ret void 387*9880d681SAndroid Build Coastguard Worker 388*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_qv4double 389*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 7 for instruction: store <4 x double> %v, <4 x double>* %p, align 8 390*9880d681SAndroid Build Coastguard Worker} 391*9880d681SAndroid Build Coastguard Worker 392*9880d681SAndroid Build Coastguard Workerdefine void @test_s_qv8double(<8 x double>* %p, <8 x double> %v) #1 { 393*9880d681SAndroid Build Coastguard Workerentry: 394*9880d681SAndroid Build Coastguard Worker store <8 x double> %v, <8 x double>* %p, align 8 395*9880d681SAndroid Build Coastguard Worker ret void 396*9880d681SAndroid Build Coastguard Worker 397*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_s_qv8double 398*9880d681SAndroid Build Coastguard Worker; CHECK: cost of 15 for instruction: store <8 x double> %v, <8 x double>* %p, align 8 399*9880d681SAndroid Build Coastguard Worker} 400*9880d681SAndroid Build Coastguard Worker 401*9880d681SAndroid Build Coastguard Workerattributes #0 = { nounwind "target-cpu"="pwr7" } 402*9880d681SAndroid Build Coastguard Workerattributes #1 = { nounwind "target-cpu"="a2q" } 403*9880d681SAndroid Build Coastguard Workerattributes #2 = { nounwind "target-cpu"="pwr8" } 404*9880d681SAndroid Build Coastguard Worker 405