Lines Matching refs:dofs

126 void tcg_gen_gvec_2_ool(uint32_t dofs, uint32_t aofs,  in tcg_gen_gvec_2_ool()  argument
136 tcg_gen_addi_ptr(a0, tcg_env, dofs); in tcg_gen_gvec_2_ool()
147 void tcg_gen_gvec_2i_ool(uint32_t dofs, uint32_t aofs, TCGv_i64 c, in tcg_gen_gvec_2i_ool() argument
157 tcg_gen_addi_ptr(a0, tcg_env, dofs); in tcg_gen_gvec_2i_ool()
167 void tcg_gen_gvec_3_ool(uint32_t dofs, uint32_t aofs, uint32_t bofs, in tcg_gen_gvec_3_ool() argument
178 tcg_gen_addi_ptr(a0, tcg_env, dofs); in tcg_gen_gvec_3_ool()
190 void tcg_gen_gvec_4_ool(uint32_t dofs, uint32_t aofs, uint32_t bofs, in tcg_gen_gvec_4_ool() argument
202 tcg_gen_addi_ptr(a0, tcg_env, dofs); in tcg_gen_gvec_4_ool()
216 void tcg_gen_gvec_5_ool(uint32_t dofs, uint32_t aofs, uint32_t bofs, in tcg_gen_gvec_5_ool() argument
229 tcg_gen_addi_ptr(a0, tcg_env, dofs); in tcg_gen_gvec_5_ool()
246 void tcg_gen_gvec_2_ptr(uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_2_ptr() argument
256 tcg_gen_addi_ptr(a0, tcg_env, dofs); in tcg_gen_gvec_2_ptr()
267 void tcg_gen_gvec_3_ptr(uint32_t dofs, uint32_t aofs, uint32_t bofs, in tcg_gen_gvec_3_ptr() argument
278 tcg_gen_addi_ptr(a0, tcg_env, dofs); in tcg_gen_gvec_3_ptr()
291 void tcg_gen_gvec_4_ptr(uint32_t dofs, uint32_t aofs, uint32_t bofs, in tcg_gen_gvec_4_ptr() argument
304 tcg_gen_addi_ptr(a0, tcg_env, dofs); in tcg_gen_gvec_4_ptr()
319 void tcg_gen_gvec_5_ptr(uint32_t dofs, uint32_t aofs, uint32_t bofs, in tcg_gen_gvec_5_ptr() argument
333 tcg_gen_addi_ptr(a0, tcg_env, dofs); in tcg_gen_gvec_5_ptr()
382 static void expand_clr(uint32_t dofs, uint32_t maxsz);
485 static void do_dup_store(TCGType type, uint32_t dofs, uint32_t oprsz, in do_dup_store() argument
497 if (dofs & 8) { in do_dup_store()
498 tcg_gen_stl_vec(t_vec, tcg_env, dofs + i, TCG_TYPE_V64); in do_dup_store()
510 tcg_gen_stl_vec(t_vec, tcg_env, dofs + i, TCG_TYPE_V256); in do_dup_store()
515 tcg_gen_stl_vec(t_vec, tcg_env, dofs + i, TCG_TYPE_V128); in do_dup_store()
520 tcg_gen_stl_vec(t_vec, tcg_env, dofs + i, TCG_TYPE_V64); in do_dup_store()
528 expand_clr(dofs + oprsz, maxsz - oprsz); in do_dup_store()
536 static void do_dup(unsigned vece, uint32_t dofs, uint32_t oprsz, in do_dup() argument
576 do_dup_store(type, dofs, oprsz, maxsz, t_vec); in do_dup()
620 tcg_gen_st_i32(t_32, tcg_env, dofs + i); in do_dup()
627 tcg_gen_st_i64(t_64, tcg_env, dofs + i); in do_dup()
636 tcg_gen_addi_ptr(t_ptr, tcg_env, dofs); in do_dup()
705 expand_clr(dofs + oprsz, maxsz - oprsz); in do_dup()
710 static void expand_clr(uint32_t dofs, uint32_t maxsz) in expand_clr() argument
712 do_dup(MO_8, dofs, maxsz, maxsz, NULL, NULL, 0); in expand_clr()
716 static void expand_2_i32(uint32_t dofs, uint32_t aofs, uint32_t oprsz, in expand_2_i32() argument
726 tcg_gen_ld_i32(t1, tcg_env, dofs + i); in expand_2_i32()
729 tcg_gen_st_i32(t1, tcg_env, dofs + i); in expand_2_i32()
735 static void expand_2i_i32(uint32_t dofs, uint32_t aofs, uint32_t oprsz, in expand_2i_i32() argument
746 tcg_gen_ld_i32(t1, tcg_env, dofs + i); in expand_2i_i32()
749 tcg_gen_st_i32(t1, tcg_env, dofs + i); in expand_2i_i32()
755 static void expand_2s_i32(uint32_t dofs, uint32_t aofs, uint32_t oprsz, in expand_2s_i32() argument
770 tcg_gen_st_i32(t1, tcg_env, dofs + i); in expand_2s_i32()
777 static void expand_3_i32(uint32_t dofs, uint32_t aofs, in expand_3_i32() argument
790 tcg_gen_ld_i32(t2, tcg_env, dofs + i); in expand_3_i32()
793 tcg_gen_st_i32(t2, tcg_env, dofs + i); in expand_3_i32()
800 static void expand_3i_i32(uint32_t dofs, uint32_t aofs, uint32_t bofs, in expand_3i_i32() argument
814 tcg_gen_ld_i32(t2, tcg_env, dofs + i); in expand_3i_i32()
817 tcg_gen_st_i32(t2, tcg_env, dofs + i); in expand_3i_i32()
828 static void expand_4_i32(uint32_t dofs, uint32_t aofs, uint32_t bofs, in expand_4_i32() argument
843 tcg_gen_st_i32(t0, tcg_env, dofs + i); in expand_4_i32()
854 static void expand_4i_i32(uint32_t dofs, uint32_t aofs, uint32_t bofs, in expand_4i_i32() argument
870 tcg_gen_st_i32(t0, tcg_env, dofs + i); in expand_4i_i32()
879 static void expand_2_i64(uint32_t dofs, uint32_t aofs, uint32_t oprsz, in expand_2_i64() argument
889 tcg_gen_ld_i64(t1, tcg_env, dofs + i); in expand_2_i64()
892 tcg_gen_st_i64(t1, tcg_env, dofs + i); in expand_2_i64()
898 static void expand_2i_i64(uint32_t dofs, uint32_t aofs, uint32_t oprsz, in expand_2i_i64() argument
909 tcg_gen_ld_i64(t1, tcg_env, dofs + i); in expand_2i_i64()
912 tcg_gen_st_i64(t1, tcg_env, dofs + i); in expand_2i_i64()
918 static void expand_2s_i64(uint32_t dofs, uint32_t aofs, uint32_t oprsz, in expand_2s_i64() argument
933 tcg_gen_st_i64(t1, tcg_env, dofs + i); in expand_2s_i64()
940 static void expand_3_i64(uint32_t dofs, uint32_t aofs, in expand_3_i64() argument
953 tcg_gen_ld_i64(t2, tcg_env, dofs + i); in expand_3_i64()
956 tcg_gen_st_i64(t2, tcg_env, dofs + i); in expand_3_i64()
963 static void expand_3i_i64(uint32_t dofs, uint32_t aofs, uint32_t bofs, in expand_3i_i64() argument
977 tcg_gen_ld_i64(t2, tcg_env, dofs + i); in expand_3i_i64()
980 tcg_gen_st_i64(t2, tcg_env, dofs + i); in expand_3i_i64()
991 static void expand_4_i64(uint32_t dofs, uint32_t aofs, uint32_t bofs, in expand_4_i64() argument
1006 tcg_gen_st_i64(t0, tcg_env, dofs + i); in expand_4_i64()
1017 static void expand_4i_i64(uint32_t dofs, uint32_t aofs, uint32_t bofs, in expand_4i_i64() argument
1033 tcg_gen_st_i64(t0, tcg_env, dofs + i); in expand_4i_i64()
1042 static void expand_2_vec(unsigned vece, uint32_t dofs, uint32_t aofs, in expand_2_vec() argument
1053 tcg_gen_ld_vec(t1, tcg_env, dofs + i); in expand_2_vec()
1056 tcg_gen_st_vec(t1, tcg_env, dofs + i); in expand_2_vec()
1062 static void expand_2i_vec(unsigned vece, uint32_t dofs, uint32_t aofs, in expand_2i_vec() argument
1073 tcg_gen_ld_vec(t1, tcg_env, dofs + i); in expand_2i_vec()
1076 tcg_gen_st_vec(t1, tcg_env, dofs + i); in expand_2i_vec()
1080 static void expand_2s_vec(unsigned vece, uint32_t dofs, uint32_t aofs, in expand_2s_vec() argument
1095 tcg_gen_st_vec(t1, tcg_env, dofs + i); in expand_2s_vec()
1100 static void expand_3_vec(unsigned vece, uint32_t dofs, uint32_t aofs, in expand_3_vec() argument
1113 tcg_gen_ld_vec(t2, tcg_env, dofs + i); in expand_3_vec()
1116 tcg_gen_st_vec(t2, tcg_env, dofs + i); in expand_3_vec()
1124 static void expand_3i_vec(unsigned vece, uint32_t dofs, uint32_t aofs, in expand_3i_vec() argument
1139 tcg_gen_ld_vec(t2, tcg_env, dofs + i); in expand_3i_vec()
1142 tcg_gen_st_vec(t2, tcg_env, dofs + i); in expand_3i_vec()
1150 static void expand_4_vec(unsigned vece, uint32_t dofs, uint32_t aofs, in expand_4_vec() argument
1166 tcg_gen_st_vec(t0, tcg_env, dofs + i); in expand_4_vec()
1177 static void expand_4i_vec(unsigned vece, uint32_t dofs, uint32_t aofs, in expand_4i_vec() argument
1193 tcg_gen_st_vec(t0, tcg_env, dofs + i); in expand_4i_vec()
1198 void tcg_gen_gvec_2(uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_2() argument
1206 check_size_align(oprsz, maxsz, dofs | aofs); in tcg_gen_gvec_2()
1207 check_overlap_2(dofs, aofs, maxsz); in tcg_gen_gvec_2()
1220 expand_2_vec(g->vece, dofs, aofs, some, 32, TCG_TYPE_V256, in tcg_gen_gvec_2()
1225 dofs += some; in tcg_gen_gvec_2()
1231 expand_2_vec(g->vece, dofs, aofs, oprsz, 16, TCG_TYPE_V128, in tcg_gen_gvec_2()
1235 expand_2_vec(g->vece, dofs, aofs, oprsz, 8, TCG_TYPE_V64, in tcg_gen_gvec_2()
1241 expand_2_i64(dofs, aofs, oprsz, g->load_dest, g->fni8); in tcg_gen_gvec_2()
1243 expand_2_i32(dofs, aofs, oprsz, g->load_dest, g->fni4); in tcg_gen_gvec_2()
1246 tcg_gen_gvec_2_ool(dofs, aofs, oprsz, maxsz, g->data, g->fno); in tcg_gen_gvec_2()
1257 expand_clr(dofs + oprsz, maxsz - oprsz); in tcg_gen_gvec_2()
1262 void tcg_gen_gvec_2i(uint32_t dofs, uint32_t aofs, uint32_t oprsz, in tcg_gen_gvec_2i() argument
1270 check_size_align(oprsz, maxsz, dofs | aofs); in tcg_gen_gvec_2i()
1271 check_overlap_2(dofs, aofs, maxsz); in tcg_gen_gvec_2i()
1284 expand_2i_vec(g->vece, dofs, aofs, some, 32, TCG_TYPE_V256, in tcg_gen_gvec_2i()
1289 dofs += some; in tcg_gen_gvec_2i()
1295 expand_2i_vec(g->vece, dofs, aofs, oprsz, 16, TCG_TYPE_V128, in tcg_gen_gvec_2i()
1299 expand_2i_vec(g->vece, dofs, aofs, oprsz, 8, TCG_TYPE_V64, in tcg_gen_gvec_2i()
1305 expand_2i_i64(dofs, aofs, oprsz, c, g->load_dest, g->fni8); in tcg_gen_gvec_2i()
1307 expand_2i_i32(dofs, aofs, oprsz, c, g->load_dest, g->fni4); in tcg_gen_gvec_2i()
1310 tcg_gen_gvec_2_ool(dofs, aofs, oprsz, maxsz, c, g->fno); in tcg_gen_gvec_2i()
1313 tcg_gen_gvec_2i_ool(dofs, aofs, tcg_c, oprsz, in tcg_gen_gvec_2i()
1326 expand_clr(dofs + oprsz, maxsz - oprsz); in tcg_gen_gvec_2i()
1331 void tcg_gen_gvec_2s(uint32_t dofs, uint32_t aofs, uint32_t oprsz, in tcg_gen_gvec_2s() argument
1336 check_size_align(oprsz, maxsz, dofs | aofs); in tcg_gen_gvec_2s()
1337 check_overlap_2(dofs, aofs, maxsz); in tcg_gen_gvec_2s()
1358 expand_2s_vec(g->vece, dofs, aofs, some, 32, TCG_TYPE_V256, in tcg_gen_gvec_2s()
1363 dofs += some; in tcg_gen_gvec_2s()
1370 expand_2s_vec(g->vece, dofs, aofs, oprsz, 16, TCG_TYPE_V128, in tcg_gen_gvec_2s()
1375 expand_2s_vec(g->vece, dofs, aofs, oprsz, 8, TCG_TYPE_V64, in tcg_gen_gvec_2s()
1388 expand_2s_i64(dofs, aofs, oprsz, t64, g->scalar_first, g->fni8); in tcg_gen_gvec_2s()
1395 expand_2s_i32(dofs, aofs, oprsz, t32, g->scalar_first, g->fni4); in tcg_gen_gvec_2s()
1398 tcg_gen_gvec_2i_ool(dofs, aofs, c, oprsz, maxsz, 0, g->fno); in tcg_gen_gvec_2s()
1403 expand_clr(dofs + oprsz, maxsz - oprsz); in tcg_gen_gvec_2s()
1408 void tcg_gen_gvec_3(uint32_t dofs, uint32_t aofs, uint32_t bofs, in tcg_gen_gvec_3() argument
1416 check_size_align(oprsz, maxsz, dofs | aofs | bofs); in tcg_gen_gvec_3()
1417 check_overlap_3(dofs, aofs, bofs, maxsz); in tcg_gen_gvec_3()
1430 expand_3_vec(g->vece, dofs, aofs, bofs, some, 32, TCG_TYPE_V256, in tcg_gen_gvec_3()
1435 dofs += some; in tcg_gen_gvec_3()
1442 expand_3_vec(g->vece, dofs, aofs, bofs, oprsz, 16, TCG_TYPE_V128, in tcg_gen_gvec_3()
1446 expand_3_vec(g->vece, dofs, aofs, bofs, oprsz, 8, TCG_TYPE_V64, in tcg_gen_gvec_3()
1452 expand_3_i64(dofs, aofs, bofs, oprsz, g->load_dest, g->fni8); in tcg_gen_gvec_3()
1454 expand_3_i32(dofs, aofs, bofs, oprsz, g->load_dest, g->fni4); in tcg_gen_gvec_3()
1457 tcg_gen_gvec_3_ool(dofs, aofs, bofs, oprsz, in tcg_gen_gvec_3()
1469 expand_clr(dofs + oprsz, maxsz - oprsz); in tcg_gen_gvec_3()
1474 void tcg_gen_gvec_3i(uint32_t dofs, uint32_t aofs, uint32_t bofs, in tcg_gen_gvec_3i() argument
1483 check_size_align(oprsz, maxsz, dofs | aofs | bofs); in tcg_gen_gvec_3i()
1484 check_overlap_3(dofs, aofs, bofs, maxsz); in tcg_gen_gvec_3i()
1498 expand_3i_vec(g->vece, dofs, aofs, bofs, some, 32, TCG_TYPE_V256, in tcg_gen_gvec_3i()
1503 dofs += some; in tcg_gen_gvec_3i()
1510 expand_3i_vec(g->vece, dofs, aofs, bofs, oprsz, 16, TCG_TYPE_V128, in tcg_gen_gvec_3i()
1514 expand_3i_vec(g->vece, dofs, aofs, bofs, oprsz, 8, TCG_TYPE_V64, in tcg_gen_gvec_3i()
1520 expand_3i_i64(dofs, aofs, bofs, oprsz, c, in tcg_gen_gvec_3i()
1523 expand_3i_i32(dofs, aofs, bofs, oprsz, c, in tcg_gen_gvec_3i()
1527 tcg_gen_gvec_3_ool(dofs, aofs, bofs, oprsz, maxsz, c, g->fno); in tcg_gen_gvec_3i()
1538 expand_clr(dofs + oprsz, maxsz - oprsz); in tcg_gen_gvec_3i()
1543 void tcg_gen_gvec_4(uint32_t dofs, uint32_t aofs, uint32_t bofs, uint32_t cofs, in tcg_gen_gvec_4() argument
1551 check_size_align(oprsz, maxsz, dofs | aofs | bofs | cofs); in tcg_gen_gvec_4()
1552 check_overlap_4(dofs, aofs, bofs, cofs, maxsz); in tcg_gen_gvec_4()
1565 expand_4_vec(g->vece, dofs, aofs, bofs, cofs, some, in tcg_gen_gvec_4()
1570 dofs += some; in tcg_gen_gvec_4()
1578 expand_4_vec(g->vece, dofs, aofs, bofs, cofs, oprsz, in tcg_gen_gvec_4()
1582 expand_4_vec(g->vece, dofs, aofs, bofs, cofs, oprsz, in tcg_gen_gvec_4()
1588 expand_4_i64(dofs, aofs, bofs, cofs, oprsz, in tcg_gen_gvec_4()
1591 expand_4_i32(dofs, aofs, bofs, cofs, oprsz, in tcg_gen_gvec_4()
1595 tcg_gen_gvec_4_ool(dofs, aofs, bofs, cofs, in tcg_gen_gvec_4()
1607 expand_clr(dofs + oprsz, maxsz - oprsz); in tcg_gen_gvec_4()
1612 void tcg_gen_gvec_4i(uint32_t dofs, uint32_t aofs, uint32_t bofs, uint32_t cofs, in tcg_gen_gvec_4i() argument
1621 check_size_align(oprsz, maxsz, dofs | aofs | bofs | cofs); in tcg_gen_gvec_4i()
1622 check_overlap_4(dofs, aofs, bofs, cofs, maxsz); in tcg_gen_gvec_4i()
1636 expand_4i_vec(g->vece, dofs, aofs, bofs, cofs, some, in tcg_gen_gvec_4i()
1641 dofs += some; in tcg_gen_gvec_4i()
1649 expand_4i_vec(g->vece, dofs, aofs, bofs, cofs, oprsz, in tcg_gen_gvec_4i()
1653 expand_4i_vec(g->vece, dofs, aofs, bofs, cofs, oprsz, in tcg_gen_gvec_4i()
1659 expand_4i_i64(dofs, aofs, bofs, cofs, oprsz, c, g->fni8); in tcg_gen_gvec_4i()
1661 expand_4i_i32(dofs, aofs, bofs, cofs, oprsz, c, g->fni4); in tcg_gen_gvec_4i()
1664 tcg_gen_gvec_4_ool(dofs, aofs, bofs, cofs, in tcg_gen_gvec_4i()
1676 expand_clr(dofs + oprsz, maxsz - oprsz); in tcg_gen_gvec_4i()
1689 void tcg_gen_gvec_mov(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_mov() argument
1698 if (dofs != aofs) { in tcg_gen_gvec_mov()
1699 tcg_gen_gvec_2(dofs, aofs, oprsz, maxsz, &g); in tcg_gen_gvec_mov()
1701 check_size_align(oprsz, maxsz, dofs); in tcg_gen_gvec_mov()
1703 expand_clr(dofs + oprsz, maxsz - oprsz); in tcg_gen_gvec_mov()
1708 void tcg_gen_gvec_dup_i32(unsigned vece, uint32_t dofs, uint32_t oprsz, in tcg_gen_gvec_dup_i32() argument
1711 check_size_align(oprsz, maxsz, dofs); in tcg_gen_gvec_dup_i32()
1713 do_dup(vece, dofs, oprsz, maxsz, in, NULL, 0); in tcg_gen_gvec_dup_i32()
1716 void tcg_gen_gvec_dup_i64(unsigned vece, uint32_t dofs, uint32_t oprsz, in tcg_gen_gvec_dup_i64() argument
1719 check_size_align(oprsz, maxsz, dofs); in tcg_gen_gvec_dup_i64()
1721 do_dup(vece, dofs, oprsz, maxsz, NULL, in, 0); in tcg_gen_gvec_dup_i64()
1724 void tcg_gen_gvec_dup_mem(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_dup_mem() argument
1727 check_size_align(oprsz, maxsz, dofs); in tcg_gen_gvec_dup_mem()
1733 do_dup_store(type, dofs, oprsz, maxsz, t_vec); in tcg_gen_gvec_dup_mem()
1747 do_dup(vece, dofs, oprsz, maxsz, in, NULL, 0); in tcg_gen_gvec_dup_mem()
1752 do_dup(vece, dofs, oprsz, maxsz, NULL, in, 0); in tcg_gen_gvec_dup_mem()
1764 for (i = (aofs == dofs) * 16; i < oprsz; i += 16) { in tcg_gen_gvec_dup_mem()
1765 tcg_gen_st_vec(in, tcg_env, dofs + i); in tcg_gen_gvec_dup_mem()
1773 for (i = (aofs == dofs) * 16; i < oprsz; i += 16) { in tcg_gen_gvec_dup_mem()
1774 tcg_gen_st_i64(in0, tcg_env, dofs + i); in tcg_gen_gvec_dup_mem()
1775 tcg_gen_st_i64(in1, tcg_env, dofs + i + 8); in tcg_gen_gvec_dup_mem()
1781 expand_clr(dofs + oprsz, maxsz - oprsz); in tcg_gen_gvec_dup_mem()
1793 for (i = (aofs == dofs) * 32; i < oprsz; i += 32) { in tcg_gen_gvec_dup_mem()
1794 tcg_gen_st_vec(in, tcg_env, dofs + i); in tcg_gen_gvec_dup_mem()
1802 for (i = (aofs == dofs) * 32; i < oprsz; i += 32) { in tcg_gen_gvec_dup_mem()
1803 tcg_gen_st_vec(in0, tcg_env, dofs + i); in tcg_gen_gvec_dup_mem()
1804 tcg_gen_st_vec(in1, tcg_env, dofs + i + 16); in tcg_gen_gvec_dup_mem()
1814 for (i = (aofs == dofs) * 32; i < oprsz; i += 32) { in tcg_gen_gvec_dup_mem()
1816 tcg_gen_st_i64(in[j], tcg_env, dofs + i + j * 8); in tcg_gen_gvec_dup_mem()
1824 expand_clr(dofs + oprsz, maxsz - oprsz); in tcg_gen_gvec_dup_mem()
1831 void tcg_gen_gvec_dup_imm(unsigned vece, uint32_t dofs, uint32_t oprsz, in tcg_gen_gvec_dup_imm() argument
1834 check_size_align(oprsz, maxsz, dofs); in tcg_gen_gvec_dup_imm()
1835 do_dup(vece, dofs, oprsz, maxsz, NULL, NULL, x); in tcg_gen_gvec_dup_imm()
1838 void tcg_gen_gvec_not(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_not() argument
1847 tcg_gen_gvec_2(dofs, aofs, oprsz, maxsz, &g); in tcg_gen_gvec_not()
1933 void tcg_gen_gvec_add(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_add() argument
1961 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_add()
1964 void tcg_gen_gvec_adds(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_adds() argument
1992 tcg_gen_gvec_2s(dofs, aofs, oprsz, maxsz, c, &g[vece]); in tcg_gen_gvec_adds()
1995 void tcg_gen_gvec_addi(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_addi() argument
1999 tcg_gen_gvec_adds(vece, dofs, aofs, tmp, oprsz, maxsz); in tcg_gen_gvec_addi()
2004 void tcg_gen_gvec_subs(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_subs() argument
2032 tcg_gen_gvec_2s(dofs, aofs, oprsz, maxsz, c, &g[vece]); in tcg_gen_gvec_subs()
2114 void tcg_gen_gvec_sub(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_sub() argument
2142 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_sub()
2147 void tcg_gen_gvec_mul(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_mul() argument
2173 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_mul()
2176 void tcg_gen_gvec_muls(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_muls() argument
2202 tcg_gen_gvec_2s(dofs, aofs, oprsz, maxsz, c, &g[vece]); in tcg_gen_gvec_muls()
2205 void tcg_gen_gvec_muli(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_muli() argument
2209 tcg_gen_gvec_muls(vece, dofs, aofs, tmp, oprsz, maxsz); in tcg_gen_gvec_muli()
2212 void tcg_gen_gvec_ssadd(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_ssadd() argument
2235 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_ssadd()
2238 void tcg_gen_gvec_sssub(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_sssub() argument
2261 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_sssub()
2278 void tcg_gen_gvec_usadd(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_usadd() argument
2303 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_usadd()
2320 void tcg_gen_gvec_ussub(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_ussub() argument
2345 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_ussub()
2348 void tcg_gen_gvec_smin(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_smin() argument
2373 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_smin()
2376 void tcg_gen_gvec_umin(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_umin() argument
2401 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_umin()
2404 void tcg_gen_gvec_smax(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_smax() argument
2429 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_smax()
2432 void tcg_gen_gvec_umax(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_umax() argument
2457 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_umax()
2502 void tcg_gen_gvec_neg(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_neg() argument
2531 tcg_gen_gvec_2(dofs, aofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_neg()
2566 void tcg_gen_gvec_abs(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_abs() argument
2595 tcg_gen_gvec_2(dofs, aofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_abs()
2598 void tcg_gen_gvec_and(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_and() argument
2609 tcg_gen_gvec_mov(vece, dofs, aofs, oprsz, maxsz); in tcg_gen_gvec_and()
2611 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g); in tcg_gen_gvec_and()
2615 void tcg_gen_gvec_or(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_or() argument
2626 tcg_gen_gvec_mov(vece, dofs, aofs, oprsz, maxsz); in tcg_gen_gvec_or()
2628 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g); in tcg_gen_gvec_or()
2632 void tcg_gen_gvec_xor(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_xor() argument
2643 tcg_gen_gvec_dup_imm(MO_64, dofs, oprsz, maxsz, 0); in tcg_gen_gvec_xor()
2645 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g); in tcg_gen_gvec_xor()
2649 void tcg_gen_gvec_andc(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_andc() argument
2660 tcg_gen_gvec_dup_imm(MO_64, dofs, oprsz, maxsz, 0); in tcg_gen_gvec_andc()
2662 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g); in tcg_gen_gvec_andc()
2666 void tcg_gen_gvec_orc(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_orc() argument
2677 tcg_gen_gvec_dup_imm(MO_64, dofs, oprsz, maxsz, -1); in tcg_gen_gvec_orc()
2679 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g); in tcg_gen_gvec_orc()
2683 void tcg_gen_gvec_nand(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_nand() argument
2694 tcg_gen_gvec_not(vece, dofs, aofs, oprsz, maxsz); in tcg_gen_gvec_nand()
2696 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g); in tcg_gen_gvec_nand()
2700 void tcg_gen_gvec_nor(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_nor() argument
2711 tcg_gen_gvec_not(vece, dofs, aofs, oprsz, maxsz); in tcg_gen_gvec_nor()
2713 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g); in tcg_gen_gvec_nor()
2717 void tcg_gen_gvec_eqv(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_eqv() argument
2728 tcg_gen_gvec_dup_imm(MO_64, dofs, oprsz, maxsz, -1); in tcg_gen_gvec_eqv()
2730 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g); in tcg_gen_gvec_eqv()
2742 void tcg_gen_gvec_ands(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_ands() argument
2747 tcg_gen_gvec_2s(dofs, aofs, oprsz, maxsz, tmp, &gop_ands); in tcg_gen_gvec_ands()
2751 void tcg_gen_gvec_andi(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_andi() argument
2755 tcg_gen_gvec_2s(dofs, aofs, oprsz, maxsz, tmp, &gop_ands); in tcg_gen_gvec_andi()
2758 void tcg_gen_gvec_andcs(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_andcs() argument
2771 tcg_gen_gvec_2s(dofs, aofs, oprsz, maxsz, tmp, &g); in tcg_gen_gvec_andcs()
2783 void tcg_gen_gvec_xors(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_xors() argument
2788 tcg_gen_gvec_2s(dofs, aofs, oprsz, maxsz, tmp, &gop_xors); in tcg_gen_gvec_xors()
2792 void tcg_gen_gvec_xori(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_xori() argument
2796 tcg_gen_gvec_2s(dofs, aofs, oprsz, maxsz, tmp, &gop_xors); in tcg_gen_gvec_xori()
2807 void tcg_gen_gvec_ors(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_ors() argument
2812 tcg_gen_gvec_2s(dofs, aofs, oprsz, maxsz, tmp, &gop_ors); in tcg_gen_gvec_ors()
2816 void tcg_gen_gvec_ori(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_ori() argument
2820 tcg_gen_gvec_2s(dofs, aofs, oprsz, maxsz, tmp, &gop_ors); in tcg_gen_gvec_ori()
2851 void tcg_gen_gvec_shli(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_shli() argument
2882 tcg_gen_gvec_mov(vece, dofs, aofs, oprsz, maxsz); in tcg_gen_gvec_shli()
2884 tcg_gen_gvec_2i(dofs, aofs, oprsz, maxsz, shift, &g[vece]); in tcg_gen_gvec_shli()
2916 void tcg_gen_gvec_shri(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_shri() argument
2947 tcg_gen_gvec_mov(vece, dofs, aofs, oprsz, maxsz); in tcg_gen_gvec_shri()
2949 tcg_gen_gvec_2i(dofs, aofs, oprsz, maxsz, shift, &g[vece]); in tcg_gen_gvec_shri()
3009 void tcg_gen_gvec_sari(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_sari() argument
3040 tcg_gen_gvec_mov(vece, dofs, aofs, oprsz, maxsz); in tcg_gen_gvec_sari()
3042 tcg_gen_gvec_2i(dofs, aofs, oprsz, maxsz, shift, &g[vece]); in tcg_gen_gvec_sari()
3068 void tcg_gen_gvec_rotli(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_rotli() argument
3099 tcg_gen_gvec_mov(vece, dofs, aofs, oprsz, maxsz); in tcg_gen_gvec_rotli()
3101 tcg_gen_gvec_2i(dofs, aofs, oprsz, maxsz, shift, &g[vece]); in tcg_gen_gvec_rotli()
3105 void tcg_gen_gvec_rotri(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_rotri() argument
3110 tcg_gen_gvec_rotli(vece, dofs, aofs, -shift & ((8 << vece) - 1), in tcg_gen_gvec_rotri()
3128 static void expand_2sh_vec(unsigned vece, uint32_t dofs, uint32_t aofs, in expand_2sh_vec() argument
3139 tcg_gen_st_vec(t1, tcg_env, dofs + i); in expand_2sh_vec()
3144 do_gvec_shifts(unsigned vece, uint32_t dofs, uint32_t aofs, TCGv_i32 shift, in do_gvec_shifts() argument
3150 check_size_align(oprsz, maxsz, dofs | aofs); in do_gvec_shifts()
3151 check_overlap_2(dofs, aofs, maxsz); in do_gvec_shifts()
3160 expand_2sh_vec(vece, dofs, aofs, some, 32, in do_gvec_shifts()
3165 dofs += some; in do_gvec_shifts()
3171 expand_2sh_vec(vece, dofs, aofs, oprsz, 16, in do_gvec_shifts()
3175 expand_2sh_vec(vece, dofs, aofs, oprsz, 8, in do_gvec_shifts()
3203 expand_2s_vec(vece, dofs, aofs, some, 32, TCG_TYPE_V256, in do_gvec_shifts()
3208 dofs += some; in do_gvec_shifts()
3214 expand_2s_vec(vece, dofs, aofs, oprsz, 16, TCG_TYPE_V128, in do_gvec_shifts()
3218 expand_2s_vec(vece, dofs, aofs, oprsz, 8, TCG_TYPE_V64, in do_gvec_shifts()
3231 expand_2s_i32(dofs, aofs, oprsz, shift, false, g->fni4); in do_gvec_shifts()
3235 expand_2s_i64(dofs, aofs, oprsz, sh64, false, g->fni8); in do_gvec_shifts()
3244 tcg_gen_addi_ptr(a0, tcg_env, dofs); in do_gvec_shifts()
3257 expand_clr(dofs + oprsz, maxsz - oprsz); in do_gvec_shifts()
3261 void tcg_gen_gvec_shls(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_shls() argument
3280 do_gvec_shifts(vece, dofs, aofs, shift, oprsz, maxsz, &g); in tcg_gen_gvec_shls()
3283 void tcg_gen_gvec_shrs(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_shrs() argument
3302 do_gvec_shifts(vece, dofs, aofs, shift, oprsz, maxsz, &g); in tcg_gen_gvec_shrs()
3305 void tcg_gen_gvec_sars(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_sars() argument
3324 do_gvec_shifts(vece, dofs, aofs, shift, oprsz, maxsz, &g); in tcg_gen_gvec_sars()
3327 void tcg_gen_gvec_rotls(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_rotls() argument
3346 do_gvec_shifts(vece, dofs, aofs, shift, oprsz, maxsz, &g); in tcg_gen_gvec_rotls()
3349 void tcg_gen_gvec_rotrs(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_rotrs() argument
3356 tcg_gen_gvec_rotls(vece, dofs, aofs, tmp, oprsz, maxsz); in tcg_gen_gvec_rotrs()
3399 void tcg_gen_gvec_shlv(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_shlv() argument
3426 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_shlv()
3462 void tcg_gen_gvec_shrv(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_shrv() argument
3489 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_shrv()
3525 void tcg_gen_gvec_sarv(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_sarv() argument
3552 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_sarv()
3588 void tcg_gen_gvec_rotlv(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_rotlv() argument
3615 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_rotlv()
3647 void tcg_gen_gvec_rotrv(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_rotrv() argument
3674 tcg_gen_gvec_3(dofs, aofs, bofs, oprsz, maxsz, &g[vece]); in tcg_gen_gvec_rotrv()
3678 static void expand_cmp_i32(uint32_t dofs, uint32_t aofs, uint32_t bofs, in expand_cmp_i32() argument
3689 tcg_gen_st_i32(t0, tcg_env, dofs + i); in expand_cmp_i32()
3695 static void expand_cmp_i64(uint32_t dofs, uint32_t aofs, uint32_t bofs, in expand_cmp_i64() argument
3706 tcg_gen_st_i64(t0, tcg_env, dofs + i); in expand_cmp_i64()
3712 static void expand_cmp_vec(unsigned vece, uint32_t dofs, uint32_t aofs, in expand_cmp_vec() argument
3724 tcg_gen_st_vec(t2, tcg_env, dofs + i); in expand_cmp_vec()
3728 void tcg_gen_gvec_cmp(TCGCond cond, unsigned vece, uint32_t dofs, in tcg_gen_gvec_cmp() argument
3770 check_size_align(oprsz, maxsz, dofs | aofs | bofs); in tcg_gen_gvec_cmp()
3771 check_overlap_3(dofs, aofs, bofs, maxsz); in tcg_gen_gvec_cmp()
3774 do_dup(MO_8, dofs, oprsz, maxsz, in tcg_gen_gvec_cmp()
3793 expand_cmp_vec(vece, dofs, aofs, bofs, some, 32, TCG_TYPE_V256, cond); in tcg_gen_gvec_cmp()
3797 dofs += some; in tcg_gen_gvec_cmp()
3804 expand_cmp_vec(vece, dofs, aofs, bofs, oprsz, 16, TCG_TYPE_V128, cond); in tcg_gen_gvec_cmp()
3807 expand_cmp_vec(vece, dofs, aofs, bofs, oprsz, 8, TCG_TYPE_V64, cond); in tcg_gen_gvec_cmp()
3812 expand_cmp_i64(dofs, aofs, bofs, oprsz, cond); in tcg_gen_gvec_cmp()
3814 expand_cmp_i32(dofs, aofs, bofs, oprsz, cond); in tcg_gen_gvec_cmp()
3825 tcg_gen_gvec_3_ool(dofs, aofs, bofs, oprsz, maxsz, 0, fn[vece]); in tcg_gen_gvec_cmp()
3836 expand_clr(dofs + oprsz, maxsz - oprsz); in tcg_gen_gvec_cmp()
3840 static void expand_cmps_vec(unsigned vece, uint32_t dofs, uint32_t aofs, in expand_cmps_vec() argument
3851 tcg_gen_st_vec(t0, tcg_env, dofs + i); in expand_cmps_vec()
3855 void tcg_gen_gvec_cmps(TCGCond cond, unsigned vece, uint32_t dofs, in tcg_gen_gvec_cmps() argument
3890 check_size_align(oprsz, maxsz, dofs | aofs); in tcg_gen_gvec_cmps()
3891 check_overlap_2(dofs, aofs, maxsz); in tcg_gen_gvec_cmps()
3894 do_dup(MO_8, dofs, oprsz, maxsz, in tcg_gen_gvec_cmps()
3914 expand_cmps_vec(vece, dofs, aofs, some, 32, in tcg_gen_gvec_cmps()
3917 dofs += some; in tcg_gen_gvec_cmps()
3924 expand_cmps_vec(vece, dofs, aofs, some, 16, in tcg_gen_gvec_cmps()
3930 expand_cmps_vec(vece, dofs, aofs, some, 8, in tcg_gen_gvec_cmps()
3946 tcg_gen_st_i64(t0, tcg_env, dofs + i); in tcg_gen_gvec_cmps()
3958 tcg_gen_st_i32(t0, tcg_env, dofs + i); in tcg_gen_gvec_cmps()
3972 tcg_gen_gvec_2i_ool(dofs, aofs, c, oprsz, maxsz, inv, fn[vece]); in tcg_gen_gvec_cmps()
3977 expand_clr(dofs + oprsz, maxsz - oprsz); in tcg_gen_gvec_cmps()
3981 void tcg_gen_gvec_cmpi(TCGCond cond, unsigned vece, uint32_t dofs, in tcg_gen_gvec_cmpi() argument
3986 tcg_gen_gvec_cmps(cond, vece, dofs, aofs, tmp, oprsz, maxsz); in tcg_gen_gvec_cmpi()
3999 void tcg_gen_gvec_bitsel(unsigned vece, uint32_t dofs, uint32_t aofs, in tcg_gen_gvec_bitsel() argument
4009 tcg_gen_gvec_4(dofs, aofs, bofs, cofs, oprsz, maxsz, &g); in tcg_gen_gvec_bitsel()