1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=x86 -mattr=+mmx,+sse2 -no-integrated-as 2*9880d681SAndroid Build Coastguard Worker; ModuleID = 'mult-alt-x86.c' 3*9880d681SAndroid Build Coastguard Workertarget datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f80:128:128-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32" 4*9880d681SAndroid Build Coastguard Workertarget triple = "i686-pc-win32" 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker@mout0 = common global i32 0, align 4 7*9880d681SAndroid Build Coastguard Worker@min1 = common global i32 0, align 4 8*9880d681SAndroid Build Coastguard Worker@dout0 = common global double 0.000000e+000, align 8 9*9880d681SAndroid Build Coastguard Worker@din1 = common global double 0.000000e+000, align 8 10*9880d681SAndroid Build Coastguard Worker@marray = common global [2 x i32] zeroinitializer, align 4 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Workerdefine void @single_R() nounwind { 13*9880d681SAndroid Build Coastguard Workerentry: 14*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 15*9880d681SAndroid Build Coastguard Worker %0 = call i32 asm "foo $1,$0", "=R,R,~{dirflag},~{fpsr},~{flags}"(i32 %tmp) nounwind 16*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* @mout0, align 4 17*9880d681SAndroid Build Coastguard Worker ret void 18*9880d681SAndroid Build Coastguard Worker} 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Workerdefine void @single_q() nounwind { 21*9880d681SAndroid Build Coastguard Workerentry: 22*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 23*9880d681SAndroid Build Coastguard Worker %0 = call i32 asm "foo $1,$0", "=q,q,~{dirflag},~{fpsr},~{flags}"(i32 %tmp) nounwind 24*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* @mout0, align 4 25*9880d681SAndroid Build Coastguard Worker ret void 26*9880d681SAndroid Build Coastguard Worker} 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Workerdefine void @single_Q() nounwind { 29*9880d681SAndroid Build Coastguard Workerentry: 30*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 31*9880d681SAndroid Build Coastguard Worker %0 = call i32 asm "foo $1,$0", "=Q,Q,~{dirflag},~{fpsr},~{flags}"(i32 %tmp) nounwind 32*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* @mout0, align 4 33*9880d681SAndroid Build Coastguard Worker ret void 34*9880d681SAndroid Build Coastguard Worker} 35*9880d681SAndroid Build Coastguard Worker 36*9880d681SAndroid Build Coastguard Workerdefine void @single_a() nounwind { 37*9880d681SAndroid Build Coastguard Workerentry: 38*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 39*9880d681SAndroid Build Coastguard Worker %0 = call i32 asm "foo $1,$0", "={ax},{ax},~{dirflag},~{fpsr},~{flags}"(i32 %tmp) nounwind 40*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* @mout0, align 4 41*9880d681SAndroid Build Coastguard Worker ret void 42*9880d681SAndroid Build Coastguard Worker} 43*9880d681SAndroid Build Coastguard Worker 44*9880d681SAndroid Build Coastguard Workerdefine void @single_b() nounwind { 45*9880d681SAndroid Build Coastguard Workerentry: 46*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 47*9880d681SAndroid Build Coastguard Worker %0 = call i32 asm "foo $1,$0", "={bx},{bx},~{dirflag},~{fpsr},~{flags}"(i32 %tmp) nounwind 48*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* @mout0, align 4 49*9880d681SAndroid Build Coastguard Worker ret void 50*9880d681SAndroid Build Coastguard Worker} 51*9880d681SAndroid Build Coastguard Worker 52*9880d681SAndroid Build Coastguard Workerdefine void @single_c() nounwind { 53*9880d681SAndroid Build Coastguard Workerentry: 54*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 55*9880d681SAndroid Build Coastguard Worker %0 = call i32 asm "foo $1,$0", "={cx},{cx},~{dirflag},~{fpsr},~{flags}"(i32 %tmp) nounwind 56*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* @mout0, align 4 57*9880d681SAndroid Build Coastguard Worker ret void 58*9880d681SAndroid Build Coastguard Worker} 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Workerdefine void @single_d() nounwind { 61*9880d681SAndroid Build Coastguard Workerentry: 62*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 63*9880d681SAndroid Build Coastguard Worker %0 = call i32 asm "foo $1,$0", "={dx},{dx},~{dirflag},~{fpsr},~{flags}"(i32 %tmp) nounwind 64*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* @mout0, align 4 65*9880d681SAndroid Build Coastguard Worker ret void 66*9880d681SAndroid Build Coastguard Worker} 67*9880d681SAndroid Build Coastguard Worker 68*9880d681SAndroid Build Coastguard Workerdefine void @single_S() nounwind { 69*9880d681SAndroid Build Coastguard Workerentry: 70*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 71*9880d681SAndroid Build Coastguard Worker %0 = call i32 asm "foo $1,$0", "={si},{si},~{dirflag},~{fpsr},~{flags}"(i32 %tmp) nounwind 72*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* @mout0, align 4 73*9880d681SAndroid Build Coastguard Worker ret void 74*9880d681SAndroid Build Coastguard Worker} 75*9880d681SAndroid Build Coastguard Worker 76*9880d681SAndroid Build Coastguard Workerdefine void @single_D() nounwind { 77*9880d681SAndroid Build Coastguard Workerentry: 78*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 79*9880d681SAndroid Build Coastguard Worker %0 = call i32 asm "foo $1,$0", "={di},{di},~{dirflag},~{fpsr},~{flags}"(i32 %tmp) nounwind 80*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* @mout0, align 4 81*9880d681SAndroid Build Coastguard Worker ret void 82*9880d681SAndroid Build Coastguard Worker} 83*9880d681SAndroid Build Coastguard Worker 84*9880d681SAndroid Build Coastguard Workerdefine void @single_A() nounwind { 85*9880d681SAndroid Build Coastguard Workerentry: 86*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 87*9880d681SAndroid Build Coastguard Worker %0 = call i32 asm "foo $1,$0", "=A,A,~{dirflag},~{fpsr},~{flags}"(i32 %tmp) nounwind 88*9880d681SAndroid Build Coastguard Worker store i32 %0, i32* @mout0, align 4 89*9880d681SAndroid Build Coastguard Worker ret void 90*9880d681SAndroid Build Coastguard Worker} 91*9880d681SAndroid Build Coastguard Worker 92*9880d681SAndroid Build Coastguard Workerdefine void @single_f() nounwind { 93*9880d681SAndroid Build Coastguard Workerentry: 94*9880d681SAndroid Build Coastguard Worker ret void 95*9880d681SAndroid Build Coastguard Worker} 96*9880d681SAndroid Build Coastguard Worker 97*9880d681SAndroid Build Coastguard Workerdefine void @single_t() nounwind { 98*9880d681SAndroid Build Coastguard Workerentry: 99*9880d681SAndroid Build Coastguard Worker ret void 100*9880d681SAndroid Build Coastguard Worker} 101*9880d681SAndroid Build Coastguard Worker 102*9880d681SAndroid Build Coastguard Workerdefine void @single_u() nounwind { 103*9880d681SAndroid Build Coastguard Workerentry: 104*9880d681SAndroid Build Coastguard Worker ret void 105*9880d681SAndroid Build Coastguard Worker} 106*9880d681SAndroid Build Coastguard Worker 107*9880d681SAndroid Build Coastguard Workerdefine void @single_y() nounwind { 108*9880d681SAndroid Build Coastguard Workerentry: 109*9880d681SAndroid Build Coastguard Worker %tmp = load double, double* @din1, align 8 110*9880d681SAndroid Build Coastguard Worker %0 = call double asm "foo $1,$0", "=y,y,~{dirflag},~{fpsr},~{flags}"(double %tmp) nounwind 111*9880d681SAndroid Build Coastguard Worker store double %0, double* @dout0, align 8 112*9880d681SAndroid Build Coastguard Worker ret void 113*9880d681SAndroid Build Coastguard Worker} 114*9880d681SAndroid Build Coastguard Worker 115*9880d681SAndroid Build Coastguard Workerdefine void @single_x() nounwind { 116*9880d681SAndroid Build Coastguard Workerentry: 117*9880d681SAndroid Build Coastguard Worker %tmp = load double, double* @din1, align 8 118*9880d681SAndroid Build Coastguard Worker %0 = call double asm "foo $1,$0", "=x,x,~{dirflag},~{fpsr},~{flags}"(double %tmp) nounwind 119*9880d681SAndroid Build Coastguard Worker store double %0, double* @dout0, align 8 120*9880d681SAndroid Build Coastguard Worker ret void 121*9880d681SAndroid Build Coastguard Worker} 122*9880d681SAndroid Build Coastguard Worker 123*9880d681SAndroid Build Coastguard Workerdefine void @single_Y0() nounwind { 124*9880d681SAndroid Build Coastguard Workerentry: 125*9880d681SAndroid Build Coastguard Worker ret void 126*9880d681SAndroid Build Coastguard Worker} 127*9880d681SAndroid Build Coastguard Worker 128*9880d681SAndroid Build Coastguard Workerdefine void @single_I() nounwind { 129*9880d681SAndroid Build Coastguard Workerentry: 130*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*m,I,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 131*9880d681SAndroid Build Coastguard Worker ret void 132*9880d681SAndroid Build Coastguard Worker} 133*9880d681SAndroid Build Coastguard Worker 134*9880d681SAndroid Build Coastguard Workerdefine void @single_J() nounwind { 135*9880d681SAndroid Build Coastguard Workerentry: 136*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*m,J,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 137*9880d681SAndroid Build Coastguard Worker ret void 138*9880d681SAndroid Build Coastguard Worker} 139*9880d681SAndroid Build Coastguard Worker 140*9880d681SAndroid Build Coastguard Workerdefine void @single_K() nounwind { 141*9880d681SAndroid Build Coastguard Workerentry: 142*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*m,K,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 143*9880d681SAndroid Build Coastguard Worker ret void 144*9880d681SAndroid Build Coastguard Worker} 145*9880d681SAndroid Build Coastguard Worker 146*9880d681SAndroid Build Coastguard Workerdefine void @single_L() nounwind { 147*9880d681SAndroid Build Coastguard Workerentry: 148*9880d681SAndroid Build Coastguard Worker; Missing lowering support for 'L'. 149*9880d681SAndroid Build Coastguard Worker; call void asm "foo $1,$0", "=*m,L,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 150*9880d681SAndroid Build Coastguard Worker ret void 151*9880d681SAndroid Build Coastguard Worker} 152*9880d681SAndroid Build Coastguard Worker 153*9880d681SAndroid Build Coastguard Workerdefine void @single_M() nounwind { 154*9880d681SAndroid Build Coastguard Workerentry: 155*9880d681SAndroid Build Coastguard Worker; Missing lowering support for 'M'. 156*9880d681SAndroid Build Coastguard Worker; call void asm "foo $1,$0", "=*m,M,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 157*9880d681SAndroid Build Coastguard Worker ret void 158*9880d681SAndroid Build Coastguard Worker} 159*9880d681SAndroid Build Coastguard Worker 160*9880d681SAndroid Build Coastguard Workerdefine void @single_N() nounwind { 161*9880d681SAndroid Build Coastguard Workerentry: 162*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*m,N,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 163*9880d681SAndroid Build Coastguard Worker ret void 164*9880d681SAndroid Build Coastguard Worker} 165*9880d681SAndroid Build Coastguard Worker 166*9880d681SAndroid Build Coastguard Workerdefine void @single_G() nounwind { 167*9880d681SAndroid Build Coastguard Workerentry: 168*9880d681SAndroid Build Coastguard Worker; Missing lowering support for 'G'. 169*9880d681SAndroid Build Coastguard Worker; call void asm "foo $1,$0", "=*m,G,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, double 1.000000e+000) nounwind 170*9880d681SAndroid Build Coastguard Worker ret void 171*9880d681SAndroid Build Coastguard Worker} 172*9880d681SAndroid Build Coastguard Worker 173*9880d681SAndroid Build Coastguard Workerdefine void @single_C() nounwind { 174*9880d681SAndroid Build Coastguard Workerentry: 175*9880d681SAndroid Build Coastguard Worker; Missing lowering support for 'C'. 176*9880d681SAndroid Build Coastguard Worker; call void asm "foo $1,$0", "=*m,C,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, double 1.000000e+000) nounwind 177*9880d681SAndroid Build Coastguard Worker ret void 178*9880d681SAndroid Build Coastguard Worker} 179*9880d681SAndroid Build Coastguard Worker 180*9880d681SAndroid Build Coastguard Workerdefine void @single_e() nounwind { 181*9880d681SAndroid Build Coastguard Workerentry: 182*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*m,e,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 183*9880d681SAndroid Build Coastguard Worker ret void 184*9880d681SAndroid Build Coastguard Worker} 185*9880d681SAndroid Build Coastguard Worker 186*9880d681SAndroid Build Coastguard Workerdefine void @single_Z() nounwind { 187*9880d681SAndroid Build Coastguard Workerentry: 188*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*m,Z,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 189*9880d681SAndroid Build Coastguard Worker ret void 190*9880d681SAndroid Build Coastguard Worker} 191*9880d681SAndroid Build Coastguard Worker 192*9880d681SAndroid Build Coastguard Workerdefine void @multi_R() nounwind { 193*9880d681SAndroid Build Coastguard Workerentry: 194*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 195*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|R|m,r|R|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 %tmp) nounwind 196*9880d681SAndroid Build Coastguard Worker ret void 197*9880d681SAndroid Build Coastguard Worker} 198*9880d681SAndroid Build Coastguard Worker 199*9880d681SAndroid Build Coastguard Workerdefine void @multi_q() nounwind { 200*9880d681SAndroid Build Coastguard Workerentry: 201*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 202*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|q|m,r|q|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 %tmp) nounwind 203*9880d681SAndroid Build Coastguard Worker ret void 204*9880d681SAndroid Build Coastguard Worker} 205*9880d681SAndroid Build Coastguard Worker 206*9880d681SAndroid Build Coastguard Workerdefine void @multi_Q() nounwind { 207*9880d681SAndroid Build Coastguard Workerentry: 208*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 209*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|Q|m,r|Q|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 %tmp) nounwind 210*9880d681SAndroid Build Coastguard Worker ret void 211*9880d681SAndroid Build Coastguard Worker} 212*9880d681SAndroid Build Coastguard Worker 213*9880d681SAndroid Build Coastguard Workerdefine void @multi_a() nounwind { 214*9880d681SAndroid Build Coastguard Workerentry: 215*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 216*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|{ax}|m,r|{ax}|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 %tmp) nounwind 217*9880d681SAndroid Build Coastguard Worker ret void 218*9880d681SAndroid Build Coastguard Worker} 219*9880d681SAndroid Build Coastguard Worker 220*9880d681SAndroid Build Coastguard Workerdefine void @multi_b() nounwind { 221*9880d681SAndroid Build Coastguard Workerentry: 222*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 223*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|{bx}|m,r|{bx}|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 %tmp) nounwind 224*9880d681SAndroid Build Coastguard Worker ret void 225*9880d681SAndroid Build Coastguard Worker} 226*9880d681SAndroid Build Coastguard Worker 227*9880d681SAndroid Build Coastguard Workerdefine void @multi_c() nounwind { 228*9880d681SAndroid Build Coastguard Workerentry: 229*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 230*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|{cx}|m,r|{cx}|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 %tmp) nounwind 231*9880d681SAndroid Build Coastguard Worker ret void 232*9880d681SAndroid Build Coastguard Worker} 233*9880d681SAndroid Build Coastguard Worker 234*9880d681SAndroid Build Coastguard Workerdefine void @multi_d() nounwind { 235*9880d681SAndroid Build Coastguard Workerentry: 236*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 237*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|{dx}|m,r|{dx},~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 %tmp) nounwind 238*9880d681SAndroid Build Coastguard Worker ret void 239*9880d681SAndroid Build Coastguard Worker} 240*9880d681SAndroid Build Coastguard Worker 241*9880d681SAndroid Build Coastguard Workerdefine void @multi_S() nounwind { 242*9880d681SAndroid Build Coastguard Workerentry: 243*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 244*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|{si}|m,r|{si}|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 %tmp) nounwind 245*9880d681SAndroid Build Coastguard Worker ret void 246*9880d681SAndroid Build Coastguard Worker} 247*9880d681SAndroid Build Coastguard Worker 248*9880d681SAndroid Build Coastguard Workerdefine void @multi_D() nounwind { 249*9880d681SAndroid Build Coastguard Workerentry: 250*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 251*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|{di}|m,r|{di}|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 %tmp) nounwind 252*9880d681SAndroid Build Coastguard Worker ret void 253*9880d681SAndroid Build Coastguard Worker} 254*9880d681SAndroid Build Coastguard Worker 255*9880d681SAndroid Build Coastguard Workerdefine void @multi_A() nounwind { 256*9880d681SAndroid Build Coastguard Workerentry: 257*9880d681SAndroid Build Coastguard Worker %tmp = load i32, i32* @min1, align 4 258*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|A|m,r|A|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 %tmp) nounwind 259*9880d681SAndroid Build Coastguard Worker ret void 260*9880d681SAndroid Build Coastguard Worker} 261*9880d681SAndroid Build Coastguard Worker 262*9880d681SAndroid Build Coastguard Workerdefine void @multi_f() nounwind { 263*9880d681SAndroid Build Coastguard Workerentry: 264*9880d681SAndroid Build Coastguard Worker ret void 265*9880d681SAndroid Build Coastguard Worker} 266*9880d681SAndroid Build Coastguard Worker 267*9880d681SAndroid Build Coastguard Workerdefine void @multi_t() nounwind { 268*9880d681SAndroid Build Coastguard Workerentry: 269*9880d681SAndroid Build Coastguard Worker ret void 270*9880d681SAndroid Build Coastguard Worker} 271*9880d681SAndroid Build Coastguard Worker 272*9880d681SAndroid Build Coastguard Workerdefine void @multi_u() nounwind { 273*9880d681SAndroid Build Coastguard Workerentry: 274*9880d681SAndroid Build Coastguard Worker ret void 275*9880d681SAndroid Build Coastguard Worker} 276*9880d681SAndroid Build Coastguard Worker 277*9880d681SAndroid Build Coastguard Workerdefine void @multi_y() nounwind { 278*9880d681SAndroid Build Coastguard Workerentry: 279*9880d681SAndroid Build Coastguard Worker %tmp = load double, double* @din1, align 8 280*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|y|m,r|y|m,~{dirflag},~{fpsr},~{flags}"(double* @dout0, double %tmp) nounwind 281*9880d681SAndroid Build Coastguard Worker ret void 282*9880d681SAndroid Build Coastguard Worker} 283*9880d681SAndroid Build Coastguard Worker 284*9880d681SAndroid Build Coastguard Workerdefine void @multi_x() nounwind { 285*9880d681SAndroid Build Coastguard Workerentry: 286*9880d681SAndroid Build Coastguard Worker %tmp = load double, double* @din1, align 8 287*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|x|m,r|x|m,~{dirflag},~{fpsr},~{flags}"(double* @dout0, double %tmp) nounwind 288*9880d681SAndroid Build Coastguard Worker ret void 289*9880d681SAndroid Build Coastguard Worker} 290*9880d681SAndroid Build Coastguard Worker 291*9880d681SAndroid Build Coastguard Workerdefine void @multi_Y0() nounwind { 292*9880d681SAndroid Build Coastguard Workerentry: 293*9880d681SAndroid Build Coastguard Worker ret void 294*9880d681SAndroid Build Coastguard Worker} 295*9880d681SAndroid Build Coastguard Worker 296*9880d681SAndroid Build Coastguard Workerdefine void @multi_I() nounwind { 297*9880d681SAndroid Build Coastguard Workerentry: 298*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|m|m,r|I|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 299*9880d681SAndroid Build Coastguard Worker ret void 300*9880d681SAndroid Build Coastguard Worker} 301*9880d681SAndroid Build Coastguard Worker 302*9880d681SAndroid Build Coastguard Workerdefine void @multi_J() nounwind { 303*9880d681SAndroid Build Coastguard Workerentry: 304*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|m|m,r|J|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 305*9880d681SAndroid Build Coastguard Worker ret void 306*9880d681SAndroid Build Coastguard Worker} 307*9880d681SAndroid Build Coastguard Worker 308*9880d681SAndroid Build Coastguard Workerdefine void @multi_K() nounwind { 309*9880d681SAndroid Build Coastguard Workerentry: 310*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|m|m,r|K|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 311*9880d681SAndroid Build Coastguard Worker ret void 312*9880d681SAndroid Build Coastguard Worker} 313*9880d681SAndroid Build Coastguard Worker 314*9880d681SAndroid Build Coastguard Workerdefine void @multi_L() nounwind { 315*9880d681SAndroid Build Coastguard Workerentry: 316*9880d681SAndroid Build Coastguard Worker; Missing lowering support for 'L'. 317*9880d681SAndroid Build Coastguard Worker; call void asm "foo $1,$0", "=*r|m|m,r|L|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 318*9880d681SAndroid Build Coastguard Worker ret void 319*9880d681SAndroid Build Coastguard Worker} 320*9880d681SAndroid Build Coastguard Worker 321*9880d681SAndroid Build Coastguard Workerdefine void @multi_M() nounwind { 322*9880d681SAndroid Build Coastguard Workerentry: 323*9880d681SAndroid Build Coastguard Worker; Missing lowering support for 'M'. 324*9880d681SAndroid Build Coastguard Worker; call void asm "foo $1,$0", "=*r|m|m,r|M|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 325*9880d681SAndroid Build Coastguard Worker ret void 326*9880d681SAndroid Build Coastguard Worker} 327*9880d681SAndroid Build Coastguard Worker 328*9880d681SAndroid Build Coastguard Workerdefine void @multi_N() nounwind { 329*9880d681SAndroid Build Coastguard Workerentry: 330*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|m|m,r|N|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 331*9880d681SAndroid Build Coastguard Worker ret void 332*9880d681SAndroid Build Coastguard Worker} 333*9880d681SAndroid Build Coastguard Worker 334*9880d681SAndroid Build Coastguard Workerdefine void @multi_G() nounwind { 335*9880d681SAndroid Build Coastguard Workerentry: 336*9880d681SAndroid Build Coastguard Worker; Missing lowering support for 'G'. 337*9880d681SAndroid Build Coastguard Worker; call void asm "foo $1,$0", "=*r|m|m,r|G|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, double 1.000000e+000) nounwind 338*9880d681SAndroid Build Coastguard Worker ret void 339*9880d681SAndroid Build Coastguard Worker} 340*9880d681SAndroid Build Coastguard Worker 341*9880d681SAndroid Build Coastguard Workerdefine void @multi_C() nounwind { 342*9880d681SAndroid Build Coastguard Workerentry: 343*9880d681SAndroid Build Coastguard Worker; Missing lowering support for 'C'. 344*9880d681SAndroid Build Coastguard Worker; call void asm "foo $1,$0", "=*r|m|m,r|C|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, double 1.000000e+000) nounwind 345*9880d681SAndroid Build Coastguard Worker ret void 346*9880d681SAndroid Build Coastguard Worker} 347*9880d681SAndroid Build Coastguard Worker 348*9880d681SAndroid Build Coastguard Workerdefine void @multi_e() nounwind { 349*9880d681SAndroid Build Coastguard Workerentry: 350*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|m|m,r|e|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 351*9880d681SAndroid Build Coastguard Worker ret void 352*9880d681SAndroid Build Coastguard Worker} 353*9880d681SAndroid Build Coastguard Worker 354*9880d681SAndroid Build Coastguard Workerdefine void @multi_Z() nounwind { 355*9880d681SAndroid Build Coastguard Workerentry: 356*9880d681SAndroid Build Coastguard Worker call void asm "foo $1,$0", "=*r|m|m,r|Z|m,~{dirflag},~{fpsr},~{flags}"(i32* @mout0, i32 1) nounwind 357*9880d681SAndroid Build Coastguard Worker ret void 358*9880d681SAndroid Build Coastguard Worker} 359