blob: e261e99f1a632e60c51ebbab39298439cfea614c [file] [log] [blame]
; RUN: llc -march=hexagon < %s | FileCheck %s
; Check that this code does compile.
target datalayout = "e-m:e-p:32:32:32-a:0-n16:32-i64:64:64-i32:32:32-i16:16:16-i1:8:8-f32:32:32-f64:64:64-v32:32:32-v64:64:64-v512:512:512-v1024:1024:1024-v2048:2048:2048"
target triple = "hexagon"
; Function Attrs: nounwind
; CHECK-LABEL: f0:
; CHECK: vinsert
define <32 x float> @f0(ptr %a0, ptr %a1) #0 {
b0:
%v1 = load i32, ptr %a0, align 4
%v2 = getelementptr float, ptr %a1, i32 %v1
%v3 = load float, ptr %v2, align 4
%v4 = insertelement <32 x float> undef, float %v3, i32 0
%v5 = getelementptr i32, ptr %a0, i32 1
%v6 = load i32, ptr %v5, align 4
%v7 = getelementptr float, ptr %a1, i32 %v6
%v8 = load float, ptr %v7, align 4
%v9 = insertelement <32 x float> %v4, float %v8, i32 1
%v10 = getelementptr i32, ptr %a0, i32 2
%v11 = load i32, ptr %v10, align 4
%v12 = getelementptr float, ptr %a1, i32 %v11
%v13 = load float, ptr %v12, align 4
%v14 = insertelement <32 x float> %v9, float %v13, i32 2
%v15 = getelementptr i32, ptr %a0, i32 3
%v16 = load i32, ptr %v15, align 4
%v17 = getelementptr float, ptr %a1, i32 %v16
%v18 = load float, ptr %v17, align 4
%v19 = insertelement <32 x float> %v14, float %v18, i32 3
%v20 = getelementptr i32, ptr %a0, i32 4
%v21 = load i32, ptr %v20, align 4
%v22 = getelementptr float, ptr %a1, i32 %v21
%v23 = load float, ptr %v22, align 4
%v24 = insertelement <32 x float> %v19, float %v23, i32 4
%v25 = getelementptr i32, ptr %a0, i32 5
%v26 = load i32, ptr %v25, align 4
%v27 = getelementptr float, ptr %a1, i32 %v26
%v28 = load float, ptr %v27, align 4
%v29 = insertelement <32 x float> %v24, float %v28, i32 5
%v30 = getelementptr i32, ptr %a0, i32 6
%v31 = load i32, ptr %v30, align 4
%v32 = getelementptr float, ptr %a1, i32 %v31
%v33 = load float, ptr %v32, align 4
%v34 = insertelement <32 x float> %v29, float %v33, i32 6
%v35 = getelementptr i32, ptr %a0, i32 7
%v36 = load i32, ptr %v35, align 4
%v37 = getelementptr float, ptr %a1, i32 %v36
%v38 = load float, ptr %v37, align 4
%v39 = insertelement <32 x float> %v34, float %v38, i32 7
%v40 = getelementptr i32, ptr %a0, i32 8
%v41 = load i32, ptr %v40, align 4
%v42 = getelementptr float, ptr %a1, i32 %v41
%v43 = load float, ptr %v42, align 4
%v44 = insertelement <32 x float> %v39, float %v43, i32 8
%v45 = getelementptr i32, ptr %a0, i32 9
%v46 = load i32, ptr %v45, align 4
%v47 = getelementptr float, ptr %a1, i32 %v46
%v48 = load float, ptr %v47, align 4
%v49 = insertelement <32 x float> %v44, float %v48, i32 9
%v50 = getelementptr i32, ptr %a0, i32 10
%v51 = load i32, ptr %v50, align 4
%v52 = getelementptr float, ptr %a1, i32 %v51
%v53 = load float, ptr %v52, align 4
%v54 = insertelement <32 x float> %v49, float %v53, i32 10
%v55 = getelementptr i32, ptr %a0, i32 11
%v56 = load i32, ptr %v55, align 4
%v57 = getelementptr float, ptr %a1, i32 %v56
%v58 = load float, ptr %v57, align 4
%v59 = insertelement <32 x float> %v54, float %v58, i32 11
%v60 = getelementptr i32, ptr %a0, i32 12
%v61 = load i32, ptr %v60, align 4
%v62 = getelementptr float, ptr %a1, i32 %v61
%v63 = load float, ptr %v62, align 4
%v64 = insertelement <32 x float> %v59, float %v63, i32 12
%v65 = getelementptr i32, ptr %a0, i32 13
%v66 = load i32, ptr %v65, align 4
%v67 = getelementptr float, ptr %a1, i32 %v66
%v68 = load float, ptr %v67, align 4
%v69 = insertelement <32 x float> %v64, float %v68, i32 13
%v70 = getelementptr i32, ptr %a0, i32 14
%v71 = load i32, ptr %v70, align 4
%v72 = getelementptr float, ptr %a1, i32 %v71
%v73 = load float, ptr %v72, align 4
%v74 = insertelement <32 x float> %v69, float %v73, i32 14
%v75 = getelementptr i32, ptr %a0, i32 15
%v76 = load i32, ptr %v75, align 4
%v77 = getelementptr float, ptr %a1, i32 %v76
%v78 = load float, ptr %v77, align 4
%v79 = insertelement <32 x float> %v74, float %v78, i32 15
%v80 = getelementptr i32, ptr %a0, i32 16
%v81 = load i32, ptr %v80, align 4
%v82 = getelementptr float, ptr %a1, i32 %v81
%v83 = load float, ptr %v82, align 4
%v84 = insertelement <32 x float> %v79, float %v83, i32 16
%v85 = getelementptr i32, ptr %a0, i32 17
%v86 = load i32, ptr %v85, align 4
%v87 = getelementptr float, ptr %a1, i32 %v86
%v88 = load float, ptr %v87, align 4
%v89 = insertelement <32 x float> %v84, float %v88, i32 17
%v90 = getelementptr i32, ptr %a0, i32 18
%v91 = load i32, ptr %v90, align 4
%v92 = getelementptr float, ptr %a1, i32 %v91
%v93 = load float, ptr %v92, align 4
%v94 = insertelement <32 x float> %v89, float %v93, i32 18
%v95 = getelementptr i32, ptr %a0, i32 19
%v96 = load i32, ptr %v95, align 4
%v97 = getelementptr float, ptr %a1, i32 %v96
%v98 = load float, ptr %v97, align 4
%v99 = insertelement <32 x float> %v94, float %v98, i32 19
%v100 = getelementptr i32, ptr %a0, i32 20
%v101 = load i32, ptr %v100, align 4
%v102 = getelementptr float, ptr %a1, i32 %v101
%v103 = load float, ptr %v102, align 4
%v104 = insertelement <32 x float> %v99, float %v103, i32 20
%v105 = getelementptr i32, ptr %a0, i32 21
%v106 = load i32, ptr %v105, align 4
%v107 = getelementptr float, ptr %a1, i32 %v106
%v108 = load float, ptr %v107, align 4
%v109 = insertelement <32 x float> %v104, float %v108, i32 21
%v110 = getelementptr i32, ptr %a0, i32 22
%v111 = load i32, ptr %v110, align 4
%v112 = getelementptr float, ptr %a1, i32 %v111
%v113 = load float, ptr %v112, align 4
%v114 = insertelement <32 x float> %v109, float %v113, i32 22
%v115 = getelementptr i32, ptr %a0, i32 23
%v116 = load i32, ptr %v115, align 4
%v117 = getelementptr float, ptr %a1, i32 %v116
%v118 = load float, ptr %v117, align 4
%v119 = insertelement <32 x float> %v114, float %v118, i32 23
%v120 = getelementptr i32, ptr %a0, i32 24
%v121 = load i32, ptr %v120, align 4
%v122 = getelementptr float, ptr %a1, i32 %v121
%v123 = load float, ptr %v122, align 4
%v124 = insertelement <32 x float> %v119, float %v123, i32 24
%v125 = getelementptr i32, ptr %a0, i32 25
%v126 = load i32, ptr %v125, align 4
%v127 = getelementptr float, ptr %a1, i32 %v126
%v128 = load float, ptr %v127, align 4
%v129 = insertelement <32 x float> %v124, float %v128, i32 25
%v130 = getelementptr i32, ptr %a0, i32 26
%v131 = load i32, ptr %v130, align 4
%v132 = getelementptr float, ptr %a1, i32 %v131
%v133 = load float, ptr %v132, align 4
%v134 = insertelement <32 x float> %v129, float %v133, i32 26
%v135 = getelementptr i32, ptr %a0, i32 27
%v136 = load i32, ptr %v135, align 4
%v137 = getelementptr float, ptr %a1, i32 %v136
%v138 = load float, ptr %v137, align 4
%v139 = insertelement <32 x float> %v134, float %v138, i32 27
%v140 = getelementptr i32, ptr %a0, i32 28
%v141 = load i32, ptr %v140, align 4
%v142 = getelementptr float, ptr %a1, i32 %v141
%v143 = load float, ptr %v142, align 4
%v144 = insertelement <32 x float> %v139, float %v143, i32 28
%v145 = getelementptr i32, ptr %a0, i32 29
%v146 = load i32, ptr %v145, align 4
%v147 = getelementptr float, ptr %a1, i32 %v146
%v148 = load float, ptr %v147, align 4
%v149 = insertelement <32 x float> %v144, float %v148, i32 29
%v150 = getelementptr i32, ptr %a0, i32 30
%v151 = load i32, ptr %v150, align 4
%v152 = getelementptr float, ptr %a1, i32 %v151
%v153 = load float, ptr %v152, align 4
%v154 = insertelement <32 x float> %v149, float %v153, i32 30
%v155 = getelementptr i32, ptr %a0, i32 31
%v156 = load i32, ptr %v155, align 4
%v157 = getelementptr float, ptr %a1, i32 %v156
%v158 = load float, ptr %v157, align 4
%v159 = insertelement <32 x float> %v154, float %v158, i32 31
ret <32 x float> %v159
}
; Function Attrs: nounwind
; CHECK-LABEL: f1:
; CHECK: vinsert
define <64 x half> @f1(ptr %a0, ptr %a1) #0 {
b0:
%v1 = load i32, ptr %a0, align 4
%v2 = getelementptr half, ptr %a1, i32 %v1
%v3 = load half, ptr %v2, align 4
%v4 = insertelement <64 x half> undef, half %v3, i32 0
%v5 = getelementptr i32, ptr %a0, i32 1
%v6 = load i32, ptr %v5, align 4
%v7 = getelementptr half, ptr %a1, i32 %v6
%v8 = load half, ptr %v7, align 4
%v9 = insertelement <64 x half> %v4, half %v8, i32 1
%v10 = getelementptr i32, ptr %a0, i32 2
%v11 = load i32, ptr %v10, align 4
%v12 = getelementptr half, ptr %a1, i32 %v11
%v13 = load half, ptr %v12, align 4
%v14 = insertelement <64 x half> %v9, half %v13, i32 2
%v15 = getelementptr i32, ptr %a0, i32 3
%v16 = load i32, ptr %v15, align 4
%v17 = getelementptr half, ptr %a1, i32 %v16
%v18 = load half, ptr %v17, align 4
%v19 = insertelement <64 x half> %v14, half %v18, i32 3
%v20 = getelementptr i32, ptr %a0, i32 4
%v21 = load i32, ptr %v20, align 4
%v22 = getelementptr half, ptr %a1, i32 %v21
%v23 = load half, ptr %v22, align 4
%v24 = insertelement <64 x half> %v19, half %v23, i32 4
%v25 = getelementptr i32, ptr %a0, i32 5
%v26 = load i32, ptr %v25, align 4
%v27 = getelementptr half, ptr %a1, i32 %v26
%v28 = load half, ptr %v27, align 4
%v29 = insertelement <64 x half> %v24, half %v28, i32 5
%v30 = getelementptr i32, ptr %a0, i32 6
%v31 = load i32, ptr %v30, align 4
%v32 = getelementptr half, ptr %a1, i32 %v31
%v33 = load half, ptr %v32, align 4
%v34 = insertelement <64 x half> %v29, half %v33, i32 6
%v35 = getelementptr i32, ptr %a0, i32 7
%v36 = load i32, ptr %v35, align 4
%v37 = getelementptr half, ptr %a1, i32 %v36
%v38 = load half, ptr %v37, align 4
%v39 = insertelement <64 x half> %v34, half %v38, i32 7
%v40 = getelementptr i32, ptr %a0, i32 8
%v41 = load i32, ptr %v40, align 4
%v42 = getelementptr half, ptr %a1, i32 %v41
%v43 = load half, ptr %v42, align 4
%v44 = insertelement <64 x half> %v39, half %v43, i32 8
%v45 = getelementptr i32, ptr %a0, i32 9
%v46 = load i32, ptr %v45, align 4
%v47 = getelementptr half, ptr %a1, i32 %v46
%v48 = load half, ptr %v47, align 4
%v49 = insertelement <64 x half> %v44, half %v48, i32 9
%v50 = getelementptr i32, ptr %a0, i32 10
%v51 = load i32, ptr %v50, align 4
%v52 = getelementptr half, ptr %a1, i32 %v51
%v53 = load half, ptr %v52, align 4
%v54 = insertelement <64 x half> %v49, half %v53, i32 10
%v55 = getelementptr i32, ptr %a0, i32 11
%v56 = load i32, ptr %v55, align 4
%v57 = getelementptr half, ptr %a1, i32 %v56
%v58 = load half, ptr %v57, align 4
%v59 = insertelement <64 x half> %v54, half %v58, i32 11
%v60 = getelementptr i32, ptr %a0, i32 12
%v61 = load i32, ptr %v60, align 4
%v62 = getelementptr half, ptr %a1, i32 %v61
%v63 = load half, ptr %v62, align 4
%v64 = insertelement <64 x half> %v59, half %v63, i32 12
%v65 = getelementptr i32, ptr %a0, i32 13
%v66 = load i32, ptr %v65, align 4
%v67 = getelementptr half, ptr %a1, i32 %v66
%v68 = load half, ptr %v67, align 4
%v69 = insertelement <64 x half> %v64, half %v68, i32 13
%v70 = getelementptr i32, ptr %a0, i32 14
%v71 = load i32, ptr %v70, align 4
%v72 = getelementptr half, ptr %a1, i32 %v71
%v73 = load half, ptr %v72, align 4
%v74 = insertelement <64 x half> %v69, half %v73, i32 14
%v75 = getelementptr i32, ptr %a0, i32 15
%v76 = load i32, ptr %v75, align 4
%v77 = getelementptr half, ptr %a1, i32 %v76
%v78 = load half, ptr %v77, align 4
%v79 = insertelement <64 x half> %v74, half %v78, i32 15
%v80 = getelementptr i32, ptr %a0, i32 16
%v81 = load i32, ptr %v80, align 4
%v82 = getelementptr half, ptr %a1, i32 %v81
%v83 = load half, ptr %v82, align 4
%v84 = insertelement <64 x half> %v79, half %v83, i32 16
%v85 = getelementptr i32, ptr %a0, i32 17
%v86 = load i32, ptr %v85, align 4
%v87 = getelementptr half, ptr %a1, i32 %v86
%v88 = load half, ptr %v87, align 4
%v89 = insertelement <64 x half> %v84, half %v88, i32 17
%v90 = getelementptr i32, ptr %a0, i32 18
%v91 = load i32, ptr %v90, align 4
%v92 = getelementptr half, ptr %a1, i32 %v91
%v93 = load half, ptr %v92, align 4
%v94 = insertelement <64 x half> %v89, half %v93, i32 18
%v95 = getelementptr i32, ptr %a0, i32 19
%v96 = load i32, ptr %v95, align 4
%v97 = getelementptr half, ptr %a1, i32 %v96
%v98 = load half, ptr %v97, align 4
%v99 = insertelement <64 x half> %v94, half %v98, i32 19
%v100 = getelementptr i32, ptr %a0, i32 20
%v101 = load i32, ptr %v100, align 4
%v102 = getelementptr half, ptr %a1, i32 %v101
%v103 = load half, ptr %v102, align 4
%v104 = insertelement <64 x half> %v99, half %v103, i32 20
%v105 = getelementptr i32, ptr %a0, i32 21
%v106 = load i32, ptr %v105, align 4
%v107 = getelementptr half, ptr %a1, i32 %v106
%v108 = load half, ptr %v107, align 4
%v109 = insertelement <64 x half> %v104, half %v108, i32 21
%v110 = getelementptr i32, ptr %a0, i32 22
%v111 = load i32, ptr %v110, align 4
%v112 = getelementptr half, ptr %a1, i32 %v111
%v113 = load half, ptr %v112, align 4
%v114 = insertelement <64 x half> %v109, half %v113, i32 22
%v115 = getelementptr i32, ptr %a0, i32 23
%v116 = load i32, ptr %v115, align 4
%v117 = getelementptr half, ptr %a1, i32 %v116
%v118 = load half, ptr %v117, align 4
%v119 = insertelement <64 x half> %v114, half %v118, i32 23
%v120 = getelementptr i32, ptr %a0, i32 24
%v121 = load i32, ptr %v120, align 4
%v122 = getelementptr half, ptr %a1, i32 %v121
%v123 = load half, ptr %v122, align 4
%v124 = insertelement <64 x half> %v119, half %v123, i32 24
%v125 = getelementptr i32, ptr %a0, i32 25
%v126 = load i32, ptr %v125, align 4
%v127 = getelementptr half, ptr %a1, i32 %v126
%v128 = load half, ptr %v127, align 4
%v129 = insertelement <64 x half> %v124, half %v128, i32 25
%v130 = getelementptr i32, ptr %a0, i32 26
%v131 = load i32, ptr %v130, align 4
%v132 = getelementptr half, ptr %a1, i32 %v131
%v133 = load half, ptr %v132, align 4
%v134 = insertelement <64 x half> %v129, half %v133, i32 26
%v135 = getelementptr i32, ptr %a0, i32 27
%v136 = load i32, ptr %v135, align 4
%v137 = getelementptr half, ptr %a1, i32 %v136
%v138 = load half, ptr %v137, align 4
%v139 = insertelement <64 x half> %v134, half %v138, i32 27
%v140 = getelementptr i32, ptr %a0, i32 28
%v141 = load i32, ptr %v140, align 4
%v142 = getelementptr half, ptr %a1, i32 %v141
%v143 = load half, ptr %v142, align 4
%v144 = insertelement <64 x half> %v139, half %v143, i32 28
%v145 = getelementptr i32, ptr %a0, i32 29
%v146 = load i32, ptr %v145, align 4
%v147 = getelementptr half, ptr %a1, i32 %v146
%v148 = load half, ptr %v147, align 4
%v149 = insertelement <64 x half> %v144, half %v148, i32 29
%v150 = getelementptr i32, ptr %a0, i32 30
%v151 = load i32, ptr %v150, align 4
%v152 = getelementptr half, ptr %a1, i32 %v151
%v153 = load half, ptr %v152, align 4
%v154 = insertelement <64 x half> %v149, half %v153, i32 30
%v155 = getelementptr i32, ptr %a0, i32 31
%v156 = load i32, ptr %v155, align 4
%v157 = getelementptr half, ptr %a1, i32 %v156
%v158 = load half, ptr %v157, align 4
%v159 = insertelement <64 x half> %v154, half %v158, i32 31
%v160 = getelementptr i32, ptr %a0, i32 32
%v161 = load i32, ptr %v160, align 4
%v162 = getelementptr half, ptr %a1, i32 %v161
%v163 = load half, ptr %v162, align 4
%v164 = insertelement <64 x half> %v159, half %v163, i32 32
%v165 = getelementptr i32, ptr %a0, i32 33
%v166 = load i32, ptr %v165, align 4
%v167 = getelementptr half, ptr %a1, i32 %v166
%v168 = load half, ptr %v167, align 4
%v169 = insertelement <64 x half> %v164, half %v168, i32 33
%v170 = getelementptr i32, ptr %a0, i32 34
%v171 = load i32, ptr %v170, align 4
%v172 = getelementptr half, ptr %a1, i32 %v171
%v173 = load half, ptr %v172, align 4
%v174 = insertelement <64 x half> %v169, half %v173, i32 34
%v175 = getelementptr i32, ptr %a0, i32 35
%v176 = load i32, ptr %v175, align 4
%v177 = getelementptr half, ptr %a1, i32 %v176
%v178 = load half, ptr %v177, align 4
%v179 = insertelement <64 x half> %v174, half %v178, i32 35
%v180 = getelementptr i32, ptr %a0, i32 36
%v181 = load i32, ptr %v180, align 4
%v182 = getelementptr half, ptr %a1, i32 %v181
%v183 = load half, ptr %v182, align 4
%v184 = insertelement <64 x half> %v179, half %v183, i32 36
%v185 = getelementptr i32, ptr %a0, i32 37
%v186 = load i32, ptr %v185, align 4
%v187 = getelementptr half, ptr %a1, i32 %v186
%v188 = load half, ptr %v187, align 4
%v189 = insertelement <64 x half> %v184, half %v188, i32 37
%v190 = getelementptr i32, ptr %a0, i32 38
%v191 = load i32, ptr %v190, align 4
%v192 = getelementptr half, ptr %a1, i32 %v191
%v193 = load half, ptr %v192, align 4
%v194 = insertelement <64 x half> %v189, half %v193, i32 38
%v195 = getelementptr i32, ptr %a0, i32 39
%v196 = load i32, ptr %v195, align 4
%v197 = getelementptr half, ptr %a1, i32 %v196
%v198 = load half, ptr %v197, align 4
%v199 = insertelement <64 x half> %v194, half %v198, i32 39
%v200 = getelementptr i32, ptr %a0, i32 40
%v201 = load i32, ptr %v200, align 4
%v202 = getelementptr half, ptr %a1, i32 %v201
%v203 = load half, ptr %v202, align 4
%v204 = insertelement <64 x half> %v199, half %v203, i32 40
%v205 = getelementptr i32, ptr %a0, i32 41
%v206 = load i32, ptr %v205, align 4
%v207 = getelementptr half, ptr %a1, i32 %v206
%v208 = load half, ptr %v207, align 4
%v209 = insertelement <64 x half> %v204, half %v208, i32 41
%v210 = getelementptr i32, ptr %a0, i32 42
%v211 = load i32, ptr %v210, align 4
%v212 = getelementptr half, ptr %a1, i32 %v211
%v213 = load half, ptr %v212, align 4
%v214 = insertelement <64 x half> %v209, half %v213, i32 42
%v215 = getelementptr i32, ptr %a0, i32 43
%v216 = load i32, ptr %v215, align 4
%v217 = getelementptr half, ptr %a1, i32 %v216
%v218 = load half, ptr %v217, align 4
%v219 = insertelement <64 x half> %v214, half %v218, i32 43
%v220 = getelementptr i32, ptr %a0, i32 44
%v221 = load i32, ptr %v220, align 4
%v222 = getelementptr half, ptr %a1, i32 %v221
%v223 = load half, ptr %v222, align 4
%v224 = insertelement <64 x half> %v219, half %v223, i32 44
%v225 = getelementptr i32, ptr %a0, i32 45
%v226 = load i32, ptr %v225, align 4
%v227 = getelementptr half, ptr %a1, i32 %v226
%v228 = load half, ptr %v227, align 4
%v229 = insertelement <64 x half> %v224, half %v228, i32 45
%v230 = getelementptr i32, ptr %a0, i32 46
%v231 = load i32, ptr %v230, align 4
%v232 = getelementptr half, ptr %a1, i32 %v231
%v233 = load half, ptr %v232, align 4
%v234 = insertelement <64 x half> %v229, half %v233, i32 46
%v235 = getelementptr i32, ptr %a0, i32 47
%v236 = load i32, ptr %v235, align 4
%v237 = getelementptr half, ptr %a1, i32 %v236
%v238 = load half, ptr %v237, align 4
%v239 = insertelement <64 x half> %v234, half %v238, i32 47
%v240 = getelementptr i32, ptr %a0, i32 48
%v241 = load i32, ptr %v240, align 4
%v242 = getelementptr half, ptr %a1, i32 %v241
%v243 = load half, ptr %v242, align 4
%v244 = insertelement <64 x half> %v239, half %v243, i32 48
%v245 = getelementptr i32, ptr %a0, i32 49
%v246 = load i32, ptr %v245, align 4
%v247 = getelementptr half, ptr %a1, i32 %v246
%v248 = load half, ptr %v247, align 4
%v249 = insertelement <64 x half> %v244, half %v248, i32 49
%v250 = getelementptr i32, ptr %a0, i32 50
%v251 = load i32, ptr %v250, align 4
%v252 = getelementptr half, ptr %a1, i32 %v251
%v253 = load half, ptr %v252, align 4
%v254 = insertelement <64 x half> %v249, half %v253, i32 50
%v255 = getelementptr i32, ptr %a0, i32 51
%v256 = load i32, ptr %v255, align 4
%v257 = getelementptr half, ptr %a1, i32 %v256
%v258 = load half, ptr %v257, align 4
%v259 = insertelement <64 x half> %v254, half %v258, i32 51
%v260 = getelementptr i32, ptr %a0, i32 52
%v261 = load i32, ptr %v260, align 4
%v262 = getelementptr half, ptr %a1, i32 %v261
%v263 = load half, ptr %v262, align 4
%v264 = insertelement <64 x half> %v259, half %v263, i32 52
%v265 = getelementptr i32, ptr %a0, i32 53
%v266 = load i32, ptr %v265, align 4
%v267 = getelementptr half, ptr %a1, i32 %v266
%v268 = load half, ptr %v267, align 4
%v269 = insertelement <64 x half> %v264, half %v268, i32 53
%v270 = getelementptr i32, ptr %a0, i32 54
%v271 = load i32, ptr %v270, align 4
%v272 = getelementptr half, ptr %a1, i32 %v271
%v273 = load half, ptr %v272, align 4
%v274 = insertelement <64 x half> %v269, half %v273, i32 54
%v275 = getelementptr i32, ptr %a0, i32 55
%v276 = load i32, ptr %v275, align 4
%v277 = getelementptr half, ptr %a1, i32 %v276
%v278 = load half, ptr %v277, align 4
%v279 = insertelement <64 x half> %v274, half %v278, i32 55
%v280 = getelementptr i32, ptr %a0, i32 56
%v281 = load i32, ptr %v280, align 4
%v282 = getelementptr half, ptr %a1, i32 %v281
%v283 = load half, ptr %v282, align 4
%v284 = insertelement <64 x half> %v279, half %v283, i32 56
%v285 = getelementptr i32, ptr %a0, i32 57
%v286 = load i32, ptr %v285, align 4
%v287 = getelementptr half, ptr %a1, i32 %v286
%v288 = load half, ptr %v287, align 4
%v289 = insertelement <64 x half> %v284, half %v288, i32 57
%v290 = getelementptr i32, ptr %a0, i32 58
%v291 = load i32, ptr %v290, align 4
%v292 = getelementptr half, ptr %a1, i32 %v291
%v293 = load half, ptr %v292, align 4
%v294 = insertelement <64 x half> %v289, half %v293, i32 58
%v295 = getelementptr i32, ptr %a0, i32 59
%v296 = load i32, ptr %v295, align 4
%v297 = getelementptr half, ptr %a1, i32 %v296
%v298 = load half, ptr %v297, align 4
%v299 = insertelement <64 x half> %v294, half %v298, i32 59
%v300 = getelementptr i32, ptr %a0, i32 60
%v301 = load i32, ptr %v300, align 4
%v302 = getelementptr half, ptr %a1, i32 %v301
%v303 = load half, ptr %v302, align 4
%v304 = insertelement <64 x half> %v299, half %v303, i32 60
%v305 = getelementptr i32, ptr %a0, i32 61
%v306 = load i32, ptr %v305, align 4
%v307 = getelementptr half, ptr %a1, i32 %v306
%v308 = load half, ptr %v307, align 4
%v309 = insertelement <64 x half> %v304, half %v308, i32 61
%v310 = getelementptr i32, ptr %a0, i32 62
%v311 = load i32, ptr %v310, align 4
%v312 = getelementptr half, ptr %a1, i32 %v311
%v313 = load half, ptr %v312, align 4
%v314 = insertelement <64 x half> %v309, half %v313, i32 62
%v315 = getelementptr i32, ptr %a0, i32 63
%v316 = load i32, ptr %v315, align 4
%v317 = getelementptr half, ptr %a1, i32 %v316
%v318 = load half, ptr %v317, align 4
%v319 = insertelement <64 x half> %v314, half %v318, i32 63
ret <64 x half> %v319
}
attributes #0 = { nounwind "target-cpu"="hexagonv69" "target-features"="+hvxv69,+hvx-length128b,+hvx-qfloat" }