1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -cost-model -analyze -mtriple=thumbv7-apple-ios6.0.0 -mcpu=cortex-a9 | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Workerdefine <2 x i8> @sdiv_v2_i8(<2 x i8> %a, <2 x i8> %b) { 4*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v2_i8 5*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} sdiv 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker %1 = sdiv <2 x i8> %a, %b 8*9880d681SAndroid Build Coastguard Worker ret <2 x i8> %1 9*9880d681SAndroid Build Coastguard Worker} 10*9880d681SAndroid Build Coastguard Workerdefine <2 x i16> @sdiv_v2_i16(<2 x i16> %a, <2 x i16> %b) { 11*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v2_i16 12*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} sdiv 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker %1 = sdiv <2 x i16> %a, %b 15*9880d681SAndroid Build Coastguard Worker ret <2 x i16> %1 16*9880d681SAndroid Build Coastguard Worker} 17*9880d681SAndroid Build Coastguard Workerdefine <2 x i32> @sdiv_v2_i32(<2 x i32> %a, <2 x i32> %b) { 18*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v2_i32 19*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} sdiv 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Worker %1 = sdiv <2 x i32> %a, %b 22*9880d681SAndroid Build Coastguard Worker ret <2 x i32> %1 23*9880d681SAndroid Build Coastguard Worker} 24*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @sdiv_v2_i64(<2 x i64> %a, <2 x i64> %b) { 25*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v2_i64 26*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} sdiv 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Worker %1 = sdiv <2 x i64> %a, %b 29*9880d681SAndroid Build Coastguard Worker ret <2 x i64> %1 30*9880d681SAndroid Build Coastguard Worker} 31*9880d681SAndroid Build Coastguard Workerdefine <4 x i8> @sdiv_v4_i8(<4 x i8> %a, <4 x i8> %b) { 32*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v4_i8 33*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 10 {{.*}} sdiv 34*9880d681SAndroid Build Coastguard Worker 35*9880d681SAndroid Build Coastguard Worker %1 = sdiv <4 x i8> %a, %b 36*9880d681SAndroid Build Coastguard Worker ret <4 x i8> %1 37*9880d681SAndroid Build Coastguard Worker} 38*9880d681SAndroid Build Coastguard Workerdefine <4 x i16> @sdiv_v4_i16(<4 x i16> %a, <4 x i16> %b) { 39*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v4_i16 40*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 10 {{.*}} sdiv 41*9880d681SAndroid Build Coastguard Worker 42*9880d681SAndroid Build Coastguard Worker %1 = sdiv <4 x i16> %a, %b 43*9880d681SAndroid Build Coastguard Worker ret <4 x i16> %1 44*9880d681SAndroid Build Coastguard Worker} 45*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @sdiv_v4_i32(<4 x i32> %a, <4 x i32> %b) { 46*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v4_i32 47*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 80 {{.*}} sdiv 48*9880d681SAndroid Build Coastguard Worker 49*9880d681SAndroid Build Coastguard Worker %1 = sdiv <4 x i32> %a, %b 50*9880d681SAndroid Build Coastguard Worker ret <4 x i32> %1 51*9880d681SAndroid Build Coastguard Worker} 52*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @sdiv_v4_i64(<4 x i64> %a, <4 x i64> %b) { 53*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v4_i64 54*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 80 {{.*}} sdiv 55*9880d681SAndroid Build Coastguard Worker 56*9880d681SAndroid Build Coastguard Worker %1 = sdiv <4 x i64> %a, %b 57*9880d681SAndroid Build Coastguard Worker ret <4 x i64> %1 58*9880d681SAndroid Build Coastguard Worker} 59*9880d681SAndroid Build Coastguard Workerdefine <8 x i8> @sdiv_v8_i8(<8 x i8> %a, <8 x i8> %b) { 60*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v8_i8 61*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 10 {{.*}} sdiv 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Worker %1 = sdiv <8 x i8> %a, %b 64*9880d681SAndroid Build Coastguard Worker ret <8 x i8> %1 65*9880d681SAndroid Build Coastguard Worker} 66*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @sdiv_v8_i16(<8 x i16> %a, <8 x i16> %b) { 67*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v8_i16 68*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 160 {{.*}} sdiv 69*9880d681SAndroid Build Coastguard Worker 70*9880d681SAndroid Build Coastguard Worker %1 = sdiv <8 x i16> %a, %b 71*9880d681SAndroid Build Coastguard Worker ret <8 x i16> %1 72*9880d681SAndroid Build Coastguard Worker} 73*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @sdiv_v8_i32(<8 x i32> %a, <8 x i32> %b) { 74*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v8_i32 75*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 160 {{.*}} sdiv 76*9880d681SAndroid Build Coastguard Worker 77*9880d681SAndroid Build Coastguard Worker %1 = sdiv <8 x i32> %a, %b 78*9880d681SAndroid Build Coastguard Worker ret <8 x i32> %1 79*9880d681SAndroid Build Coastguard Worker} 80*9880d681SAndroid Build Coastguard Workerdefine <8 x i64> @sdiv_v8_i64(<8 x i64> %a, <8 x i64> %b) { 81*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v8_i64 82*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 160 {{.*}} sdiv 83*9880d681SAndroid Build Coastguard Worker 84*9880d681SAndroid Build Coastguard Worker %1 = sdiv <8 x i64> %a, %b 85*9880d681SAndroid Build Coastguard Worker ret <8 x i64> %1 86*9880d681SAndroid Build Coastguard Worker} 87*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @sdiv_v16_i8(<16 x i8> %a, <16 x i8> %b) { 88*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v16_i8 89*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} sdiv 90*9880d681SAndroid Build Coastguard Worker 91*9880d681SAndroid Build Coastguard Worker %1 = sdiv <16 x i8> %a, %b 92*9880d681SAndroid Build Coastguard Worker ret <16 x i8> %1 93*9880d681SAndroid Build Coastguard Worker} 94*9880d681SAndroid Build Coastguard Workerdefine <16 x i16> @sdiv_v16_i16(<16 x i16> %a, <16 x i16> %b) { 95*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v16_i16 96*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} sdiv 97*9880d681SAndroid Build Coastguard Worker 98*9880d681SAndroid Build Coastguard Worker %1 = sdiv <16 x i16> %a, %b 99*9880d681SAndroid Build Coastguard Worker ret <16 x i16> %1 100*9880d681SAndroid Build Coastguard Worker} 101*9880d681SAndroid Build Coastguard Workerdefine <16 x i32> @sdiv_v16_i32(<16 x i32> %a, <16 x i32> %b) { 102*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v16_i32 103*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} sdiv 104*9880d681SAndroid Build Coastguard Worker 105*9880d681SAndroid Build Coastguard Worker %1 = sdiv <16 x i32> %a, %b 106*9880d681SAndroid Build Coastguard Worker ret <16 x i32> %1 107*9880d681SAndroid Build Coastguard Worker} 108*9880d681SAndroid Build Coastguard Workerdefine <16 x i64> @sdiv_v16_i64(<16 x i64> %a, <16 x i64> %b) { 109*9880d681SAndroid Build Coastguard Worker ; CHECK: sdiv_v16_i64 110*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} sdiv 111*9880d681SAndroid Build Coastguard Worker 112*9880d681SAndroid Build Coastguard Worker %1 = sdiv <16 x i64> %a, %b 113*9880d681SAndroid Build Coastguard Worker ret <16 x i64> %1 114*9880d681SAndroid Build Coastguard Worker} 115*9880d681SAndroid Build Coastguard Workerdefine <2 x i8> @udiv_v2_i8(<2 x i8> %a, <2 x i8> %b) { 116*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v2_i8 117*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} udiv 118*9880d681SAndroid Build Coastguard Worker 119*9880d681SAndroid Build Coastguard Worker %1 = udiv <2 x i8> %a, %b 120*9880d681SAndroid Build Coastguard Worker ret <2 x i8> %1 121*9880d681SAndroid Build Coastguard Worker} 122*9880d681SAndroid Build Coastguard Workerdefine <2 x i16> @udiv_v2_i16(<2 x i16> %a, <2 x i16> %b) { 123*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v2_i16 124*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} udiv 125*9880d681SAndroid Build Coastguard Worker 126*9880d681SAndroid Build Coastguard Worker %1 = udiv <2 x i16> %a, %b 127*9880d681SAndroid Build Coastguard Worker ret <2 x i16> %1 128*9880d681SAndroid Build Coastguard Worker} 129*9880d681SAndroid Build Coastguard Workerdefine <2 x i32> @udiv_v2_i32(<2 x i32> %a, <2 x i32> %b) { 130*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v2_i32 131*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} udiv 132*9880d681SAndroid Build Coastguard Worker 133*9880d681SAndroid Build Coastguard Worker %1 = udiv <2 x i32> %a, %b 134*9880d681SAndroid Build Coastguard Worker ret <2 x i32> %1 135*9880d681SAndroid Build Coastguard Worker} 136*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @udiv_v2_i64(<2 x i64> %a, <2 x i64> %b) { 137*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v2_i64 138*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} udiv 139*9880d681SAndroid Build Coastguard Worker 140*9880d681SAndroid Build Coastguard Worker %1 = udiv <2 x i64> %a, %b 141*9880d681SAndroid Build Coastguard Worker ret <2 x i64> %1 142*9880d681SAndroid Build Coastguard Worker} 143*9880d681SAndroid Build Coastguard Workerdefine <4 x i8> @udiv_v4_i8(<4 x i8> %a, <4 x i8> %b) { 144*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v4_i8 145*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 10 {{.*}} udiv 146*9880d681SAndroid Build Coastguard Worker 147*9880d681SAndroid Build Coastguard Worker %1 = udiv <4 x i8> %a, %b 148*9880d681SAndroid Build Coastguard Worker ret <4 x i8> %1 149*9880d681SAndroid Build Coastguard Worker} 150*9880d681SAndroid Build Coastguard Workerdefine <4 x i16> @udiv_v4_i16(<4 x i16> %a, <4 x i16> %b) { 151*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v4_i16 152*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 10 {{.*}} udiv 153*9880d681SAndroid Build Coastguard Worker 154*9880d681SAndroid Build Coastguard Worker %1 = udiv <4 x i16> %a, %b 155*9880d681SAndroid Build Coastguard Worker ret <4 x i16> %1 156*9880d681SAndroid Build Coastguard Worker} 157*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @udiv_v4_i32(<4 x i32> %a, <4 x i32> %b) { 158*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v4_i32 159*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 80 {{.*}} udiv 160*9880d681SAndroid Build Coastguard Worker 161*9880d681SAndroid Build Coastguard Worker %1 = udiv <4 x i32> %a, %b 162*9880d681SAndroid Build Coastguard Worker ret <4 x i32> %1 163*9880d681SAndroid Build Coastguard Worker} 164*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @udiv_v4_i64(<4 x i64> %a, <4 x i64> %b) { 165*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v4_i64 166*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 80 {{.*}} udiv 167*9880d681SAndroid Build Coastguard Worker 168*9880d681SAndroid Build Coastguard Worker %1 = udiv <4 x i64> %a, %b 169*9880d681SAndroid Build Coastguard Worker ret <4 x i64> %1 170*9880d681SAndroid Build Coastguard Worker} 171*9880d681SAndroid Build Coastguard Workerdefine <8 x i8> @udiv_v8_i8(<8 x i8> %a, <8 x i8> %b) { 172*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v8_i8 173*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 10 {{.*}} udiv 174*9880d681SAndroid Build Coastguard Worker 175*9880d681SAndroid Build Coastguard Worker %1 = udiv <8 x i8> %a, %b 176*9880d681SAndroid Build Coastguard Worker ret <8 x i8> %1 177*9880d681SAndroid Build Coastguard Worker} 178*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @udiv_v8_i16(<8 x i16> %a, <8 x i16> %b) { 179*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v8_i16 180*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 160 {{.*}} udiv 181*9880d681SAndroid Build Coastguard Worker 182*9880d681SAndroid Build Coastguard Worker %1 = udiv <8 x i16> %a, %b 183*9880d681SAndroid Build Coastguard Worker ret <8 x i16> %1 184*9880d681SAndroid Build Coastguard Worker} 185*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @udiv_v8_i32(<8 x i32> %a, <8 x i32> %b) { 186*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v8_i32 187*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 160 {{.*}} udiv 188*9880d681SAndroid Build Coastguard Worker 189*9880d681SAndroid Build Coastguard Worker %1 = udiv <8 x i32> %a, %b 190*9880d681SAndroid Build Coastguard Worker ret <8 x i32> %1 191*9880d681SAndroid Build Coastguard Worker} 192*9880d681SAndroid Build Coastguard Workerdefine <8 x i64> @udiv_v8_i64(<8 x i64> %a, <8 x i64> %b) { 193*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v8_i64 194*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 160 {{.*}} udiv 195*9880d681SAndroid Build Coastguard Worker 196*9880d681SAndroid Build Coastguard Worker %1 = udiv <8 x i64> %a, %b 197*9880d681SAndroid Build Coastguard Worker ret <8 x i64> %1 198*9880d681SAndroid Build Coastguard Worker} 199*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @udiv_v16_i8(<16 x i8> %a, <16 x i8> %b) { 200*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v16_i8 201*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} udiv 202*9880d681SAndroid Build Coastguard Worker 203*9880d681SAndroid Build Coastguard Worker %1 = udiv <16 x i8> %a, %b 204*9880d681SAndroid Build Coastguard Worker ret <16 x i8> %1 205*9880d681SAndroid Build Coastguard Worker} 206*9880d681SAndroid Build Coastguard Workerdefine <16 x i16> @udiv_v16_i16(<16 x i16> %a, <16 x i16> %b) { 207*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v16_i16 208*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} udiv 209*9880d681SAndroid Build Coastguard Worker 210*9880d681SAndroid Build Coastguard Worker %1 = udiv <16 x i16> %a, %b 211*9880d681SAndroid Build Coastguard Worker ret <16 x i16> %1 212*9880d681SAndroid Build Coastguard Worker} 213*9880d681SAndroid Build Coastguard Workerdefine <16 x i32> @udiv_v16_i32(<16 x i32> %a, <16 x i32> %b) { 214*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v16_i32 215*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} udiv 216*9880d681SAndroid Build Coastguard Worker 217*9880d681SAndroid Build Coastguard Worker %1 = udiv <16 x i32> %a, %b 218*9880d681SAndroid Build Coastguard Worker ret <16 x i32> %1 219*9880d681SAndroid Build Coastguard Worker} 220*9880d681SAndroid Build Coastguard Workerdefine <16 x i64> @udiv_v16_i64(<16 x i64> %a, <16 x i64> %b) { 221*9880d681SAndroid Build Coastguard Worker ; CHECK: udiv_v16_i64 222*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} udiv 223*9880d681SAndroid Build Coastguard Worker 224*9880d681SAndroid Build Coastguard Worker %1 = udiv <16 x i64> %a, %b 225*9880d681SAndroid Build Coastguard Worker ret <16 x i64> %1 226*9880d681SAndroid Build Coastguard Worker} 227*9880d681SAndroid Build Coastguard Workerdefine <2 x i8> @srem_v2_i8(<2 x i8> %a, <2 x i8> %b) { 228*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v2_i8 229*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} srem 230*9880d681SAndroid Build Coastguard Worker 231*9880d681SAndroid Build Coastguard Worker %1 = srem <2 x i8> %a, %b 232*9880d681SAndroid Build Coastguard Worker ret <2 x i8> %1 233*9880d681SAndroid Build Coastguard Worker} 234*9880d681SAndroid Build Coastguard Workerdefine <2 x i16> @srem_v2_i16(<2 x i16> %a, <2 x i16> %b) { 235*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v2_i16 236*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} srem 237*9880d681SAndroid Build Coastguard Worker 238*9880d681SAndroid Build Coastguard Worker %1 = srem <2 x i16> %a, %b 239*9880d681SAndroid Build Coastguard Worker ret <2 x i16> %1 240*9880d681SAndroid Build Coastguard Worker} 241*9880d681SAndroid Build Coastguard Workerdefine <2 x i32> @srem_v2_i32(<2 x i32> %a, <2 x i32> %b) { 242*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v2_i32 243*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} srem 244*9880d681SAndroid Build Coastguard Worker 245*9880d681SAndroid Build Coastguard Worker %1 = srem <2 x i32> %a, %b 246*9880d681SAndroid Build Coastguard Worker ret <2 x i32> %1 247*9880d681SAndroid Build Coastguard Worker} 248*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @srem_v2_i64(<2 x i64> %a, <2 x i64> %b) { 249*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v2_i64 250*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} srem 251*9880d681SAndroid Build Coastguard Worker 252*9880d681SAndroid Build Coastguard Worker %1 = srem <2 x i64> %a, %b 253*9880d681SAndroid Build Coastguard Worker ret <2 x i64> %1 254*9880d681SAndroid Build Coastguard Worker} 255*9880d681SAndroid Build Coastguard Workerdefine <4 x i8> @srem_v4_i8(<4 x i8> %a, <4 x i8> %b) { 256*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v4_i8 257*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 80 {{.*}} srem 258*9880d681SAndroid Build Coastguard Worker 259*9880d681SAndroid Build Coastguard Worker %1 = srem <4 x i8> %a, %b 260*9880d681SAndroid Build Coastguard Worker ret <4 x i8> %1 261*9880d681SAndroid Build Coastguard Worker} 262*9880d681SAndroid Build Coastguard Workerdefine <4 x i16> @srem_v4_i16(<4 x i16> %a, <4 x i16> %b) { 263*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v4_i16 264*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 80 {{.*}} srem 265*9880d681SAndroid Build Coastguard Worker 266*9880d681SAndroid Build Coastguard Worker %1 = srem <4 x i16> %a, %b 267*9880d681SAndroid Build Coastguard Worker ret <4 x i16> %1 268*9880d681SAndroid Build Coastguard Worker} 269*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @srem_v4_i32(<4 x i32> %a, <4 x i32> %b) { 270*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v4_i32 271*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 80 {{.*}} srem 272*9880d681SAndroid Build Coastguard Worker 273*9880d681SAndroid Build Coastguard Worker %1 = srem <4 x i32> %a, %b 274*9880d681SAndroid Build Coastguard Worker ret <4 x i32> %1 275*9880d681SAndroid Build Coastguard Worker} 276*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @srem_v4_i64(<4 x i64> %a, <4 x i64> %b) { 277*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v4_i64 278*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 80 {{.*}} srem 279*9880d681SAndroid Build Coastguard Worker 280*9880d681SAndroid Build Coastguard Worker %1 = srem <4 x i64> %a, %b 281*9880d681SAndroid Build Coastguard Worker ret <4 x i64> %1 282*9880d681SAndroid Build Coastguard Worker} 283*9880d681SAndroid Build Coastguard Workerdefine <8 x i8> @srem_v8_i8(<8 x i8> %a, <8 x i8> %b) { 284*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v8_i8 285*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 160 {{.*}} srem 286*9880d681SAndroid Build Coastguard Worker 287*9880d681SAndroid Build Coastguard Worker %1 = srem <8 x i8> %a, %b 288*9880d681SAndroid Build Coastguard Worker ret <8 x i8> %1 289*9880d681SAndroid Build Coastguard Worker} 290*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @srem_v8_i16(<8 x i16> %a, <8 x i16> %b) { 291*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v8_i16 292*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 160 {{.*}} srem 293*9880d681SAndroid Build Coastguard Worker 294*9880d681SAndroid Build Coastguard Worker %1 = srem <8 x i16> %a, %b 295*9880d681SAndroid Build Coastguard Worker ret <8 x i16> %1 296*9880d681SAndroid Build Coastguard Worker} 297*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @srem_v8_i32(<8 x i32> %a, <8 x i32> %b) { 298*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v8_i32 299*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 160 {{.*}} srem 300*9880d681SAndroid Build Coastguard Worker 301*9880d681SAndroid Build Coastguard Worker %1 = srem <8 x i32> %a, %b 302*9880d681SAndroid Build Coastguard Worker ret <8 x i32> %1 303*9880d681SAndroid Build Coastguard Worker} 304*9880d681SAndroid Build Coastguard Workerdefine <8 x i64> @srem_v8_i64(<8 x i64> %a, <8 x i64> %b) { 305*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v8_i64 306*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 160 {{.*}} srem 307*9880d681SAndroid Build Coastguard Worker 308*9880d681SAndroid Build Coastguard Worker %1 = srem <8 x i64> %a, %b 309*9880d681SAndroid Build Coastguard Worker ret <8 x i64> %1 310*9880d681SAndroid Build Coastguard Worker} 311*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @srem_v16_i8(<16 x i8> %a, <16 x i8> %b) { 312*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v16_i8 313*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} srem 314*9880d681SAndroid Build Coastguard Worker 315*9880d681SAndroid Build Coastguard Worker %1 = srem <16 x i8> %a, %b 316*9880d681SAndroid Build Coastguard Worker ret <16 x i8> %1 317*9880d681SAndroid Build Coastguard Worker} 318*9880d681SAndroid Build Coastguard Workerdefine <16 x i16> @srem_v16_i16(<16 x i16> %a, <16 x i16> %b) { 319*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v16_i16 320*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} srem 321*9880d681SAndroid Build Coastguard Worker 322*9880d681SAndroid Build Coastguard Worker %1 = srem <16 x i16> %a, %b 323*9880d681SAndroid Build Coastguard Worker ret <16 x i16> %1 324*9880d681SAndroid Build Coastguard Worker} 325*9880d681SAndroid Build Coastguard Workerdefine <16 x i32> @srem_v16_i32(<16 x i32> %a, <16 x i32> %b) { 326*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v16_i32 327*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} srem 328*9880d681SAndroid Build Coastguard Worker 329*9880d681SAndroid Build Coastguard Worker %1 = srem <16 x i32> %a, %b 330*9880d681SAndroid Build Coastguard Worker ret <16 x i32> %1 331*9880d681SAndroid Build Coastguard Worker} 332*9880d681SAndroid Build Coastguard Workerdefine <16 x i64> @srem_v16_i64(<16 x i64> %a, <16 x i64> %b) { 333*9880d681SAndroid Build Coastguard Worker ; CHECK: srem_v16_i64 334*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} srem 335*9880d681SAndroid Build Coastguard Worker 336*9880d681SAndroid Build Coastguard Worker %1 = srem <16 x i64> %a, %b 337*9880d681SAndroid Build Coastguard Worker ret <16 x i64> %1 338*9880d681SAndroid Build Coastguard Worker} 339*9880d681SAndroid Build Coastguard Workerdefine <2 x i8> @urem_v2_i8(<2 x i8> %a, <2 x i8> %b) { 340*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v2_i8 341*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} urem 342*9880d681SAndroid Build Coastguard Worker 343*9880d681SAndroid Build Coastguard Worker %1 = urem <2 x i8> %a, %b 344*9880d681SAndroid Build Coastguard Worker ret <2 x i8> %1 345*9880d681SAndroid Build Coastguard Worker} 346*9880d681SAndroid Build Coastguard Workerdefine <2 x i16> @urem_v2_i16(<2 x i16> %a, <2 x i16> %b) { 347*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v2_i16 348*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} urem 349*9880d681SAndroid Build Coastguard Worker 350*9880d681SAndroid Build Coastguard Worker %1 = urem <2 x i16> %a, %b 351*9880d681SAndroid Build Coastguard Worker ret <2 x i16> %1 352*9880d681SAndroid Build Coastguard Worker} 353*9880d681SAndroid Build Coastguard Workerdefine <2 x i32> @urem_v2_i32(<2 x i32> %a, <2 x i32> %b) { 354*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v2_i32 355*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} urem 356*9880d681SAndroid Build Coastguard Worker 357*9880d681SAndroid Build Coastguard Worker %1 = urem <2 x i32> %a, %b 358*9880d681SAndroid Build Coastguard Worker ret <2 x i32> %1 359*9880d681SAndroid Build Coastguard Worker} 360*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @urem_v2_i64(<2 x i64> %a, <2 x i64> %b) { 361*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v2_i64 362*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 40 {{.*}} urem 363*9880d681SAndroid Build Coastguard Worker 364*9880d681SAndroid Build Coastguard Worker %1 = urem <2 x i64> %a, %b 365*9880d681SAndroid Build Coastguard Worker ret <2 x i64> %1 366*9880d681SAndroid Build Coastguard Worker} 367*9880d681SAndroid Build Coastguard Workerdefine <4 x i8> @urem_v4_i8(<4 x i8> %a, <4 x i8> %b) { 368*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v4_i8 369*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 80 {{.*}} urem 370*9880d681SAndroid Build Coastguard Worker 371*9880d681SAndroid Build Coastguard Worker %1 = urem <4 x i8> %a, %b 372*9880d681SAndroid Build Coastguard Worker ret <4 x i8> %1 373*9880d681SAndroid Build Coastguard Worker} 374*9880d681SAndroid Build Coastguard Workerdefine <4 x i16> @urem_v4_i16(<4 x i16> %a, <4 x i16> %b) { 375*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v4_i16 376*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 80 {{.*}} urem 377*9880d681SAndroid Build Coastguard Worker 378*9880d681SAndroid Build Coastguard Worker %1 = urem <4 x i16> %a, %b 379*9880d681SAndroid Build Coastguard Worker ret <4 x i16> %1 380*9880d681SAndroid Build Coastguard Worker} 381*9880d681SAndroid Build Coastguard Workerdefine <4 x i32> @urem_v4_i32(<4 x i32> %a, <4 x i32> %b) { 382*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v4_i32 383*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 80 {{.*}} urem 384*9880d681SAndroid Build Coastguard Worker 385*9880d681SAndroid Build Coastguard Worker %1 = urem <4 x i32> %a, %b 386*9880d681SAndroid Build Coastguard Worker ret <4 x i32> %1 387*9880d681SAndroid Build Coastguard Worker} 388*9880d681SAndroid Build Coastguard Workerdefine <4 x i64> @urem_v4_i64(<4 x i64> %a, <4 x i64> %b) { 389*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v4_i64 390*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 80 {{.*}} urem 391*9880d681SAndroid Build Coastguard Worker 392*9880d681SAndroid Build Coastguard Worker %1 = urem <4 x i64> %a, %b 393*9880d681SAndroid Build Coastguard Worker ret <4 x i64> %1 394*9880d681SAndroid Build Coastguard Worker} 395*9880d681SAndroid Build Coastguard Workerdefine <8 x i8> @urem_v8_i8(<8 x i8> %a, <8 x i8> %b) { 396*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v8_i8 397*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 160 {{.*}} urem 398*9880d681SAndroid Build Coastguard Worker 399*9880d681SAndroid Build Coastguard Worker %1 = urem <8 x i8> %a, %b 400*9880d681SAndroid Build Coastguard Worker ret <8 x i8> %1 401*9880d681SAndroid Build Coastguard Worker} 402*9880d681SAndroid Build Coastguard Workerdefine <8 x i16> @urem_v8_i16(<8 x i16> %a, <8 x i16> %b) { 403*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v8_i16 404*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 160 {{.*}} urem 405*9880d681SAndroid Build Coastguard Worker 406*9880d681SAndroid Build Coastguard Worker %1 = urem <8 x i16> %a, %b 407*9880d681SAndroid Build Coastguard Worker ret <8 x i16> %1 408*9880d681SAndroid Build Coastguard Worker} 409*9880d681SAndroid Build Coastguard Workerdefine <8 x i32> @urem_v8_i32(<8 x i32> %a, <8 x i32> %b) { 410*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v8_i32 411*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 160 {{.*}} urem 412*9880d681SAndroid Build Coastguard Worker 413*9880d681SAndroid Build Coastguard Worker %1 = urem <8 x i32> %a, %b 414*9880d681SAndroid Build Coastguard Worker ret <8 x i32> %1 415*9880d681SAndroid Build Coastguard Worker} 416*9880d681SAndroid Build Coastguard Workerdefine <8 x i64> @urem_v8_i64(<8 x i64> %a, <8 x i64> %b) { 417*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v8_i64 418*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 160 {{.*}} urem 419*9880d681SAndroid Build Coastguard Worker 420*9880d681SAndroid Build Coastguard Worker %1 = urem <8 x i64> %a, %b 421*9880d681SAndroid Build Coastguard Worker ret <8 x i64> %1 422*9880d681SAndroid Build Coastguard Worker} 423*9880d681SAndroid Build Coastguard Workerdefine <16 x i8> @urem_v16_i8(<16 x i8> %a, <16 x i8> %b) { 424*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v16_i8 425*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} urem 426*9880d681SAndroid Build Coastguard Worker 427*9880d681SAndroid Build Coastguard Worker %1 = urem <16 x i8> %a, %b 428*9880d681SAndroid Build Coastguard Worker ret <16 x i8> %1 429*9880d681SAndroid Build Coastguard Worker} 430*9880d681SAndroid Build Coastguard Workerdefine <16 x i16> @urem_v16_i16(<16 x i16> %a, <16 x i16> %b) { 431*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v16_i16 432*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} urem 433*9880d681SAndroid Build Coastguard Worker 434*9880d681SAndroid Build Coastguard Worker %1 = urem <16 x i16> %a, %b 435*9880d681SAndroid Build Coastguard Worker ret <16 x i16> %1 436*9880d681SAndroid Build Coastguard Worker} 437*9880d681SAndroid Build Coastguard Workerdefine <16 x i32> @urem_v16_i32(<16 x i32> %a, <16 x i32> %b) { 438*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v16_i32 439*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} urem 440*9880d681SAndroid Build Coastguard Worker 441*9880d681SAndroid Build Coastguard Worker %1 = urem <16 x i32> %a, %b 442*9880d681SAndroid Build Coastguard Worker ret <16 x i32> %1 443*9880d681SAndroid Build Coastguard Worker} 444*9880d681SAndroid Build Coastguard Workerdefine <16 x i64> @urem_v16_i64(<16 x i64> %a, <16 x i64> %b) { 445*9880d681SAndroid Build Coastguard Worker ; CHECK: urem_v16_i64 446*9880d681SAndroid Build Coastguard Worker ; CHECK: cost of 320 {{.*}} urem 447*9880d681SAndroid Build Coastguard Worker 448*9880d681SAndroid Build Coastguard Worker %1 = urem <16 x i64> %a, %b 449*9880d681SAndroid Build Coastguard Worker ret <16 x i64> %1 450*9880d681SAndroid Build Coastguard Worker} 451