1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=ppc64 -verify-machineinstrs 2*9880d681SAndroid Build Coastguard Worker; 3*9880d681SAndroid Build Coastguard Worker; This test is disabled until PPCISelLowering learns to insert proper 64-bit 4*9880d681SAndroid Build Coastguard Worker; code for ATOMIC_CMP_SWAP. Currently, it is inserting 32-bit instructions with 5*9880d681SAndroid Build Coastguard Worker; 64-bit operands which causes the machine code verifier to throw a tantrum. 6*9880d681SAndroid Build Coastguard Worker; 7*9880d681SAndroid Build Coastguard Worker; XFAIL: * 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Workertarget datalayout = "E-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f128:64:128" 10*9880d681SAndroid Build Coastguard Workertarget triple = "powerpc64-apple-darwin9" 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker@sc = common global i8 0 13*9880d681SAndroid Build Coastguard Worker@uc = common global i8 0 14*9880d681SAndroid Build Coastguard Worker@ss = common global i16 0 15*9880d681SAndroid Build Coastguard Worker@us = common global i16 0 16*9880d681SAndroid Build Coastguard Worker@si = common global i32 0 17*9880d681SAndroid Build Coastguard Worker@ui = common global i32 0 18*9880d681SAndroid Build Coastguard Worker@sl = common global i64 0, align 8 19*9880d681SAndroid Build Coastguard Worker@ul = common global i64 0, align 8 20*9880d681SAndroid Build Coastguard Worker@sll = common global i64 0, align 8 21*9880d681SAndroid Build Coastguard Worker@ull = common global i64 0, align 8 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerdefine void @test_op_ignore() nounwind { 24*9880d681SAndroid Build Coastguard Workerentry: 25*9880d681SAndroid Build Coastguard Worker %0 = atomicrmw add i8* @sc, i8 1 monotonic 26*9880d681SAndroid Build Coastguard Worker %1 = atomicrmw add i8* @uc, i8 1 monotonic 27*9880d681SAndroid Build Coastguard Worker %2 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 28*9880d681SAndroid Build Coastguard Worker %3 = atomicrmw add i16* %2, i16 1 monotonic 29*9880d681SAndroid Build Coastguard Worker %4 = bitcast i8* bitcast (i16* @us to i8*) to i16* 30*9880d681SAndroid Build Coastguard Worker %5 = atomicrmw add i16* %4, i16 1 monotonic 31*9880d681SAndroid Build Coastguard Worker %6 = bitcast i8* bitcast (i32* @si to i8*) to i32* 32*9880d681SAndroid Build Coastguard Worker %7 = atomicrmw add i32* %6, i32 1 monotonic 33*9880d681SAndroid Build Coastguard Worker %8 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 34*9880d681SAndroid Build Coastguard Worker %9 = atomicrmw add i32* %8, i32 1 monotonic 35*9880d681SAndroid Build Coastguard Worker %10 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 36*9880d681SAndroid Build Coastguard Worker %11 = atomicrmw add i64* %10, i64 1 monotonic 37*9880d681SAndroid Build Coastguard Worker %12 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 38*9880d681SAndroid Build Coastguard Worker %13 = atomicrmw add i64* %12, i64 1 monotonic 39*9880d681SAndroid Build Coastguard Worker %14 = atomicrmw sub i8* @sc, i8 1 monotonic 40*9880d681SAndroid Build Coastguard Worker %15 = atomicrmw sub i8* @uc, i8 1 monotonic 41*9880d681SAndroid Build Coastguard Worker %16 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 42*9880d681SAndroid Build Coastguard Worker %17 = atomicrmw sub i16* %16, i16 1 monotonic 43*9880d681SAndroid Build Coastguard Worker %18 = bitcast i8* bitcast (i16* @us to i8*) to i16* 44*9880d681SAndroid Build Coastguard Worker %19 = atomicrmw sub i16* %18, i16 1 monotonic 45*9880d681SAndroid Build Coastguard Worker %20 = bitcast i8* bitcast (i32* @si to i8*) to i32* 46*9880d681SAndroid Build Coastguard Worker %21 = atomicrmw sub i32* %20, i32 1 monotonic 47*9880d681SAndroid Build Coastguard Worker %22 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 48*9880d681SAndroid Build Coastguard Worker %23 = atomicrmw sub i32* %22, i32 1 monotonic 49*9880d681SAndroid Build Coastguard Worker %24 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 50*9880d681SAndroid Build Coastguard Worker %25 = atomicrmw sub i64* %24, i64 1 monotonic 51*9880d681SAndroid Build Coastguard Worker %26 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 52*9880d681SAndroid Build Coastguard Worker %27 = atomicrmw sub i64* %26, i64 1 monotonic 53*9880d681SAndroid Build Coastguard Worker %28 = atomicrmw or i8* @sc, i8 1 monotonic 54*9880d681SAndroid Build Coastguard Worker %29 = atomicrmw or i8* @uc, i8 1 monotonic 55*9880d681SAndroid Build Coastguard Worker %30 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 56*9880d681SAndroid Build Coastguard Worker %31 = atomicrmw or i16* %30, i16 1 monotonic 57*9880d681SAndroid Build Coastguard Worker %32 = bitcast i8* bitcast (i16* @us to i8*) to i16* 58*9880d681SAndroid Build Coastguard Worker %33 = atomicrmw or i16* %32, i16 1 monotonic 59*9880d681SAndroid Build Coastguard Worker %34 = bitcast i8* bitcast (i32* @si to i8*) to i32* 60*9880d681SAndroid Build Coastguard Worker %35 = atomicrmw or i32* %34, i32 1 monotonic 61*9880d681SAndroid Build Coastguard Worker %36 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 62*9880d681SAndroid Build Coastguard Worker %37 = atomicrmw or i32* %36, i32 1 monotonic 63*9880d681SAndroid Build Coastguard Worker %38 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 64*9880d681SAndroid Build Coastguard Worker %39 = atomicrmw or i64* %38, i64 1 monotonic 65*9880d681SAndroid Build Coastguard Worker %40 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 66*9880d681SAndroid Build Coastguard Worker %41 = atomicrmw or i64* %40, i64 1 monotonic 67*9880d681SAndroid Build Coastguard Worker %42 = atomicrmw xor i8* @sc, i8 1 monotonic 68*9880d681SAndroid Build Coastguard Worker %43 = atomicrmw xor i8* @uc, i8 1 monotonic 69*9880d681SAndroid Build Coastguard Worker %44 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 70*9880d681SAndroid Build Coastguard Worker %45 = atomicrmw xor i16* %44, i16 1 monotonic 71*9880d681SAndroid Build Coastguard Worker %46 = bitcast i8* bitcast (i16* @us to i8*) to i16* 72*9880d681SAndroid Build Coastguard Worker %47 = atomicrmw xor i16* %46, i16 1 monotonic 73*9880d681SAndroid Build Coastguard Worker %48 = bitcast i8* bitcast (i32* @si to i8*) to i32* 74*9880d681SAndroid Build Coastguard Worker %49 = atomicrmw xor i32* %48, i32 1 monotonic 75*9880d681SAndroid Build Coastguard Worker %50 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 76*9880d681SAndroid Build Coastguard Worker %51 = atomicrmw xor i32* %50, i32 1 monotonic 77*9880d681SAndroid Build Coastguard Worker %52 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 78*9880d681SAndroid Build Coastguard Worker %53 = atomicrmw xor i64* %52, i64 1 monotonic 79*9880d681SAndroid Build Coastguard Worker %54 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 80*9880d681SAndroid Build Coastguard Worker %55 = atomicrmw xor i64* %54, i64 1 monotonic 81*9880d681SAndroid Build Coastguard Worker %56 = atomicrmw and i8* @sc, i8 1 monotonic 82*9880d681SAndroid Build Coastguard Worker %57 = atomicrmw and i8* @uc, i8 1 monotonic 83*9880d681SAndroid Build Coastguard Worker %58 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 84*9880d681SAndroid Build Coastguard Worker %59 = atomicrmw and i16* %58, i16 1 monotonic 85*9880d681SAndroid Build Coastguard Worker %60 = bitcast i8* bitcast (i16* @us to i8*) to i16* 86*9880d681SAndroid Build Coastguard Worker %61 = atomicrmw and i16* %60, i16 1 monotonic 87*9880d681SAndroid Build Coastguard Worker %62 = bitcast i8* bitcast (i32* @si to i8*) to i32* 88*9880d681SAndroid Build Coastguard Worker %63 = atomicrmw and i32* %62, i32 1 monotonic 89*9880d681SAndroid Build Coastguard Worker %64 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 90*9880d681SAndroid Build Coastguard Worker %65 = atomicrmw and i32* %64, i32 1 monotonic 91*9880d681SAndroid Build Coastguard Worker %66 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 92*9880d681SAndroid Build Coastguard Worker %67 = atomicrmw and i64* %66, i64 1 monotonic 93*9880d681SAndroid Build Coastguard Worker %68 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 94*9880d681SAndroid Build Coastguard Worker %69 = atomicrmw and i64* %68, i64 1 monotonic 95*9880d681SAndroid Build Coastguard Worker %70 = atomicrmw nand i8* @sc, i8 1 monotonic 96*9880d681SAndroid Build Coastguard Worker %71 = atomicrmw nand i8* @uc, i8 1 monotonic 97*9880d681SAndroid Build Coastguard Worker %72 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 98*9880d681SAndroid Build Coastguard Worker %73 = atomicrmw nand i16* %72, i16 1 monotonic 99*9880d681SAndroid Build Coastguard Worker %74 = bitcast i8* bitcast (i16* @us to i8*) to i16* 100*9880d681SAndroid Build Coastguard Worker %75 = atomicrmw nand i16* %74, i16 1 monotonic 101*9880d681SAndroid Build Coastguard Worker %76 = bitcast i8* bitcast (i32* @si to i8*) to i32* 102*9880d681SAndroid Build Coastguard Worker %77 = atomicrmw nand i32* %76, i32 1 monotonic 103*9880d681SAndroid Build Coastguard Worker %78 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 104*9880d681SAndroid Build Coastguard Worker %79 = atomicrmw nand i32* %78, i32 1 monotonic 105*9880d681SAndroid Build Coastguard Worker %80 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 106*9880d681SAndroid Build Coastguard Worker %81 = atomicrmw nand i64* %80, i64 1 monotonic 107*9880d681SAndroid Build Coastguard Worker %82 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 108*9880d681SAndroid Build Coastguard Worker %83 = atomicrmw nand i64* %82, i64 1 monotonic 109*9880d681SAndroid Build Coastguard Worker br label %return 110*9880d681SAndroid Build Coastguard Worker 111*9880d681SAndroid Build Coastguard Workerreturn: ; preds = %entry 112*9880d681SAndroid Build Coastguard Worker ret void 113*9880d681SAndroid Build Coastguard Worker} 114*9880d681SAndroid Build Coastguard Worker 115*9880d681SAndroid Build Coastguard Workerdefine void @test_fetch_and_op() nounwind { 116*9880d681SAndroid Build Coastguard Workerentry: 117*9880d681SAndroid Build Coastguard Worker %0 = atomicrmw add i8* @sc, i8 11 monotonic 118*9880d681SAndroid Build Coastguard Worker store i8 %0, i8* @sc, align 1 119*9880d681SAndroid Build Coastguard Worker %1 = atomicrmw add i8* @uc, i8 11 monotonic 120*9880d681SAndroid Build Coastguard Worker store i8 %1, i8* @uc, align 1 121*9880d681SAndroid Build Coastguard Worker %2 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 122*9880d681SAndroid Build Coastguard Worker %3 = atomicrmw add i16* %2, i16 11 monotonic 123*9880d681SAndroid Build Coastguard Worker store i16 %3, i16* @ss, align 2 124*9880d681SAndroid Build Coastguard Worker %4 = bitcast i8* bitcast (i16* @us to i8*) to i16* 125*9880d681SAndroid Build Coastguard Worker %5 = atomicrmw add i16* %4, i16 11 monotonic 126*9880d681SAndroid Build Coastguard Worker store i16 %5, i16* @us, align 2 127*9880d681SAndroid Build Coastguard Worker %6 = bitcast i8* bitcast (i32* @si to i8*) to i32* 128*9880d681SAndroid Build Coastguard Worker %7 = atomicrmw add i32* %6, i32 11 monotonic 129*9880d681SAndroid Build Coastguard Worker store i32 %7, i32* @si, align 4 130*9880d681SAndroid Build Coastguard Worker %8 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 131*9880d681SAndroid Build Coastguard Worker %9 = atomicrmw add i32* %8, i32 11 monotonic 132*9880d681SAndroid Build Coastguard Worker store i32 %9, i32* @ui, align 4 133*9880d681SAndroid Build Coastguard Worker %10 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 134*9880d681SAndroid Build Coastguard Worker %11 = atomicrmw add i64* %10, i64 11 monotonic 135*9880d681SAndroid Build Coastguard Worker store i64 %11, i64* @sl, align 8 136*9880d681SAndroid Build Coastguard Worker %12 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 137*9880d681SAndroid Build Coastguard Worker %13 = atomicrmw add i64* %12, i64 11 monotonic 138*9880d681SAndroid Build Coastguard Worker store i64 %13, i64* @ul, align 8 139*9880d681SAndroid Build Coastguard Worker %14 = atomicrmw sub i8* @sc, i8 11 monotonic 140*9880d681SAndroid Build Coastguard Worker store i8 %14, i8* @sc, align 1 141*9880d681SAndroid Build Coastguard Worker %15 = atomicrmw sub i8* @uc, i8 11 monotonic 142*9880d681SAndroid Build Coastguard Worker store i8 %15, i8* @uc, align 1 143*9880d681SAndroid Build Coastguard Worker %16 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 144*9880d681SAndroid Build Coastguard Worker %17 = atomicrmw sub i16* %16, i16 11 monotonic 145*9880d681SAndroid Build Coastguard Worker store i16 %17, i16* @ss, align 2 146*9880d681SAndroid Build Coastguard Worker %18 = bitcast i8* bitcast (i16* @us to i8*) to i16* 147*9880d681SAndroid Build Coastguard Worker %19 = atomicrmw sub i16* %18, i16 11 monotonic 148*9880d681SAndroid Build Coastguard Worker store i16 %19, i16* @us, align 2 149*9880d681SAndroid Build Coastguard Worker %20 = bitcast i8* bitcast (i32* @si to i8*) to i32* 150*9880d681SAndroid Build Coastguard Worker %21 = atomicrmw sub i32* %20, i32 11 monotonic 151*9880d681SAndroid Build Coastguard Worker store i32 %21, i32* @si, align 4 152*9880d681SAndroid Build Coastguard Worker %22 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 153*9880d681SAndroid Build Coastguard Worker %23 = atomicrmw sub i32* %22, i32 11 monotonic 154*9880d681SAndroid Build Coastguard Worker store i32 %23, i32* @ui, align 4 155*9880d681SAndroid Build Coastguard Worker %24 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 156*9880d681SAndroid Build Coastguard Worker %25 = atomicrmw sub i64* %24, i64 11 monotonic 157*9880d681SAndroid Build Coastguard Worker store i64 %25, i64* @sl, align 8 158*9880d681SAndroid Build Coastguard Worker %26 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 159*9880d681SAndroid Build Coastguard Worker %27 = atomicrmw sub i64* %26, i64 11 monotonic 160*9880d681SAndroid Build Coastguard Worker store i64 %27, i64* @ul, align 8 161*9880d681SAndroid Build Coastguard Worker %28 = atomicrmw or i8* @sc, i8 11 monotonic 162*9880d681SAndroid Build Coastguard Worker store i8 %28, i8* @sc, align 1 163*9880d681SAndroid Build Coastguard Worker %29 = atomicrmw or i8* @uc, i8 11 monotonic 164*9880d681SAndroid Build Coastguard Worker store i8 %29, i8* @uc, align 1 165*9880d681SAndroid Build Coastguard Worker %30 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 166*9880d681SAndroid Build Coastguard Worker %31 = atomicrmw or i16* %30, i16 11 monotonic 167*9880d681SAndroid Build Coastguard Worker store i16 %31, i16* @ss, align 2 168*9880d681SAndroid Build Coastguard Worker %32 = bitcast i8* bitcast (i16* @us to i8*) to i16* 169*9880d681SAndroid Build Coastguard Worker %33 = atomicrmw or i16* %32, i16 11 monotonic 170*9880d681SAndroid Build Coastguard Worker store i16 %33, i16* @us, align 2 171*9880d681SAndroid Build Coastguard Worker %34 = bitcast i8* bitcast (i32* @si to i8*) to i32* 172*9880d681SAndroid Build Coastguard Worker %35 = atomicrmw or i32* %34, i32 11 monotonic 173*9880d681SAndroid Build Coastguard Worker store i32 %35, i32* @si, align 4 174*9880d681SAndroid Build Coastguard Worker %36 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 175*9880d681SAndroid Build Coastguard Worker %37 = atomicrmw or i32* %36, i32 11 monotonic 176*9880d681SAndroid Build Coastguard Worker store i32 %37, i32* @ui, align 4 177*9880d681SAndroid Build Coastguard Worker %38 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 178*9880d681SAndroid Build Coastguard Worker %39 = atomicrmw or i64* %38, i64 11 monotonic 179*9880d681SAndroid Build Coastguard Worker store i64 %39, i64* @sl, align 8 180*9880d681SAndroid Build Coastguard Worker %40 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 181*9880d681SAndroid Build Coastguard Worker %41 = atomicrmw or i64* %40, i64 11 monotonic 182*9880d681SAndroid Build Coastguard Worker store i64 %41, i64* @ul, align 8 183*9880d681SAndroid Build Coastguard Worker %42 = atomicrmw xor i8* @sc, i8 11 monotonic 184*9880d681SAndroid Build Coastguard Worker store i8 %42, i8* @sc, align 1 185*9880d681SAndroid Build Coastguard Worker %43 = atomicrmw xor i8* @uc, i8 11 monotonic 186*9880d681SAndroid Build Coastguard Worker store i8 %43, i8* @uc, align 1 187*9880d681SAndroid Build Coastguard Worker %44 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 188*9880d681SAndroid Build Coastguard Worker %45 = atomicrmw xor i16* %44, i16 11 monotonic 189*9880d681SAndroid Build Coastguard Worker store i16 %45, i16* @ss, align 2 190*9880d681SAndroid Build Coastguard Worker %46 = bitcast i8* bitcast (i16* @us to i8*) to i16* 191*9880d681SAndroid Build Coastguard Worker %47 = atomicrmw xor i16* %46, i16 11 monotonic 192*9880d681SAndroid Build Coastguard Worker store i16 %47, i16* @us, align 2 193*9880d681SAndroid Build Coastguard Worker %48 = bitcast i8* bitcast (i32* @si to i8*) to i32* 194*9880d681SAndroid Build Coastguard Worker %49 = atomicrmw xor i32* %48, i32 11 monotonic 195*9880d681SAndroid Build Coastguard Worker store i32 %49, i32* @si, align 4 196*9880d681SAndroid Build Coastguard Worker %50 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 197*9880d681SAndroid Build Coastguard Worker %51 = atomicrmw xor i32* %50, i32 11 monotonic 198*9880d681SAndroid Build Coastguard Worker store i32 %51, i32* @ui, align 4 199*9880d681SAndroid Build Coastguard Worker %52 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 200*9880d681SAndroid Build Coastguard Worker %53 = atomicrmw xor i64* %52, i64 11 monotonic 201*9880d681SAndroid Build Coastguard Worker store i64 %53, i64* @sl, align 8 202*9880d681SAndroid Build Coastguard Worker %54 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 203*9880d681SAndroid Build Coastguard Worker %55 = atomicrmw xor i64* %54, i64 11 monotonic 204*9880d681SAndroid Build Coastguard Worker store i64 %55, i64* @ul, align 8 205*9880d681SAndroid Build Coastguard Worker %56 = atomicrmw and i8* @sc, i8 11 monotonic 206*9880d681SAndroid Build Coastguard Worker store i8 %56, i8* @sc, align 1 207*9880d681SAndroid Build Coastguard Worker %57 = atomicrmw and i8* @uc, i8 11 monotonic 208*9880d681SAndroid Build Coastguard Worker store i8 %57, i8* @uc, align 1 209*9880d681SAndroid Build Coastguard Worker %58 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 210*9880d681SAndroid Build Coastguard Worker %59 = atomicrmw and i16* %58, i16 11 monotonic 211*9880d681SAndroid Build Coastguard Worker store i16 %59, i16* @ss, align 2 212*9880d681SAndroid Build Coastguard Worker %60 = bitcast i8* bitcast (i16* @us to i8*) to i16* 213*9880d681SAndroid Build Coastguard Worker %61 = atomicrmw and i16* %60, i16 11 monotonic 214*9880d681SAndroid Build Coastguard Worker store i16 %61, i16* @us, align 2 215*9880d681SAndroid Build Coastguard Worker %62 = bitcast i8* bitcast (i32* @si to i8*) to i32* 216*9880d681SAndroid Build Coastguard Worker %63 = atomicrmw and i32* %62, i32 11 monotonic 217*9880d681SAndroid Build Coastguard Worker store i32 %63, i32* @si, align 4 218*9880d681SAndroid Build Coastguard Worker %64 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 219*9880d681SAndroid Build Coastguard Worker %65 = atomicrmw and i32* %64, i32 11 monotonic 220*9880d681SAndroid Build Coastguard Worker store i32 %65, i32* @ui, align 4 221*9880d681SAndroid Build Coastguard Worker %66 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 222*9880d681SAndroid Build Coastguard Worker %67 = atomicrmw and i64* %66, i64 11 monotonic 223*9880d681SAndroid Build Coastguard Worker store i64 %67, i64* @sl, align 8 224*9880d681SAndroid Build Coastguard Worker %68 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 225*9880d681SAndroid Build Coastguard Worker %69 = atomicrmw and i64* %68, i64 11 monotonic 226*9880d681SAndroid Build Coastguard Worker store i64 %69, i64* @ul, align 8 227*9880d681SAndroid Build Coastguard Worker %70 = atomicrmw nand i8* @sc, i8 11 monotonic 228*9880d681SAndroid Build Coastguard Worker store i8 %70, i8* @sc, align 1 229*9880d681SAndroid Build Coastguard Worker %71 = atomicrmw nand i8* @uc, i8 11 monotonic 230*9880d681SAndroid Build Coastguard Worker store i8 %71, i8* @uc, align 1 231*9880d681SAndroid Build Coastguard Worker %72 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 232*9880d681SAndroid Build Coastguard Worker %73 = atomicrmw nand i16* %72, i16 11 monotonic 233*9880d681SAndroid Build Coastguard Worker store i16 %73, i16* @ss, align 2 234*9880d681SAndroid Build Coastguard Worker %74 = bitcast i8* bitcast (i16* @us to i8*) to i16* 235*9880d681SAndroid Build Coastguard Worker %75 = atomicrmw nand i16* %74, i16 11 monotonic 236*9880d681SAndroid Build Coastguard Worker store i16 %75, i16* @us, align 2 237*9880d681SAndroid Build Coastguard Worker %76 = bitcast i8* bitcast (i32* @si to i8*) to i32* 238*9880d681SAndroid Build Coastguard Worker %77 = atomicrmw nand i32* %76, i32 11 monotonic 239*9880d681SAndroid Build Coastguard Worker store i32 %77, i32* @si, align 4 240*9880d681SAndroid Build Coastguard Worker %78 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 241*9880d681SAndroid Build Coastguard Worker %79 = atomicrmw nand i32* %78, i32 11 monotonic 242*9880d681SAndroid Build Coastguard Worker store i32 %79, i32* @ui, align 4 243*9880d681SAndroid Build Coastguard Worker %80 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 244*9880d681SAndroid Build Coastguard Worker %81 = atomicrmw nand i64* %80, i64 11 monotonic 245*9880d681SAndroid Build Coastguard Worker store i64 %81, i64* @sl, align 8 246*9880d681SAndroid Build Coastguard Worker %82 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 247*9880d681SAndroid Build Coastguard Worker %83 = atomicrmw nand i64* %82, i64 11 monotonic 248*9880d681SAndroid Build Coastguard Worker store i64 %83, i64* @ul, align 8 249*9880d681SAndroid Build Coastguard Worker br label %return 250*9880d681SAndroid Build Coastguard Worker 251*9880d681SAndroid Build Coastguard Workerreturn: ; preds = %entry 252*9880d681SAndroid Build Coastguard Worker ret void 253*9880d681SAndroid Build Coastguard Worker} 254*9880d681SAndroid Build Coastguard Worker 255*9880d681SAndroid Build Coastguard Workerdefine void @test_op_and_fetch() nounwind { 256*9880d681SAndroid Build Coastguard Workerentry: 257*9880d681SAndroid Build Coastguard Worker %0 = load i8, i8* @uc, align 1 258*9880d681SAndroid Build Coastguard Worker %1 = atomicrmw add i8* @sc, i8 %0 monotonic 259*9880d681SAndroid Build Coastguard Worker %2 = add i8 %1, %0 260*9880d681SAndroid Build Coastguard Worker store i8 %2, i8* @sc, align 1 261*9880d681SAndroid Build Coastguard Worker %3 = load i8, i8* @uc, align 1 262*9880d681SAndroid Build Coastguard Worker %4 = atomicrmw add i8* @uc, i8 %3 monotonic 263*9880d681SAndroid Build Coastguard Worker %5 = add i8 %4, %3 264*9880d681SAndroid Build Coastguard Worker store i8 %5, i8* @uc, align 1 265*9880d681SAndroid Build Coastguard Worker %6 = load i8, i8* @uc, align 1 266*9880d681SAndroid Build Coastguard Worker %7 = zext i8 %6 to i16 267*9880d681SAndroid Build Coastguard Worker %8 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 268*9880d681SAndroid Build Coastguard Worker %9 = atomicrmw add i16* %8, i16 %7 monotonic 269*9880d681SAndroid Build Coastguard Worker %10 = add i16 %9, %7 270*9880d681SAndroid Build Coastguard Worker store i16 %10, i16* @ss, align 2 271*9880d681SAndroid Build Coastguard Worker %11 = load i8, i8* @uc, align 1 272*9880d681SAndroid Build Coastguard Worker %12 = zext i8 %11 to i16 273*9880d681SAndroid Build Coastguard Worker %13 = bitcast i8* bitcast (i16* @us to i8*) to i16* 274*9880d681SAndroid Build Coastguard Worker %14 = atomicrmw add i16* %13, i16 %12 monotonic 275*9880d681SAndroid Build Coastguard Worker %15 = add i16 %14, %12 276*9880d681SAndroid Build Coastguard Worker store i16 %15, i16* @us, align 2 277*9880d681SAndroid Build Coastguard Worker %16 = load i8, i8* @uc, align 1 278*9880d681SAndroid Build Coastguard Worker %17 = zext i8 %16 to i32 279*9880d681SAndroid Build Coastguard Worker %18 = bitcast i8* bitcast (i32* @si to i8*) to i32* 280*9880d681SAndroid Build Coastguard Worker %19 = atomicrmw add i32* %18, i32 %17 monotonic 281*9880d681SAndroid Build Coastguard Worker %20 = add i32 %19, %17 282*9880d681SAndroid Build Coastguard Worker store i32 %20, i32* @si, align 4 283*9880d681SAndroid Build Coastguard Worker %21 = load i8, i8* @uc, align 1 284*9880d681SAndroid Build Coastguard Worker %22 = zext i8 %21 to i32 285*9880d681SAndroid Build Coastguard Worker %23 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 286*9880d681SAndroid Build Coastguard Worker %24 = atomicrmw add i32* %23, i32 %22 monotonic 287*9880d681SAndroid Build Coastguard Worker %25 = add i32 %24, %22 288*9880d681SAndroid Build Coastguard Worker store i32 %25, i32* @ui, align 4 289*9880d681SAndroid Build Coastguard Worker %26 = load i8, i8* @uc, align 1 290*9880d681SAndroid Build Coastguard Worker %27 = zext i8 %26 to i64 291*9880d681SAndroid Build Coastguard Worker %28 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 292*9880d681SAndroid Build Coastguard Worker %29 = atomicrmw add i64* %28, i64 %27 monotonic 293*9880d681SAndroid Build Coastguard Worker %30 = add i64 %29, %27 294*9880d681SAndroid Build Coastguard Worker store i64 %30, i64* @sl, align 8 295*9880d681SAndroid Build Coastguard Worker %31 = load i8, i8* @uc, align 1 296*9880d681SAndroid Build Coastguard Worker %32 = zext i8 %31 to i64 297*9880d681SAndroid Build Coastguard Worker %33 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 298*9880d681SAndroid Build Coastguard Worker %34 = atomicrmw add i64* %33, i64 %32 monotonic 299*9880d681SAndroid Build Coastguard Worker %35 = add i64 %34, %32 300*9880d681SAndroid Build Coastguard Worker store i64 %35, i64* @ul, align 8 301*9880d681SAndroid Build Coastguard Worker %36 = load i8, i8* @uc, align 1 302*9880d681SAndroid Build Coastguard Worker %37 = atomicrmw sub i8* @sc, i8 %36 monotonic 303*9880d681SAndroid Build Coastguard Worker %38 = sub i8 %37, %36 304*9880d681SAndroid Build Coastguard Worker store i8 %38, i8* @sc, align 1 305*9880d681SAndroid Build Coastguard Worker %39 = load i8, i8* @uc, align 1 306*9880d681SAndroid Build Coastguard Worker %40 = atomicrmw sub i8* @uc, i8 %39 monotonic 307*9880d681SAndroid Build Coastguard Worker %41 = sub i8 %40, %39 308*9880d681SAndroid Build Coastguard Worker store i8 %41, i8* @uc, align 1 309*9880d681SAndroid Build Coastguard Worker %42 = load i8, i8* @uc, align 1 310*9880d681SAndroid Build Coastguard Worker %43 = zext i8 %42 to i16 311*9880d681SAndroid Build Coastguard Worker %44 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 312*9880d681SAndroid Build Coastguard Worker %45 = atomicrmw sub i16* %44, i16 %43 monotonic 313*9880d681SAndroid Build Coastguard Worker %46 = sub i16 %45, %43 314*9880d681SAndroid Build Coastguard Worker store i16 %46, i16* @ss, align 2 315*9880d681SAndroid Build Coastguard Worker %47 = load i8, i8* @uc, align 1 316*9880d681SAndroid Build Coastguard Worker %48 = zext i8 %47 to i16 317*9880d681SAndroid Build Coastguard Worker %49 = bitcast i8* bitcast (i16* @us to i8*) to i16* 318*9880d681SAndroid Build Coastguard Worker %50 = atomicrmw sub i16* %49, i16 %48 monotonic 319*9880d681SAndroid Build Coastguard Worker %51 = sub i16 %50, %48 320*9880d681SAndroid Build Coastguard Worker store i16 %51, i16* @us, align 2 321*9880d681SAndroid Build Coastguard Worker %52 = load i8, i8* @uc, align 1 322*9880d681SAndroid Build Coastguard Worker %53 = zext i8 %52 to i32 323*9880d681SAndroid Build Coastguard Worker %54 = bitcast i8* bitcast (i32* @si to i8*) to i32* 324*9880d681SAndroid Build Coastguard Worker %55 = atomicrmw sub i32* %54, i32 %53 monotonic 325*9880d681SAndroid Build Coastguard Worker %56 = sub i32 %55, %53 326*9880d681SAndroid Build Coastguard Worker store i32 %56, i32* @si, align 4 327*9880d681SAndroid Build Coastguard Worker %57 = load i8, i8* @uc, align 1 328*9880d681SAndroid Build Coastguard Worker %58 = zext i8 %57 to i32 329*9880d681SAndroid Build Coastguard Worker %59 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 330*9880d681SAndroid Build Coastguard Worker %60 = atomicrmw sub i32* %59, i32 %58 monotonic 331*9880d681SAndroid Build Coastguard Worker %61 = sub i32 %60, %58 332*9880d681SAndroid Build Coastguard Worker store i32 %61, i32* @ui, align 4 333*9880d681SAndroid Build Coastguard Worker %62 = load i8, i8* @uc, align 1 334*9880d681SAndroid Build Coastguard Worker %63 = zext i8 %62 to i64 335*9880d681SAndroid Build Coastguard Worker %64 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 336*9880d681SAndroid Build Coastguard Worker %65 = atomicrmw sub i64* %64, i64 %63 monotonic 337*9880d681SAndroid Build Coastguard Worker %66 = sub i64 %65, %63 338*9880d681SAndroid Build Coastguard Worker store i64 %66, i64* @sl, align 8 339*9880d681SAndroid Build Coastguard Worker %67 = load i8, i8* @uc, align 1 340*9880d681SAndroid Build Coastguard Worker %68 = zext i8 %67 to i64 341*9880d681SAndroid Build Coastguard Worker %69 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 342*9880d681SAndroid Build Coastguard Worker %70 = atomicrmw sub i64* %69, i64 %68 monotonic 343*9880d681SAndroid Build Coastguard Worker %71 = sub i64 %70, %68 344*9880d681SAndroid Build Coastguard Worker store i64 %71, i64* @ul, align 8 345*9880d681SAndroid Build Coastguard Worker %72 = load i8, i8* @uc, align 1 346*9880d681SAndroid Build Coastguard Worker %73 = atomicrmw or i8* @sc, i8 %72 monotonic 347*9880d681SAndroid Build Coastguard Worker %74 = or i8 %73, %72 348*9880d681SAndroid Build Coastguard Worker store i8 %74, i8* @sc, align 1 349*9880d681SAndroid Build Coastguard Worker %75 = load i8, i8* @uc, align 1 350*9880d681SAndroid Build Coastguard Worker %76 = atomicrmw or i8* @uc, i8 %75 monotonic 351*9880d681SAndroid Build Coastguard Worker %77 = or i8 %76, %75 352*9880d681SAndroid Build Coastguard Worker store i8 %77, i8* @uc, align 1 353*9880d681SAndroid Build Coastguard Worker %78 = load i8, i8* @uc, align 1 354*9880d681SAndroid Build Coastguard Worker %79 = zext i8 %78 to i16 355*9880d681SAndroid Build Coastguard Worker %80 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 356*9880d681SAndroid Build Coastguard Worker %81 = atomicrmw or i16* %80, i16 %79 monotonic 357*9880d681SAndroid Build Coastguard Worker %82 = or i16 %81, %79 358*9880d681SAndroid Build Coastguard Worker store i16 %82, i16* @ss, align 2 359*9880d681SAndroid Build Coastguard Worker %83 = load i8, i8* @uc, align 1 360*9880d681SAndroid Build Coastguard Worker %84 = zext i8 %83 to i16 361*9880d681SAndroid Build Coastguard Worker %85 = bitcast i8* bitcast (i16* @us to i8*) to i16* 362*9880d681SAndroid Build Coastguard Worker %86 = atomicrmw or i16* %85, i16 %84 monotonic 363*9880d681SAndroid Build Coastguard Worker %87 = or i16 %86, %84 364*9880d681SAndroid Build Coastguard Worker store i16 %87, i16* @us, align 2 365*9880d681SAndroid Build Coastguard Worker %88 = load i8, i8* @uc, align 1 366*9880d681SAndroid Build Coastguard Worker %89 = zext i8 %88 to i32 367*9880d681SAndroid Build Coastguard Worker %90 = bitcast i8* bitcast (i32* @si to i8*) to i32* 368*9880d681SAndroid Build Coastguard Worker %91 = atomicrmw or i32* %90, i32 %89 monotonic 369*9880d681SAndroid Build Coastguard Worker %92 = or i32 %91, %89 370*9880d681SAndroid Build Coastguard Worker store i32 %92, i32* @si, align 4 371*9880d681SAndroid Build Coastguard Worker %93 = load i8, i8* @uc, align 1 372*9880d681SAndroid Build Coastguard Worker %94 = zext i8 %93 to i32 373*9880d681SAndroid Build Coastguard Worker %95 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 374*9880d681SAndroid Build Coastguard Worker %96 = atomicrmw or i32* %95, i32 %94 monotonic 375*9880d681SAndroid Build Coastguard Worker %97 = or i32 %96, %94 376*9880d681SAndroid Build Coastguard Worker store i32 %97, i32* @ui, align 4 377*9880d681SAndroid Build Coastguard Worker %98 = load i8, i8* @uc, align 1 378*9880d681SAndroid Build Coastguard Worker %99 = zext i8 %98 to i64 379*9880d681SAndroid Build Coastguard Worker %100 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 380*9880d681SAndroid Build Coastguard Worker %101 = atomicrmw or i64* %100, i64 %99 monotonic 381*9880d681SAndroid Build Coastguard Worker %102 = or i64 %101, %99 382*9880d681SAndroid Build Coastguard Worker store i64 %102, i64* @sl, align 8 383*9880d681SAndroid Build Coastguard Worker %103 = load i8, i8* @uc, align 1 384*9880d681SAndroid Build Coastguard Worker %104 = zext i8 %103 to i64 385*9880d681SAndroid Build Coastguard Worker %105 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 386*9880d681SAndroid Build Coastguard Worker %106 = atomicrmw or i64* %105, i64 %104 monotonic 387*9880d681SAndroid Build Coastguard Worker %107 = or i64 %106, %104 388*9880d681SAndroid Build Coastguard Worker store i64 %107, i64* @ul, align 8 389*9880d681SAndroid Build Coastguard Worker %108 = load i8, i8* @uc, align 1 390*9880d681SAndroid Build Coastguard Worker %109 = atomicrmw xor i8* @sc, i8 %108 monotonic 391*9880d681SAndroid Build Coastguard Worker %110 = xor i8 %109, %108 392*9880d681SAndroid Build Coastguard Worker store i8 %110, i8* @sc, align 1 393*9880d681SAndroid Build Coastguard Worker %111 = load i8, i8* @uc, align 1 394*9880d681SAndroid Build Coastguard Worker %112 = atomicrmw xor i8* @uc, i8 %111 monotonic 395*9880d681SAndroid Build Coastguard Worker %113 = xor i8 %112, %111 396*9880d681SAndroid Build Coastguard Worker store i8 %113, i8* @uc, align 1 397*9880d681SAndroid Build Coastguard Worker %114 = load i8, i8* @uc, align 1 398*9880d681SAndroid Build Coastguard Worker %115 = zext i8 %114 to i16 399*9880d681SAndroid Build Coastguard Worker %116 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 400*9880d681SAndroid Build Coastguard Worker %117 = atomicrmw xor i16* %116, i16 %115 monotonic 401*9880d681SAndroid Build Coastguard Worker %118 = xor i16 %117, %115 402*9880d681SAndroid Build Coastguard Worker store i16 %118, i16* @ss, align 2 403*9880d681SAndroid Build Coastguard Worker %119 = load i8, i8* @uc, align 1 404*9880d681SAndroid Build Coastguard Worker %120 = zext i8 %119 to i16 405*9880d681SAndroid Build Coastguard Worker %121 = bitcast i8* bitcast (i16* @us to i8*) to i16* 406*9880d681SAndroid Build Coastguard Worker %122 = atomicrmw xor i16* %121, i16 %120 monotonic 407*9880d681SAndroid Build Coastguard Worker %123 = xor i16 %122, %120 408*9880d681SAndroid Build Coastguard Worker store i16 %123, i16* @us, align 2 409*9880d681SAndroid Build Coastguard Worker %124 = load i8, i8* @uc, align 1 410*9880d681SAndroid Build Coastguard Worker %125 = zext i8 %124 to i32 411*9880d681SAndroid Build Coastguard Worker %126 = bitcast i8* bitcast (i32* @si to i8*) to i32* 412*9880d681SAndroid Build Coastguard Worker %127 = atomicrmw xor i32* %126, i32 %125 monotonic 413*9880d681SAndroid Build Coastguard Worker %128 = xor i32 %127, %125 414*9880d681SAndroid Build Coastguard Worker store i32 %128, i32* @si, align 4 415*9880d681SAndroid Build Coastguard Worker %129 = load i8, i8* @uc, align 1 416*9880d681SAndroid Build Coastguard Worker %130 = zext i8 %129 to i32 417*9880d681SAndroid Build Coastguard Worker %131 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 418*9880d681SAndroid Build Coastguard Worker %132 = atomicrmw xor i32* %131, i32 %130 monotonic 419*9880d681SAndroid Build Coastguard Worker %133 = xor i32 %132, %130 420*9880d681SAndroid Build Coastguard Worker store i32 %133, i32* @ui, align 4 421*9880d681SAndroid Build Coastguard Worker %134 = load i8, i8* @uc, align 1 422*9880d681SAndroid Build Coastguard Worker %135 = zext i8 %134 to i64 423*9880d681SAndroid Build Coastguard Worker %136 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 424*9880d681SAndroid Build Coastguard Worker %137 = atomicrmw xor i64* %136, i64 %135 monotonic 425*9880d681SAndroid Build Coastguard Worker %138 = xor i64 %137, %135 426*9880d681SAndroid Build Coastguard Worker store i64 %138, i64* @sl, align 8 427*9880d681SAndroid Build Coastguard Worker %139 = load i8, i8* @uc, align 1 428*9880d681SAndroid Build Coastguard Worker %140 = zext i8 %139 to i64 429*9880d681SAndroid Build Coastguard Worker %141 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 430*9880d681SAndroid Build Coastguard Worker %142 = atomicrmw xor i64* %141, i64 %140 monotonic 431*9880d681SAndroid Build Coastguard Worker %143 = xor i64 %142, %140 432*9880d681SAndroid Build Coastguard Worker store i64 %143, i64* @ul, align 8 433*9880d681SAndroid Build Coastguard Worker %144 = load i8, i8* @uc, align 1 434*9880d681SAndroid Build Coastguard Worker %145 = atomicrmw and i8* @sc, i8 %144 monotonic 435*9880d681SAndroid Build Coastguard Worker %146 = and i8 %145, %144 436*9880d681SAndroid Build Coastguard Worker store i8 %146, i8* @sc, align 1 437*9880d681SAndroid Build Coastguard Worker %147 = load i8, i8* @uc, align 1 438*9880d681SAndroid Build Coastguard Worker %148 = atomicrmw and i8* @uc, i8 %147 monotonic 439*9880d681SAndroid Build Coastguard Worker %149 = and i8 %148, %147 440*9880d681SAndroid Build Coastguard Worker store i8 %149, i8* @uc, align 1 441*9880d681SAndroid Build Coastguard Worker %150 = load i8, i8* @uc, align 1 442*9880d681SAndroid Build Coastguard Worker %151 = zext i8 %150 to i16 443*9880d681SAndroid Build Coastguard Worker %152 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 444*9880d681SAndroid Build Coastguard Worker %153 = atomicrmw and i16* %152, i16 %151 monotonic 445*9880d681SAndroid Build Coastguard Worker %154 = and i16 %153, %151 446*9880d681SAndroid Build Coastguard Worker store i16 %154, i16* @ss, align 2 447*9880d681SAndroid Build Coastguard Worker %155 = load i8, i8* @uc, align 1 448*9880d681SAndroid Build Coastguard Worker %156 = zext i8 %155 to i16 449*9880d681SAndroid Build Coastguard Worker %157 = bitcast i8* bitcast (i16* @us to i8*) to i16* 450*9880d681SAndroid Build Coastguard Worker %158 = atomicrmw and i16* %157, i16 %156 monotonic 451*9880d681SAndroid Build Coastguard Worker %159 = and i16 %158, %156 452*9880d681SAndroid Build Coastguard Worker store i16 %159, i16* @us, align 2 453*9880d681SAndroid Build Coastguard Worker %160 = load i8, i8* @uc, align 1 454*9880d681SAndroid Build Coastguard Worker %161 = zext i8 %160 to i32 455*9880d681SAndroid Build Coastguard Worker %162 = bitcast i8* bitcast (i32* @si to i8*) to i32* 456*9880d681SAndroid Build Coastguard Worker %163 = atomicrmw and i32* %162, i32 %161 monotonic 457*9880d681SAndroid Build Coastguard Worker %164 = and i32 %163, %161 458*9880d681SAndroid Build Coastguard Worker store i32 %164, i32* @si, align 4 459*9880d681SAndroid Build Coastguard Worker %165 = load i8, i8* @uc, align 1 460*9880d681SAndroid Build Coastguard Worker %166 = zext i8 %165 to i32 461*9880d681SAndroid Build Coastguard Worker %167 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 462*9880d681SAndroid Build Coastguard Worker %168 = atomicrmw and i32* %167, i32 %166 monotonic 463*9880d681SAndroid Build Coastguard Worker %169 = and i32 %168, %166 464*9880d681SAndroid Build Coastguard Worker store i32 %169, i32* @ui, align 4 465*9880d681SAndroid Build Coastguard Worker %170 = load i8, i8* @uc, align 1 466*9880d681SAndroid Build Coastguard Worker %171 = zext i8 %170 to i64 467*9880d681SAndroid Build Coastguard Worker %172 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 468*9880d681SAndroid Build Coastguard Worker %173 = atomicrmw and i64* %172, i64 %171 monotonic 469*9880d681SAndroid Build Coastguard Worker %174 = and i64 %173, %171 470*9880d681SAndroid Build Coastguard Worker store i64 %174, i64* @sl, align 8 471*9880d681SAndroid Build Coastguard Worker %175 = load i8, i8* @uc, align 1 472*9880d681SAndroid Build Coastguard Worker %176 = zext i8 %175 to i64 473*9880d681SAndroid Build Coastguard Worker %177 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 474*9880d681SAndroid Build Coastguard Worker %178 = atomicrmw and i64* %177, i64 %176 monotonic 475*9880d681SAndroid Build Coastguard Worker %179 = and i64 %178, %176 476*9880d681SAndroid Build Coastguard Worker store i64 %179, i64* @ul, align 8 477*9880d681SAndroid Build Coastguard Worker %180 = load i8, i8* @uc, align 1 478*9880d681SAndroid Build Coastguard Worker %181 = atomicrmw nand i8* @sc, i8 %180 monotonic 479*9880d681SAndroid Build Coastguard Worker %182 = xor i8 %181, -1 480*9880d681SAndroid Build Coastguard Worker %183 = and i8 %182, %180 481*9880d681SAndroid Build Coastguard Worker store i8 %183, i8* @sc, align 1 482*9880d681SAndroid Build Coastguard Worker %184 = load i8, i8* @uc, align 1 483*9880d681SAndroid Build Coastguard Worker %185 = atomicrmw nand i8* @uc, i8 %184 monotonic 484*9880d681SAndroid Build Coastguard Worker %186 = xor i8 %185, -1 485*9880d681SAndroid Build Coastguard Worker %187 = and i8 %186, %184 486*9880d681SAndroid Build Coastguard Worker store i8 %187, i8* @uc, align 1 487*9880d681SAndroid Build Coastguard Worker %188 = load i8, i8* @uc, align 1 488*9880d681SAndroid Build Coastguard Worker %189 = zext i8 %188 to i16 489*9880d681SAndroid Build Coastguard Worker %190 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 490*9880d681SAndroid Build Coastguard Worker %191 = atomicrmw nand i16* %190, i16 %189 monotonic 491*9880d681SAndroid Build Coastguard Worker %192 = xor i16 %191, -1 492*9880d681SAndroid Build Coastguard Worker %193 = and i16 %192, %189 493*9880d681SAndroid Build Coastguard Worker store i16 %193, i16* @ss, align 2 494*9880d681SAndroid Build Coastguard Worker %194 = load i8, i8* @uc, align 1 495*9880d681SAndroid Build Coastguard Worker %195 = zext i8 %194 to i16 496*9880d681SAndroid Build Coastguard Worker %196 = bitcast i8* bitcast (i16* @us to i8*) to i16* 497*9880d681SAndroid Build Coastguard Worker %197 = atomicrmw nand i16* %196, i16 %195 monotonic 498*9880d681SAndroid Build Coastguard Worker %198 = xor i16 %197, -1 499*9880d681SAndroid Build Coastguard Worker %199 = and i16 %198, %195 500*9880d681SAndroid Build Coastguard Worker store i16 %199, i16* @us, align 2 501*9880d681SAndroid Build Coastguard Worker %200 = load i8, i8* @uc, align 1 502*9880d681SAndroid Build Coastguard Worker %201 = zext i8 %200 to i32 503*9880d681SAndroid Build Coastguard Worker %202 = bitcast i8* bitcast (i32* @si to i8*) to i32* 504*9880d681SAndroid Build Coastguard Worker %203 = atomicrmw nand i32* %202, i32 %201 monotonic 505*9880d681SAndroid Build Coastguard Worker %204 = xor i32 %203, -1 506*9880d681SAndroid Build Coastguard Worker %205 = and i32 %204, %201 507*9880d681SAndroid Build Coastguard Worker store i32 %205, i32* @si, align 4 508*9880d681SAndroid Build Coastguard Worker %206 = load i8, i8* @uc, align 1 509*9880d681SAndroid Build Coastguard Worker %207 = zext i8 %206 to i32 510*9880d681SAndroid Build Coastguard Worker %208 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 511*9880d681SAndroid Build Coastguard Worker %209 = atomicrmw nand i32* %208, i32 %207 monotonic 512*9880d681SAndroid Build Coastguard Worker %210 = xor i32 %209, -1 513*9880d681SAndroid Build Coastguard Worker %211 = and i32 %210, %207 514*9880d681SAndroid Build Coastguard Worker store i32 %211, i32* @ui, align 4 515*9880d681SAndroid Build Coastguard Worker %212 = load i8, i8* @uc, align 1 516*9880d681SAndroid Build Coastguard Worker %213 = zext i8 %212 to i64 517*9880d681SAndroid Build Coastguard Worker %214 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 518*9880d681SAndroid Build Coastguard Worker %215 = atomicrmw nand i64* %214, i64 %213 monotonic 519*9880d681SAndroid Build Coastguard Worker %216 = xor i64 %215, -1 520*9880d681SAndroid Build Coastguard Worker %217 = and i64 %216, %213 521*9880d681SAndroid Build Coastguard Worker store i64 %217, i64* @sl, align 8 522*9880d681SAndroid Build Coastguard Worker %218 = load i8, i8* @uc, align 1 523*9880d681SAndroid Build Coastguard Worker %219 = zext i8 %218 to i64 524*9880d681SAndroid Build Coastguard Worker %220 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 525*9880d681SAndroid Build Coastguard Worker %221 = atomicrmw nand i64* %220, i64 %219 monotonic 526*9880d681SAndroid Build Coastguard Worker %222 = xor i64 %221, -1 527*9880d681SAndroid Build Coastguard Worker %223 = and i64 %222, %219 528*9880d681SAndroid Build Coastguard Worker store i64 %223, i64* @ul, align 8 529*9880d681SAndroid Build Coastguard Worker br label %return 530*9880d681SAndroid Build Coastguard Worker 531*9880d681SAndroid Build Coastguard Workerreturn: ; preds = %entry 532*9880d681SAndroid Build Coastguard Worker ret void 533*9880d681SAndroid Build Coastguard Worker} 534*9880d681SAndroid Build Coastguard Worker 535*9880d681SAndroid Build Coastguard Workerdefine void @test_compare_and_swap() nounwind { 536*9880d681SAndroid Build Coastguard Workerentry: 537*9880d681SAndroid Build Coastguard Worker %0 = load i8, i8* @uc, align 1 538*9880d681SAndroid Build Coastguard Worker %1 = load i8, i8* @sc, align 1 539*9880d681SAndroid Build Coastguard Worker %2 = cmpxchg i8* @sc, i8 %0, i8 %1 monotonic monotonic 540*9880d681SAndroid Build Coastguard Worker store i8 %2, i8* @sc, align 1 541*9880d681SAndroid Build Coastguard Worker %3 = load i8, i8* @uc, align 1 542*9880d681SAndroid Build Coastguard Worker %4 = load i8, i8* @sc, align 1 543*9880d681SAndroid Build Coastguard Worker %5 = cmpxchg i8* @uc, i8 %3, i8 %4 monotonic monotonic 544*9880d681SAndroid Build Coastguard Worker store i8 %5, i8* @uc, align 1 545*9880d681SAndroid Build Coastguard Worker %6 = load i8, i8* @uc, align 1 546*9880d681SAndroid Build Coastguard Worker %7 = zext i8 %6 to i16 547*9880d681SAndroid Build Coastguard Worker %8 = load i8, i8* @sc, align 1 548*9880d681SAndroid Build Coastguard Worker %9 = sext i8 %8 to i16 549*9880d681SAndroid Build Coastguard Worker %10 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 550*9880d681SAndroid Build Coastguard Worker %11 = cmpxchg i16* %10, i16 %7, i16 %9 monotonic monotonic 551*9880d681SAndroid Build Coastguard Worker store i16 %11, i16* @ss, align 2 552*9880d681SAndroid Build Coastguard Worker %12 = load i8, i8* @uc, align 1 553*9880d681SAndroid Build Coastguard Worker %13 = zext i8 %12 to i16 554*9880d681SAndroid Build Coastguard Worker %14 = load i8, i8* @sc, align 1 555*9880d681SAndroid Build Coastguard Worker %15 = sext i8 %14 to i16 556*9880d681SAndroid Build Coastguard Worker %16 = bitcast i8* bitcast (i16* @us to i8*) to i16* 557*9880d681SAndroid Build Coastguard Worker %17 = cmpxchg i16* %16, i16 %13, i16 %15 monotonic monotonic 558*9880d681SAndroid Build Coastguard Worker store i16 %17, i16* @us, align 2 559*9880d681SAndroid Build Coastguard Worker %18 = load i8, i8* @uc, align 1 560*9880d681SAndroid Build Coastguard Worker %19 = zext i8 %18 to i32 561*9880d681SAndroid Build Coastguard Worker %20 = load i8, i8* @sc, align 1 562*9880d681SAndroid Build Coastguard Worker %21 = sext i8 %20 to i32 563*9880d681SAndroid Build Coastguard Worker %22 = bitcast i8* bitcast (i32* @si to i8*) to i32* 564*9880d681SAndroid Build Coastguard Worker %23 = cmpxchg i32* %22, i32 %19, i32 %21 monotonic monotonic 565*9880d681SAndroid Build Coastguard Worker store i32 %23, i32* @si, align 4 566*9880d681SAndroid Build Coastguard Worker %24 = load i8, i8* @uc, align 1 567*9880d681SAndroid Build Coastguard Worker %25 = zext i8 %24 to i32 568*9880d681SAndroid Build Coastguard Worker %26 = load i8, i8* @sc, align 1 569*9880d681SAndroid Build Coastguard Worker %27 = sext i8 %26 to i32 570*9880d681SAndroid Build Coastguard Worker %28 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 571*9880d681SAndroid Build Coastguard Worker %29 = cmpxchg i32* %28, i32 %25, i32 %27 monotonic monotonic 572*9880d681SAndroid Build Coastguard Worker store i32 %29, i32* @ui, align 4 573*9880d681SAndroid Build Coastguard Worker %30 = load i8, i8* @uc, align 1 574*9880d681SAndroid Build Coastguard Worker %31 = zext i8 %30 to i64 575*9880d681SAndroid Build Coastguard Worker %32 = load i8, i8* @sc, align 1 576*9880d681SAndroid Build Coastguard Worker %33 = sext i8 %32 to i64 577*9880d681SAndroid Build Coastguard Worker %34 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 578*9880d681SAndroid Build Coastguard Worker %35 = cmpxchg i64* %34, i64 %31, i64 %33 monotonic monotonic 579*9880d681SAndroid Build Coastguard Worker store i64 %35, i64* @sl, align 8 580*9880d681SAndroid Build Coastguard Worker %36 = load i8, i8* @uc, align 1 581*9880d681SAndroid Build Coastguard Worker %37 = zext i8 %36 to i64 582*9880d681SAndroid Build Coastguard Worker %38 = load i8, i8* @sc, align 1 583*9880d681SAndroid Build Coastguard Worker %39 = sext i8 %38 to i64 584*9880d681SAndroid Build Coastguard Worker %40 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 585*9880d681SAndroid Build Coastguard Worker %41 = cmpxchg i64* %40, i64 %37, i64 %39 monotonic monotonic 586*9880d681SAndroid Build Coastguard Worker store i64 %41, i64* @ul, align 8 587*9880d681SAndroid Build Coastguard Worker %42 = load i8, i8* @uc, align 1 588*9880d681SAndroid Build Coastguard Worker %43 = load i8, i8* @sc, align 1 589*9880d681SAndroid Build Coastguard Worker %44 = cmpxchg i8* @sc, i8 %42, i8 %43 monotonic monotonic 590*9880d681SAndroid Build Coastguard Worker %45 = icmp eq i8 %44, %42 591*9880d681SAndroid Build Coastguard Worker %46 = zext i1 %45 to i8 592*9880d681SAndroid Build Coastguard Worker %47 = zext i8 %46 to i32 593*9880d681SAndroid Build Coastguard Worker store i32 %47, i32* @ui, align 4 594*9880d681SAndroid Build Coastguard Worker %48 = load i8, i8* @uc, align 1 595*9880d681SAndroid Build Coastguard Worker %49 = load i8, i8* @sc, align 1 596*9880d681SAndroid Build Coastguard Worker %50 = cmpxchg i8* @uc, i8 %48, i8 %49 monotonic monotonic 597*9880d681SAndroid Build Coastguard Worker %51 = icmp eq i8 %50, %48 598*9880d681SAndroid Build Coastguard Worker %52 = zext i1 %51 to i8 599*9880d681SAndroid Build Coastguard Worker %53 = zext i8 %52 to i32 600*9880d681SAndroid Build Coastguard Worker store i32 %53, i32* @ui, align 4 601*9880d681SAndroid Build Coastguard Worker %54 = load i8, i8* @uc, align 1 602*9880d681SAndroid Build Coastguard Worker %55 = zext i8 %54 to i16 603*9880d681SAndroid Build Coastguard Worker %56 = load i8, i8* @sc, align 1 604*9880d681SAndroid Build Coastguard Worker %57 = sext i8 %56 to i16 605*9880d681SAndroid Build Coastguard Worker %58 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 606*9880d681SAndroid Build Coastguard Worker %59 = cmpxchg i16* %58, i16 %55, i16 %57 monotonic monotonic 607*9880d681SAndroid Build Coastguard Worker %60 = icmp eq i16 %59, %55 608*9880d681SAndroid Build Coastguard Worker %61 = zext i1 %60 to i8 609*9880d681SAndroid Build Coastguard Worker %62 = zext i8 %61 to i32 610*9880d681SAndroid Build Coastguard Worker store i32 %62, i32* @ui, align 4 611*9880d681SAndroid Build Coastguard Worker %63 = load i8, i8* @uc, align 1 612*9880d681SAndroid Build Coastguard Worker %64 = zext i8 %63 to i16 613*9880d681SAndroid Build Coastguard Worker %65 = load i8, i8* @sc, align 1 614*9880d681SAndroid Build Coastguard Worker %66 = sext i8 %65 to i16 615*9880d681SAndroid Build Coastguard Worker %67 = bitcast i8* bitcast (i16* @us to i8*) to i16* 616*9880d681SAndroid Build Coastguard Worker %68 = cmpxchg i16* %67, i16 %64, i16 %66 monotonic monotonic 617*9880d681SAndroid Build Coastguard Worker %69 = icmp eq i16 %68, %64 618*9880d681SAndroid Build Coastguard Worker %70 = zext i1 %69 to i8 619*9880d681SAndroid Build Coastguard Worker %71 = zext i8 %70 to i32 620*9880d681SAndroid Build Coastguard Worker store i32 %71, i32* @ui, align 4 621*9880d681SAndroid Build Coastguard Worker %72 = load i8, i8* @uc, align 1 622*9880d681SAndroid Build Coastguard Worker %73 = zext i8 %72 to i32 623*9880d681SAndroid Build Coastguard Worker %74 = load i8, i8* @sc, align 1 624*9880d681SAndroid Build Coastguard Worker %75 = sext i8 %74 to i32 625*9880d681SAndroid Build Coastguard Worker %76 = bitcast i8* bitcast (i32* @si to i8*) to i32* 626*9880d681SAndroid Build Coastguard Worker %77 = cmpxchg i32* %76, i32 %73, i32 %75 monotonic monotonic 627*9880d681SAndroid Build Coastguard Worker %78 = icmp eq i32 %77, %73 628*9880d681SAndroid Build Coastguard Worker %79 = zext i1 %78 to i8 629*9880d681SAndroid Build Coastguard Worker %80 = zext i8 %79 to i32 630*9880d681SAndroid Build Coastguard Worker store i32 %80, i32* @ui, align 4 631*9880d681SAndroid Build Coastguard Worker %81 = load i8, i8* @uc, align 1 632*9880d681SAndroid Build Coastguard Worker %82 = zext i8 %81 to i32 633*9880d681SAndroid Build Coastguard Worker %83 = load i8, i8* @sc, align 1 634*9880d681SAndroid Build Coastguard Worker %84 = sext i8 %83 to i32 635*9880d681SAndroid Build Coastguard Worker %85 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 636*9880d681SAndroid Build Coastguard Worker %86 = cmpxchg i32* %85, i32 %82, i32 %84 monotonic monotonic 637*9880d681SAndroid Build Coastguard Worker %87 = icmp eq i32 %86, %82 638*9880d681SAndroid Build Coastguard Worker %88 = zext i1 %87 to i8 639*9880d681SAndroid Build Coastguard Worker %89 = zext i8 %88 to i32 640*9880d681SAndroid Build Coastguard Worker store i32 %89, i32* @ui, align 4 641*9880d681SAndroid Build Coastguard Worker %90 = load i8, i8* @uc, align 1 642*9880d681SAndroid Build Coastguard Worker %91 = zext i8 %90 to i64 643*9880d681SAndroid Build Coastguard Worker %92 = load i8, i8* @sc, align 1 644*9880d681SAndroid Build Coastguard Worker %93 = sext i8 %92 to i64 645*9880d681SAndroid Build Coastguard Worker %94 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 646*9880d681SAndroid Build Coastguard Worker %95 = cmpxchg i64* %94, i64 %91, i64 %93 monotonic monotonic 647*9880d681SAndroid Build Coastguard Worker %96 = icmp eq i64 %95, %91 648*9880d681SAndroid Build Coastguard Worker %97 = zext i1 %96 to i8 649*9880d681SAndroid Build Coastguard Worker %98 = zext i8 %97 to i32 650*9880d681SAndroid Build Coastguard Worker store i32 %98, i32* @ui, align 4 651*9880d681SAndroid Build Coastguard Worker %99 = load i8, i8* @uc, align 1 652*9880d681SAndroid Build Coastguard Worker %100 = zext i8 %99 to i64 653*9880d681SAndroid Build Coastguard Worker %101 = load i8, i8* @sc, align 1 654*9880d681SAndroid Build Coastguard Worker %102 = sext i8 %101 to i64 655*9880d681SAndroid Build Coastguard Worker %103 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 656*9880d681SAndroid Build Coastguard Worker %104 = cmpxchg i64* %103, i64 %100, i64 %102 monotonic monotonic 657*9880d681SAndroid Build Coastguard Worker %105 = icmp eq i64 %104, %100 658*9880d681SAndroid Build Coastguard Worker %106 = zext i1 %105 to i8 659*9880d681SAndroid Build Coastguard Worker %107 = zext i8 %106 to i32 660*9880d681SAndroid Build Coastguard Worker store i32 %107, i32* @ui, align 4 661*9880d681SAndroid Build Coastguard Worker br label %return 662*9880d681SAndroid Build Coastguard Worker 663*9880d681SAndroid Build Coastguard Workerreturn: ; preds = %entry 664*9880d681SAndroid Build Coastguard Worker ret void 665*9880d681SAndroid Build Coastguard Worker} 666*9880d681SAndroid Build Coastguard Worker 667*9880d681SAndroid Build Coastguard Workerdefine void @test_lock() nounwind { 668*9880d681SAndroid Build Coastguard Workerentry: 669*9880d681SAndroid Build Coastguard Worker %0 = atomicrmw xchg i8* @sc, i8 1 monotonic 670*9880d681SAndroid Build Coastguard Worker store i8 %0, i8* @sc, align 1 671*9880d681SAndroid Build Coastguard Worker %1 = atomicrmw xchg i8* @uc, i8 1 monotonic 672*9880d681SAndroid Build Coastguard Worker store i8 %1, i8* @uc, align 1 673*9880d681SAndroid Build Coastguard Worker %2 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 674*9880d681SAndroid Build Coastguard Worker %3 = atomicrmw xchg i16* %2, i16 1 monotonic 675*9880d681SAndroid Build Coastguard Worker store i16 %3, i16* @ss, align 2 676*9880d681SAndroid Build Coastguard Worker %4 = bitcast i8* bitcast (i16* @us to i8*) to i16* 677*9880d681SAndroid Build Coastguard Worker %5 = atomicrmw xchg i16* %4, i16 1 monotonic 678*9880d681SAndroid Build Coastguard Worker store i16 %5, i16* @us, align 2 679*9880d681SAndroid Build Coastguard Worker %6 = bitcast i8* bitcast (i32* @si to i8*) to i32* 680*9880d681SAndroid Build Coastguard Worker %7 = atomicrmw xchg i32* %6, i32 1 monotonic 681*9880d681SAndroid Build Coastguard Worker store i32 %7, i32* @si, align 4 682*9880d681SAndroid Build Coastguard Worker %8 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 683*9880d681SAndroid Build Coastguard Worker %9 = atomicrmw xchg i32* %8, i32 1 monotonic 684*9880d681SAndroid Build Coastguard Worker store i32 %9, i32* @ui, align 4 685*9880d681SAndroid Build Coastguard Worker %10 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 686*9880d681SAndroid Build Coastguard Worker %11 = atomicrmw xchg i64* %10, i64 1 monotonic 687*9880d681SAndroid Build Coastguard Worker store i64 %11, i64* @sl, align 8 688*9880d681SAndroid Build Coastguard Worker %12 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 689*9880d681SAndroid Build Coastguard Worker %13 = atomicrmw xchg i64* %12, i64 1 monotonic 690*9880d681SAndroid Build Coastguard Worker store i64 %13, i64* @ul, align 8 691*9880d681SAndroid Build Coastguard Worker fence seq_cst 692*9880d681SAndroid Build Coastguard Worker store volatile i8 0, i8* @sc, align 1 693*9880d681SAndroid Build Coastguard Worker store volatile i8 0, i8* @uc, align 1 694*9880d681SAndroid Build Coastguard Worker %14 = bitcast i8* bitcast (i16* @ss to i8*) to i16* 695*9880d681SAndroid Build Coastguard Worker store volatile i16 0, i16* %14, align 2 696*9880d681SAndroid Build Coastguard Worker %15 = bitcast i8* bitcast (i16* @us to i8*) to i16* 697*9880d681SAndroid Build Coastguard Worker store volatile i16 0, i16* %15, align 2 698*9880d681SAndroid Build Coastguard Worker %16 = bitcast i8* bitcast (i32* @si to i8*) to i32* 699*9880d681SAndroid Build Coastguard Worker store volatile i32 0, i32* %16, align 4 700*9880d681SAndroid Build Coastguard Worker %17 = bitcast i8* bitcast (i32* @ui to i8*) to i32* 701*9880d681SAndroid Build Coastguard Worker store volatile i32 0, i32* %17, align 4 702*9880d681SAndroid Build Coastguard Worker %18 = bitcast i8* bitcast (i64* @sl to i8*) to i64* 703*9880d681SAndroid Build Coastguard Worker store volatile i64 0, i64* %18, align 8 704*9880d681SAndroid Build Coastguard Worker %19 = bitcast i8* bitcast (i64* @ul to i8*) to i64* 705*9880d681SAndroid Build Coastguard Worker store volatile i64 0, i64* %19, align 8 706*9880d681SAndroid Build Coastguard Worker %20 = bitcast i8* bitcast (i64* @sll to i8*) to i64* 707*9880d681SAndroid Build Coastguard Worker store volatile i64 0, i64* %20, align 8 708*9880d681SAndroid Build Coastguard Worker %21 = bitcast i8* bitcast (i64* @ull to i8*) to i64* 709*9880d681SAndroid Build Coastguard Worker store volatile i64 0, i64* %21, align 8 710*9880d681SAndroid Build Coastguard Worker br label %return 711*9880d681SAndroid Build Coastguard Worker 712*9880d681SAndroid Build Coastguard Workerreturn: ; preds = %entry 713*9880d681SAndroid Build Coastguard Worker ret void 714*9880d681SAndroid Build Coastguard Worker} 715