1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-dis < %s.bc| FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker; conversionInstructions.3.2.ll.bc was generated by passing this file to llvm-as-3.2. 4*9880d681SAndroid Build Coastguard Worker; The test checks that LLVM does not misread conversion instructions from 5*9880d681SAndroid Build Coastguard Worker; older bitcode files. 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Workerdefine void @trunc(i32 %src){ 8*9880d681SAndroid Build Coastguard Workerentry: 9*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = trunc i32 %src to i8 10*9880d681SAndroid Build Coastguard Worker %res1 = trunc i32 %src to i8 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker ret void 13*9880d681SAndroid Build Coastguard Worker} 14*9880d681SAndroid Build Coastguard Worker 15*9880d681SAndroid Build Coastguard Workerdefine void @zext(i32 %src){ 16*9880d681SAndroid Build Coastguard Workerentry: 17*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = zext i32 %src to i64 18*9880d681SAndroid Build Coastguard Worker %res1 = zext i32 %src to i64 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker ret void 21*9880d681SAndroid Build Coastguard Worker} 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerdefine void @sext(i32 %src){ 24*9880d681SAndroid Build Coastguard Workerentry: 25*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = sext i32 %src to i64 26*9880d681SAndroid Build Coastguard Worker %res1 = sext i32 %src to i64 27*9880d681SAndroid Build Coastguard Worker 28*9880d681SAndroid Build Coastguard Worker ret void 29*9880d681SAndroid Build Coastguard Worker} 30*9880d681SAndroid Build Coastguard Worker 31*9880d681SAndroid Build Coastguard Workerdefine void @fptrunc(double %src){ 32*9880d681SAndroid Build Coastguard Workerentry: 33*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = fptrunc double %src to float 34*9880d681SAndroid Build Coastguard Worker %res1 = fptrunc double %src to float 35*9880d681SAndroid Build Coastguard Worker 36*9880d681SAndroid Build Coastguard Worker ret void 37*9880d681SAndroid Build Coastguard Worker} 38*9880d681SAndroid Build Coastguard Worker 39*9880d681SAndroid Build Coastguard Workerdefine void @fpext(float %src){ 40*9880d681SAndroid Build Coastguard Workerentry: 41*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = fpext float %src to double 42*9880d681SAndroid Build Coastguard Worker %res1 = fpext float %src to double 43*9880d681SAndroid Build Coastguard Worker 44*9880d681SAndroid Build Coastguard Worker ret void 45*9880d681SAndroid Build Coastguard Worker} 46*9880d681SAndroid Build Coastguard Worker 47*9880d681SAndroid Build Coastguard Workerdefine void @fptoui(float %src){ 48*9880d681SAndroid Build Coastguard Workerentry: 49*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = fptoui float %src to i32 50*9880d681SAndroid Build Coastguard Worker %res1 = fptoui float %src to i32 51*9880d681SAndroid Build Coastguard Worker 52*9880d681SAndroid Build Coastguard Worker ret void 53*9880d681SAndroid Build Coastguard Worker} 54*9880d681SAndroid Build Coastguard Worker 55*9880d681SAndroid Build Coastguard Workerdefine void @fptosi(float %src){ 56*9880d681SAndroid Build Coastguard Workerentry: 57*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = fptosi float %src to i32 58*9880d681SAndroid Build Coastguard Worker %res1 = fptosi float %src to i32 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Worker ret void 61*9880d681SAndroid Build Coastguard Worker} 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Workerdefine void @uitofp(i32 %src){ 64*9880d681SAndroid Build Coastguard Workerentry: 65*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = uitofp i32 %src to float 66*9880d681SAndroid Build Coastguard Worker %res1 = uitofp i32 %src to float 67*9880d681SAndroid Build Coastguard Worker 68*9880d681SAndroid Build Coastguard Worker ret void 69*9880d681SAndroid Build Coastguard Worker} 70*9880d681SAndroid Build Coastguard Worker 71*9880d681SAndroid Build Coastguard Workerdefine void @sitofp(i32 %src){ 72*9880d681SAndroid Build Coastguard Workerentry: 73*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = sitofp i32 %src to float 74*9880d681SAndroid Build Coastguard Worker %res1 = sitofp i32 %src to float 75*9880d681SAndroid Build Coastguard Worker 76*9880d681SAndroid Build Coastguard Worker ret void 77*9880d681SAndroid Build Coastguard Worker} 78*9880d681SAndroid Build Coastguard Worker 79*9880d681SAndroid Build Coastguard Workerdefine void @ptrtoint(i32* %src){ 80*9880d681SAndroid Build Coastguard Workerentry: 81*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = ptrtoint i32* %src to i8 82*9880d681SAndroid Build Coastguard Worker %res1 = ptrtoint i32* %src to i8 83*9880d681SAndroid Build Coastguard Worker 84*9880d681SAndroid Build Coastguard Worker ret void 85*9880d681SAndroid Build Coastguard Worker} 86*9880d681SAndroid Build Coastguard Worker 87*9880d681SAndroid Build Coastguard Workerdefine void @inttoptr(i32 %src){ 88*9880d681SAndroid Build Coastguard Workerentry: 89*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = inttoptr i32 %src to i32* 90*9880d681SAndroid Build Coastguard Worker %res1 = inttoptr i32 %src to i32* 91*9880d681SAndroid Build Coastguard Worker 92*9880d681SAndroid Build Coastguard Worker ret void 93*9880d681SAndroid Build Coastguard Worker} 94*9880d681SAndroid Build Coastguard Worker 95*9880d681SAndroid Build Coastguard Workerdefine void @bitcast(i32 %src1, i32* %src2){ 96*9880d681SAndroid Build Coastguard Workerentry: 97*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = bitcast i32 %src1 to i32 98*9880d681SAndroid Build Coastguard Worker %res1 = bitcast i32 %src1 to i32 99*9880d681SAndroid Build Coastguard Worker 100*9880d681SAndroid Build Coastguard Worker; CHECK: %res2 = bitcast i32* %src2 to i64* 101*9880d681SAndroid Build Coastguard Worker %res2 = bitcast i32* %src2 to i64* 102*9880d681SAndroid Build Coastguard Worker 103*9880d681SAndroid Build Coastguard Worker ret void 104*9880d681SAndroid Build Coastguard Worker} 105*9880d681SAndroid Build Coastguard Worker 106*9880d681SAndroid Build Coastguard Workerdefine void @ptrtointInstr(i32* %ptr, <4 x i32*> %vecPtr){ 107*9880d681SAndroid Build Coastguard Workerentry: 108*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = ptrtoint i32* %ptr to i8 109*9880d681SAndroid Build Coastguard Worker %res1 = ptrtoint i32* %ptr to i8 110*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: %res2 = ptrtoint <4 x i32*> %vecPtr to <4 x i64> 111*9880d681SAndroid Build Coastguard Worker %res2 = ptrtoint <4 x i32*> %vecPtr to <4 x i64> 112*9880d681SAndroid Build Coastguard Worker 113*9880d681SAndroid Build Coastguard Worker ret void 114*9880d681SAndroid Build Coastguard Worker} 115*9880d681SAndroid Build Coastguard Worker 116*9880d681SAndroid Build Coastguard Workerdefine void @inttoptrInstr(i32 %x, <4 x i32> %vec){ 117*9880d681SAndroid Build Coastguard Workerentry: 118*9880d681SAndroid Build Coastguard Worker; CHECK: %res1 = inttoptr i32 %x to i64* 119*9880d681SAndroid Build Coastguard Worker %res1 = inttoptr i32 %x to i64* 120*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: inttoptr <4 x i32> %vec to <4 x i8*> 121*9880d681SAndroid Build Coastguard Worker %res2 = inttoptr <4 x i32> %vec to <4 x i8*> 122*9880d681SAndroid Build Coastguard Worker 123*9880d681SAndroid Build Coastguard Worker ret void 124*9880d681SAndroid Build Coastguard Worker} 125