1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as < %s | llvm-dis | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker; RUN: verify-uselistorder %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker@addr = external global i64 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdefine i64 @add_unsigned(i64 %x, i64 %y) { 7*9880d681SAndroid Build Coastguard Worker; CHECK: %z = add nuw i64 %x, %y 8*9880d681SAndroid Build Coastguard Worker %z = add nuw i64 %x, %y 9*9880d681SAndroid Build Coastguard Worker ret i64 %z 10*9880d681SAndroid Build Coastguard Worker} 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Workerdefine i64 @sub_unsigned(i64 %x, i64 %y) { 13*9880d681SAndroid Build Coastguard Worker; CHECK: %z = sub nuw i64 %x, %y 14*9880d681SAndroid Build Coastguard Worker %z = sub nuw i64 %x, %y 15*9880d681SAndroid Build Coastguard Worker ret i64 %z 16*9880d681SAndroid Build Coastguard Worker} 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Workerdefine i64 @mul_unsigned(i64 %x, i64 %y) { 19*9880d681SAndroid Build Coastguard Worker; CHECK: %z = mul nuw i64 %x, %y 20*9880d681SAndroid Build Coastguard Worker %z = mul nuw i64 %x, %y 21*9880d681SAndroid Build Coastguard Worker ret i64 %z 22*9880d681SAndroid Build Coastguard Worker} 23*9880d681SAndroid Build Coastguard Worker 24*9880d681SAndroid Build Coastguard Workerdefine i64 @add_signed(i64 %x, i64 %y) { 25*9880d681SAndroid Build Coastguard Worker; CHECK: %z = add nsw i64 %x, %y 26*9880d681SAndroid Build Coastguard Worker %z = add nsw i64 %x, %y 27*9880d681SAndroid Build Coastguard Worker ret i64 %z 28*9880d681SAndroid Build Coastguard Worker} 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Workerdefine i64 @sub_signed(i64 %x, i64 %y) { 31*9880d681SAndroid Build Coastguard Worker; CHECK: %z = sub nsw i64 %x, %y 32*9880d681SAndroid Build Coastguard Worker %z = sub nsw i64 %x, %y 33*9880d681SAndroid Build Coastguard Worker ret i64 %z 34*9880d681SAndroid Build Coastguard Worker} 35*9880d681SAndroid Build Coastguard Worker 36*9880d681SAndroid Build Coastguard Workerdefine i64 @mul_signed(i64 %x, i64 %y) { 37*9880d681SAndroid Build Coastguard Worker; CHECK: %z = mul nsw i64 %x, %y 38*9880d681SAndroid Build Coastguard Worker %z = mul nsw i64 %x, %y 39*9880d681SAndroid Build Coastguard Worker ret i64 %z 40*9880d681SAndroid Build Coastguard Worker} 41*9880d681SAndroid Build Coastguard Worker 42*9880d681SAndroid Build Coastguard Workerdefine i64 @add_plain(i64 %x, i64 %y) { 43*9880d681SAndroid Build Coastguard Worker; CHECK: %z = add i64 %x, %y 44*9880d681SAndroid Build Coastguard Worker %z = add i64 %x, %y 45*9880d681SAndroid Build Coastguard Worker ret i64 %z 46*9880d681SAndroid Build Coastguard Worker} 47*9880d681SAndroid Build Coastguard Worker 48*9880d681SAndroid Build Coastguard Workerdefine i64 @sub_plain(i64 %x, i64 %y) { 49*9880d681SAndroid Build Coastguard Worker; CHECK: %z = sub i64 %x, %y 50*9880d681SAndroid Build Coastguard Worker %z = sub i64 %x, %y 51*9880d681SAndroid Build Coastguard Worker ret i64 %z 52*9880d681SAndroid Build Coastguard Worker} 53*9880d681SAndroid Build Coastguard Worker 54*9880d681SAndroid Build Coastguard Workerdefine i64 @mul_plain(i64 %x, i64 %y) { 55*9880d681SAndroid Build Coastguard Worker; CHECK: %z = mul i64 %x, %y 56*9880d681SAndroid Build Coastguard Worker %z = mul i64 %x, %y 57*9880d681SAndroid Build Coastguard Worker ret i64 %z 58*9880d681SAndroid Build Coastguard Worker} 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Workerdefine i64 @add_both(i64 %x, i64 %y) { 61*9880d681SAndroid Build Coastguard Worker; CHECK: %z = add nuw nsw i64 %x, %y 62*9880d681SAndroid Build Coastguard Worker %z = add nuw nsw i64 %x, %y 63*9880d681SAndroid Build Coastguard Worker ret i64 %z 64*9880d681SAndroid Build Coastguard Worker} 65*9880d681SAndroid Build Coastguard Worker 66*9880d681SAndroid Build Coastguard Workerdefine i64 @sub_both(i64 %x, i64 %y) { 67*9880d681SAndroid Build Coastguard Worker; CHECK: %z = sub nuw nsw i64 %x, %y 68*9880d681SAndroid Build Coastguard Worker %z = sub nuw nsw i64 %x, %y 69*9880d681SAndroid Build Coastguard Worker ret i64 %z 70*9880d681SAndroid Build Coastguard Worker} 71*9880d681SAndroid Build Coastguard Worker 72*9880d681SAndroid Build Coastguard Workerdefine i64 @mul_both(i64 %x, i64 %y) { 73*9880d681SAndroid Build Coastguard Worker; CHECK: %z = mul nuw nsw i64 %x, %y 74*9880d681SAndroid Build Coastguard Worker %z = mul nuw nsw i64 %x, %y 75*9880d681SAndroid Build Coastguard Worker ret i64 %z 76*9880d681SAndroid Build Coastguard Worker} 77*9880d681SAndroid Build Coastguard Worker 78*9880d681SAndroid Build Coastguard Workerdefine i64 @add_both_reversed(i64 %x, i64 %y) { 79*9880d681SAndroid Build Coastguard Worker; CHECK: %z = add nuw nsw i64 %x, %y 80*9880d681SAndroid Build Coastguard Worker %z = add nsw nuw i64 %x, %y 81*9880d681SAndroid Build Coastguard Worker ret i64 %z 82*9880d681SAndroid Build Coastguard Worker} 83*9880d681SAndroid Build Coastguard Worker 84*9880d681SAndroid Build Coastguard Workerdefine i64 @sub_both_reversed(i64 %x, i64 %y) { 85*9880d681SAndroid Build Coastguard Worker; CHECK: %z = sub nuw nsw i64 %x, %y 86*9880d681SAndroid Build Coastguard Worker %z = sub nsw nuw i64 %x, %y 87*9880d681SAndroid Build Coastguard Worker ret i64 %z 88*9880d681SAndroid Build Coastguard Worker} 89*9880d681SAndroid Build Coastguard Worker 90*9880d681SAndroid Build Coastguard Workerdefine i64 @mul_both_reversed(i64 %x, i64 %y) { 91*9880d681SAndroid Build Coastguard Worker; CHECK: %z = mul nuw nsw i64 %x, %y 92*9880d681SAndroid Build Coastguard Worker %z = mul nsw nuw i64 %x, %y 93*9880d681SAndroid Build Coastguard Worker ret i64 %z 94*9880d681SAndroid Build Coastguard Worker} 95*9880d681SAndroid Build Coastguard Worker 96*9880d681SAndroid Build Coastguard Workerdefine i64 @shl_both(i64 %x, i64 %y) { 97*9880d681SAndroid Build Coastguard Worker; CHECK: %z = shl nuw nsw i64 %x, %y 98*9880d681SAndroid Build Coastguard Worker %z = shl nuw nsw i64 %x, %y 99*9880d681SAndroid Build Coastguard Worker ret i64 %z 100*9880d681SAndroid Build Coastguard Worker} 101*9880d681SAndroid Build Coastguard Worker 102*9880d681SAndroid Build Coastguard Workerdefine i64 @sdiv_exact(i64 %x, i64 %y) { 103*9880d681SAndroid Build Coastguard Worker; CHECK: %z = sdiv exact i64 %x, %y 104*9880d681SAndroid Build Coastguard Worker %z = sdiv exact i64 %x, %y 105*9880d681SAndroid Build Coastguard Worker ret i64 %z 106*9880d681SAndroid Build Coastguard Worker} 107*9880d681SAndroid Build Coastguard Worker 108*9880d681SAndroid Build Coastguard Workerdefine i64 @sdiv_plain(i64 %x, i64 %y) { 109*9880d681SAndroid Build Coastguard Worker; CHECK: %z = sdiv i64 %x, %y 110*9880d681SAndroid Build Coastguard Worker %z = sdiv i64 %x, %y 111*9880d681SAndroid Build Coastguard Worker ret i64 %z 112*9880d681SAndroid Build Coastguard Worker} 113*9880d681SAndroid Build Coastguard Worker 114*9880d681SAndroid Build Coastguard Workerdefine i64 @udiv_exact(i64 %x, i64 %y) { 115*9880d681SAndroid Build Coastguard Worker; CHECK: %z = udiv exact i64 %x, %y 116*9880d681SAndroid Build Coastguard Worker %z = udiv exact i64 %x, %y 117*9880d681SAndroid Build Coastguard Worker ret i64 %z 118*9880d681SAndroid Build Coastguard Worker} 119*9880d681SAndroid Build Coastguard Worker 120*9880d681SAndroid Build Coastguard Workerdefine i64 @udiv_plain(i64 %x, i64 %y) { 121*9880d681SAndroid Build Coastguard Worker; CHECK: %z = udiv i64 %x, %y 122*9880d681SAndroid Build Coastguard Worker %z = udiv i64 %x, %y 123*9880d681SAndroid Build Coastguard Worker ret i64 %z 124*9880d681SAndroid Build Coastguard Worker} 125*9880d681SAndroid Build Coastguard Worker 126*9880d681SAndroid Build Coastguard Workerdefine i64 @ashr_plain(i64 %x, i64 %y) { 127*9880d681SAndroid Build Coastguard Worker; CHECK: %z = ashr i64 %x, %y 128*9880d681SAndroid Build Coastguard Worker %z = ashr i64 %x, %y 129*9880d681SAndroid Build Coastguard Worker ret i64 %z 130*9880d681SAndroid Build Coastguard Worker} 131*9880d681SAndroid Build Coastguard Worker 132*9880d681SAndroid Build Coastguard Workerdefine i64 @ashr_exact(i64 %x, i64 %y) { 133*9880d681SAndroid Build Coastguard Worker; CHECK: %z = ashr exact i64 %x, %y 134*9880d681SAndroid Build Coastguard Worker %z = ashr exact i64 %x, %y 135*9880d681SAndroid Build Coastguard Worker ret i64 %z 136*9880d681SAndroid Build Coastguard Worker} 137*9880d681SAndroid Build Coastguard Worker 138*9880d681SAndroid Build Coastguard Workerdefine i64 @lshr_plain(i64 %x, i64 %y) { 139*9880d681SAndroid Build Coastguard Worker; CHECK: %z = lshr i64 %x, %y 140*9880d681SAndroid Build Coastguard Worker %z = lshr i64 %x, %y 141*9880d681SAndroid Build Coastguard Worker ret i64 %z 142*9880d681SAndroid Build Coastguard Worker} 143*9880d681SAndroid Build Coastguard Worker 144*9880d681SAndroid Build Coastguard Workerdefine i64 @lshr_exact(i64 %x, i64 %y) { 145*9880d681SAndroid Build Coastguard Worker; CHECK: %z = lshr exact i64 %x, %y 146*9880d681SAndroid Build Coastguard Worker %z = lshr exact i64 %x, %y 147*9880d681SAndroid Build Coastguard Worker ret i64 %z 148*9880d681SAndroid Build Coastguard Worker} 149*9880d681SAndroid Build Coastguard Worker 150*9880d681SAndroid Build Coastguard Workerdefine i64* @gep_nw(i64* %p, i64 %x) { 151*9880d681SAndroid Build Coastguard Worker; CHECK: %z = getelementptr inbounds i64, i64* %p, i64 %x 152*9880d681SAndroid Build Coastguard Worker %z = getelementptr inbounds i64, i64* %p, i64 %x 153*9880d681SAndroid Build Coastguard Worker ret i64* %z 154*9880d681SAndroid Build Coastguard Worker} 155*9880d681SAndroid Build Coastguard Worker 156*9880d681SAndroid Build Coastguard Workerdefine i64* @gep_plain(i64* %p, i64 %x) { 157*9880d681SAndroid Build Coastguard Worker; CHECK: %z = getelementptr i64, i64* %p, i64 %x 158*9880d681SAndroid Build Coastguard Worker %z = getelementptr i64, i64* %p, i64 %x 159*9880d681SAndroid Build Coastguard Worker ret i64* %z 160*9880d681SAndroid Build Coastguard Worker} 161*9880d681SAndroid Build Coastguard Worker 162*9880d681SAndroid Build Coastguard Workerdefine i64 @add_both_ce() { 163*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 add nuw nsw (i64 ptrtoint (i64* @addr to i64), i64 91) 164*9880d681SAndroid Build Coastguard Worker ret i64 add nsw nuw (i64 ptrtoint (i64* @addr to i64), i64 91) 165*9880d681SAndroid Build Coastguard Worker} 166*9880d681SAndroid Build Coastguard Worker 167*9880d681SAndroid Build Coastguard Workerdefine i64 @sub_both_ce() { 168*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 sub nuw nsw (i64 ptrtoint (i64* @addr to i64), i64 91) 169*9880d681SAndroid Build Coastguard Worker ret i64 sub nsw nuw (i64 ptrtoint (i64* @addr to i64), i64 91) 170*9880d681SAndroid Build Coastguard Worker} 171*9880d681SAndroid Build Coastguard Worker 172*9880d681SAndroid Build Coastguard Workerdefine i64 @mul_both_ce() { 173*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 mul nuw nsw (i64 ptrtoint (i64* @addr to i64), i64 91) 174*9880d681SAndroid Build Coastguard Worker ret i64 mul nuw nsw (i64 ptrtoint (i64* @addr to i64), i64 91) 175*9880d681SAndroid Build Coastguard Worker} 176*9880d681SAndroid Build Coastguard Worker 177*9880d681SAndroid Build Coastguard Workerdefine i64 @sdiv_exact_ce() { 178*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 sdiv exact (i64 ptrtoint (i64* @addr to i64), i64 91) 179*9880d681SAndroid Build Coastguard Worker ret i64 sdiv exact (i64 ptrtoint (i64* @addr to i64), i64 91) 180*9880d681SAndroid Build Coastguard Worker} 181*9880d681SAndroid Build Coastguard Worker 182*9880d681SAndroid Build Coastguard Workerdefine i64 @udiv_exact_ce() { 183*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 udiv exact (i64 ptrtoint (i64* @addr to i64), i64 91) 184*9880d681SAndroid Build Coastguard Worker ret i64 udiv exact (i64 ptrtoint (i64* @addr to i64), i64 91) 185*9880d681SAndroid Build Coastguard Worker} 186*9880d681SAndroid Build Coastguard Worker 187*9880d681SAndroid Build Coastguard Workerdefine i64 @ashr_exact_ce() { 188*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 ashr exact (i64 ptrtoint (i64* @addr to i64), i64 9) 189*9880d681SAndroid Build Coastguard Worker ret i64 ashr exact (i64 ptrtoint (i64* @addr to i64), i64 9) 190*9880d681SAndroid Build Coastguard Worker} 191*9880d681SAndroid Build Coastguard Worker 192*9880d681SAndroid Build Coastguard Workerdefine i64 @lshr_exact_ce() { 193*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 lshr exact (i64 ptrtoint (i64* @addr to i64), i64 9) 194*9880d681SAndroid Build Coastguard Worker ret i64 lshr exact (i64 ptrtoint (i64* @addr to i64), i64 9) 195*9880d681SAndroid Build Coastguard Worker} 196*9880d681SAndroid Build Coastguard Worker 197*9880d681SAndroid Build Coastguard Workerdefine i64* @gep_nw_ce() { 198*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64* getelementptr inbounds (i64, i64* @addr, i64 171) 199*9880d681SAndroid Build Coastguard Worker ret i64* getelementptr inbounds (i64, i64* @addr, i64 171) 200*9880d681SAndroid Build Coastguard Worker} 201*9880d681SAndroid Build Coastguard Worker 202*9880d681SAndroid Build Coastguard Workerdefine i64 @add_plain_ce() { 203*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 add (i64 ptrtoint (i64* @addr to i64), i64 91) 204*9880d681SAndroid Build Coastguard Worker ret i64 add (i64 ptrtoint (i64* @addr to i64), i64 91) 205*9880d681SAndroid Build Coastguard Worker} 206*9880d681SAndroid Build Coastguard Worker 207*9880d681SAndroid Build Coastguard Workerdefine i64 @sub_plain_ce() { 208*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 sub (i64 ptrtoint (i64* @addr to i64), i64 91) 209*9880d681SAndroid Build Coastguard Worker ret i64 sub (i64 ptrtoint (i64* @addr to i64), i64 91) 210*9880d681SAndroid Build Coastguard Worker} 211*9880d681SAndroid Build Coastguard Worker 212*9880d681SAndroid Build Coastguard Workerdefine i64 @mul_plain_ce() { 213*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 mul (i64 ptrtoint (i64* @addr to i64), i64 91) 214*9880d681SAndroid Build Coastguard Worker ret i64 mul (i64 ptrtoint (i64* @addr to i64), i64 91) 215*9880d681SAndroid Build Coastguard Worker} 216*9880d681SAndroid Build Coastguard Worker 217*9880d681SAndroid Build Coastguard Workerdefine i64 @sdiv_plain_ce() { 218*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 sdiv (i64 ptrtoint (i64* @addr to i64), i64 91) 219*9880d681SAndroid Build Coastguard Worker ret i64 sdiv (i64 ptrtoint (i64* @addr to i64), i64 91) 220*9880d681SAndroid Build Coastguard Worker} 221*9880d681SAndroid Build Coastguard Worker 222*9880d681SAndroid Build Coastguard Workerdefine i64* @gep_plain_ce() { 223*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64* getelementptr (i64, i64* @addr, i64 171) 224*9880d681SAndroid Build Coastguard Worker ret i64* getelementptr (i64, i64* @addr, i64 171) 225*9880d681SAndroid Build Coastguard Worker} 226*9880d681SAndroid Build Coastguard Worker 227*9880d681SAndroid Build Coastguard Workerdefine i64 @add_both_reversed_ce() { 228*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 add nuw nsw (i64 ptrtoint (i64* @addr to i64), i64 91) 229*9880d681SAndroid Build Coastguard Worker ret i64 add nsw nuw (i64 ptrtoint (i64* @addr to i64), i64 91) 230*9880d681SAndroid Build Coastguard Worker} 231*9880d681SAndroid Build Coastguard Worker 232*9880d681SAndroid Build Coastguard Workerdefine i64 @sub_both_reversed_ce() { 233*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 sub nuw nsw (i64 ptrtoint (i64* @addr to i64), i64 91) 234*9880d681SAndroid Build Coastguard Worker ret i64 sub nsw nuw (i64 ptrtoint (i64* @addr to i64), i64 91) 235*9880d681SAndroid Build Coastguard Worker} 236*9880d681SAndroid Build Coastguard Worker 237*9880d681SAndroid Build Coastguard Workerdefine i64 @mul_both_reversed_ce() { 238*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 mul nuw nsw (i64 ptrtoint (i64* @addr to i64), i64 91) 239*9880d681SAndroid Build Coastguard Worker ret i64 mul nsw nuw (i64 ptrtoint (i64* @addr to i64), i64 91) 240*9880d681SAndroid Build Coastguard Worker} 241*9880d681SAndroid Build Coastguard Worker 242*9880d681SAndroid Build Coastguard Workerdefine i64 @add_signed_ce() { 243*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 add nsw (i64 ptrtoint (i64* @addr to i64), i64 91) 244*9880d681SAndroid Build Coastguard Worker ret i64 add nsw (i64 ptrtoint (i64* @addr to i64), i64 91) 245*9880d681SAndroid Build Coastguard Worker} 246*9880d681SAndroid Build Coastguard Worker 247*9880d681SAndroid Build Coastguard Workerdefine i64 @sub_signed_ce() { 248*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 sub nsw (i64 ptrtoint (i64* @addr to i64), i64 91) 249*9880d681SAndroid Build Coastguard Worker ret i64 sub nsw (i64 ptrtoint (i64* @addr to i64), i64 91) 250*9880d681SAndroid Build Coastguard Worker} 251*9880d681SAndroid Build Coastguard Worker 252*9880d681SAndroid Build Coastguard Workerdefine i64 @mul_signed_ce() { 253*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 mul nsw (i64 ptrtoint (i64* @addr to i64), i64 91) 254*9880d681SAndroid Build Coastguard Worker ret i64 mul nsw (i64 ptrtoint (i64* @addr to i64), i64 91) 255*9880d681SAndroid Build Coastguard Worker} 256*9880d681SAndroid Build Coastguard Worker 257*9880d681SAndroid Build Coastguard Workerdefine i64 @shl_signed_ce() { 258*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 shl nsw (i64 ptrtoint (i64* @addr to i64), i64 17) 259*9880d681SAndroid Build Coastguard Worker ret i64 shl nsw (i64 ptrtoint (i64* @addr to i64), i64 17) 260*9880d681SAndroid Build Coastguard Worker} 261*9880d681SAndroid Build Coastguard Worker 262*9880d681SAndroid Build Coastguard Worker 263*9880d681SAndroid Build Coastguard Workerdefine i64 @add_unsigned_ce() { 264*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 add nuw (i64 ptrtoint (i64* @addr to i64), i64 91) 265*9880d681SAndroid Build Coastguard Worker ret i64 add nuw (i64 ptrtoint (i64* @addr to i64), i64 91) 266*9880d681SAndroid Build Coastguard Worker} 267*9880d681SAndroid Build Coastguard Worker 268*9880d681SAndroid Build Coastguard Workerdefine i64 @sub_unsigned_ce() { 269*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 sub nuw (i64 ptrtoint (i64* @addr to i64), i64 91) 270*9880d681SAndroid Build Coastguard Worker ret i64 sub nuw (i64 ptrtoint (i64* @addr to i64), i64 91) 271*9880d681SAndroid Build Coastguard Worker} 272*9880d681SAndroid Build Coastguard Worker 273*9880d681SAndroid Build Coastguard Workerdefine i64 @mul_unsigned_ce() { 274*9880d681SAndroid Build Coastguard Worker; CHECK: ret i64 mul nuw (i64 ptrtoint (i64* @addr to i64), i64 91) 275*9880d681SAndroid Build Coastguard Worker ret i64 mul nuw (i64 ptrtoint (i64* @addr to i64), i64 91) 276*9880d681SAndroid Build Coastguard Worker} 277*9880d681SAndroid Build Coastguard Worker 278