Created
June 6, 2017 00:42
-
-
Save hughperkins/bdefd062f83fc3d2ad59add6480d2819 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// origKernelName: _Z17run_bounded_array12BoundedArrayii | |
// uniqueKernelName: _Z17run_bounded_array12BoundedArrayii_1 | |
// shortKernelName: _Z17run_bounded_arra | |
struct BoundedArray { | |
unsigned long f0[8]; | |
}; | |
struct GlobalVars { | |
local int *scratch; | |
global char *clmem0; | |
unsigned long clmem_vmem_offset0; | |
}; | |
inline global float *getGlobalPointer(unsigned long vmemloc, struct GlobalVars *globalVars) { | |
return (global float *)(globalVars->clmem0 + vmemloc - globalVars->clmem_vmem_offset0); | |
} | |
kernel void _Z17run_bounded_arra(global char* clmem0, unsigned long clmem_vmem_offset0, global char* clmem1, unsigned long clmem_vmem_offset1, long v14_offset, int v15, int v16, local int *scratch); | |
kernel void _Z17run_bounded_arra(global char* clmem0, unsigned long clmem_vmem_offset0, global char* clmem1, unsigned long clmem_vmem_offset1, long v14_offset, int v15, int v16, local int *scratch) { | |
global struct BoundedArray* v14 = (global struct BoundedArray*)(clmem1 + v14_offset); | |
struct GlobalVars globalVars = { scratch, clmem0, clmem_vmem_offset0 }; | |
struct GlobalVars *pGlobalVars = &globalVars; | |
float v31; | |
float v41; | |
float v51; | |
float v57; | |
float v64; | |
float v70; | |
global float* v36; | |
global float* v43; | |
global float* v53; | |
global float* v59; | |
global float* v66; | |
global float* v72; | |
int v23; | |
int v27; | |
int v37; | |
int v38; | |
int v39; | |
int v45; | |
int v47; | |
int v49; | |
int v55; | |
int v61; | |
int v68; | |
int v74; | |
int v77; | |
v1:; | |
/* bool v17 = icmp v15 <unk> */; | |
/* bool v19 = icmp v16 v18 */; | |
/* bool v20 = and v17 v19 */; | |
/* if(v20) */ | |
if ((v15 > 0) & (v16 > 0)) { | |
goto v2; | |
} else { | |
goto v13; | |
} | |
v2:; | |
/* int v21 = add v16 <unk> */; | |
/* int v23 = and v16 <unk> */; | |
v23 = v16 & 3; | |
/* bool v25 = icmp v23 v18 */; | |
/* bool v26 = icmp v21 v24 */; | |
/* int v27 = phi v18 */ | |
v27 = 0; | |
goto v3; | |
v3:; | |
/* float v28 = sitofp v27 */; | |
/* float v29 = fadd v28 <unk> */; | |
/* float v31 = fadd v29 <unk> */; | |
v31 = ((float)v27 + 123.0f) + 1.0f; | |
/* long v33 = sext v27 */; | |
/* float** v34 = getelementptr v14 <unk> v18 v33 */; | |
/* float* v36 = load v34 */; | |
global float* v36_gptrstep = getGlobalPointer((/* vmem */ unsigned long)(&(v14[0].f0[(long)v27]))[0], pGlobalVars); | |
v36 = v36_gptrstep; | |
/* if(v25) */ | |
if ((v23) == (0)) { | |
/* int v37 = phi v18 */ | |
v37 = 0; | |
goto v7; | |
} else { | |
goto v4; | |
} | |
v4:; | |
/* int v38 = phi v18 */ | |
v38 = 0; | |
/* int v39 = phi v23 */ | |
v39 = v23; | |
goto v5; | |
v5:; | |
/* float v40 = sitofp v38 */; | |
/* float v41 = fadd v31 v40 */; | |
v41 = v31 + (float)v38; | |
/* long v42 = sext v38 */; | |
/* float* v43 = getelementptr v36 v42 */; | |
v43 = (&(v36[(long)v38])); | |
/* void v44 = store v41 v43 */; | |
v43[0] = v41; | |
/* int v45 = add v38 <unk> */; | |
v45 = v38 + 1; | |
/* int v47 = add v39 v22 */; | |
v47 = v39 + -1; | |
/* bool v48 = icmp v47 v18 */; | |
/* if(v48) */ | |
if ((v47) == (0)) { | |
goto v6; | |
} else { | |
/* int v38 = phi v45 */ | |
v38 = v45; | |
/* int v39 = phi v47 */ | |
v39 = v47; | |
goto v5; | |
} | |
v6:; | |
/* int v37 = phi v45 */ | |
v37 = v45; | |
goto v7; | |
v7:; | |
/* if(v26) */ | |
if (v16 + -1 < 3) { | |
goto v11; | |
} else { | |
goto v8; | |
} | |
v8:; | |
/* int v49 = phi v37 */ | |
v49 = v37; | |
goto v9; | |
v9:; | |
/* float v50 = sitofp v49 */; | |
/* float v51 = fadd v31 v50 */; | |
v51 = v31 + (float)v49; | |
/* long v52 = sext v49 */; | |
/* float* v53 = getelementptr v36 v52 */; | |
v53 = (&(v36[(long)v49])); | |
/* void v54 = store v51 v53 */; | |
v53[0] = v51; | |
/* int v55 = add v49 v46 */; | |
v55 = v49 + 1; | |
/* float v56 = sitofp v55 */; | |
/* float v57 = fadd v31 v56 */; | |
v57 = v31 + (float)v55; | |
/* long v58 = sext v55 */; | |
/* float* v59 = getelementptr v36 v58 */; | |
v59 = (&(v36[(long)v55])); | |
/* void v60 = store v57 v59 */; | |
v59[0] = v57; | |
/* int v61 = add v49 <unk> */; | |
v61 = v49 + 2; | |
/* float v63 = sitofp v61 */; | |
/* float v64 = fadd v31 v63 */; | |
v64 = v31 + (float)v61; | |
/* long v65 = sext v61 */; | |
/* float* v66 = getelementptr v36 v65 */; | |
v66 = (&(v36[(long)v61])); | |
/* void v67 = store v64 v66 */; | |
v66[0] = v64; | |
/* int v68 = add v49 v24 */; | |
v68 = v49 + 3; | |
/* float v69 = sitofp v68 */; | |
/* float v70 = fadd v31 v69 */; | |
v70 = v31 + (float)v68; | |
/* long v71 = sext v68 */; | |
/* float* v72 = getelementptr v36 v71 */; | |
v72 = (&(v36[(long)v68])); | |
/* void v73 = store v70 v72 */; | |
v72[0] = v70; | |
/* int v74 = add v49 <unk> */; | |
v74 = v49 + 4; | |
/* bool v76 = icmp v74 v16 */; | |
/* if(v76) */ | |
if ((v74) == (v16)) { | |
goto v10; | |
} else { | |
/* int v49 = phi v74 */ | |
v49 = v74; | |
goto v9; | |
} | |
v10:; | |
goto v11; | |
v11:; | |
/* int v77 = add v27 v46 */; | |
v77 = v27 + 1; | |
/* bool v78 = icmp v77 v15 */; | |
/* if(v78) */ | |
if ((v77) == (v15)) { | |
goto v12; | |
} else { | |
/* int v27 = phi v77 */ | |
v27 = v77; | |
goto v3; | |
} | |
v12:; | |
goto v13; | |
v13:; | |
return; | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment