Lines Matching full:env
39 G_NORETURN void hexagon_raise_exception_err(CPUHexagonState *env, in hexagon_raise_exception_err() argument
43 CPUState *cs = env_cpu(env); in hexagon_raise_exception_err()
49 G_NORETURN void HELPER(raise_exception)(CPUHexagonState *env, uint32_t excp) in HELPER()
51 hexagon_raise_exception_err(env, excp, 0); in HELPER()
54 void log_store32(CPUHexagonState *env, target_ulong addr, in log_store32() argument
57 env->mem_log_stores[slot].va = addr; in log_store32()
58 env->mem_log_stores[slot].width = width; in log_store32()
59 env->mem_log_stores[slot].data32 = val; in log_store32()
62 void log_store64(CPUHexagonState *env, target_ulong addr, in log_store64() argument
65 env->mem_log_stores[slot].va = addr; in log_store64()
66 env->mem_log_stores[slot].width = width; in log_store64()
67 env->mem_log_stores[slot].data64 = val; in log_store64()
70 static void commit_store(CPUHexagonState *env, int slot_num, uintptr_t ra) in commit_store() argument
72 uint8_t width = env->mem_log_stores[slot_num].width; in commit_store()
73 target_ulong va = env->mem_log_stores[slot_num].va; in commit_store()
77 cpu_stb_data_ra(env, va, env->mem_log_stores[slot_num].data32, ra); in commit_store()
80 cpu_stw_data_ra(env, va, env->mem_log_stores[slot_num].data32, ra); in commit_store()
83 cpu_stl_data_ra(env, va, env->mem_log_stores[slot_num].data32, ra); in commit_store()
86 cpu_stq_data_ra(env, va, env->mem_log_stores[slot_num].data64, ra); in commit_store()
93 void HELPER(commit_store)(CPUHexagonState *env, int slot_num) in HELPER()
96 commit_store(env, slot_num, ra); in HELPER()
99 void HELPER(gather_store)(CPUHexagonState *env, uint32_t addr, int slot) in HELPER()
101 mem_gather_store(env, addr, slot); in HELPER()
104 void HELPER(commit_hvx_stores)(CPUHexagonState *env) in HELPER()
110 if (env->vstore_pending[i]) { in HELPER()
111 env->vstore_pending[i] = 0; in HELPER()
112 target_ulong va = env->vstore[i].va; in HELPER()
113 int size = env->vstore[i].size; in HELPER()
115 if (test_bit(j, env->vstore[i].mask)) { in HELPER()
116 cpu_stb_data_ra(env, va + j, env->vstore[i].data.ub[j], ra); in HELPER()
123 if (env->vtcm_pending) { in HELPER()
124 env->vtcm_pending = false; in HELPER()
125 if (env->vtcm_log.op) { in HELPER()
127 if (env->vtcm_log.op_size == 2) { in HELPER()
129 } else if (env->vtcm_log.op_size == 4) { in HELPER()
137 if (test_bit(i, env->vtcm_log.mask)) { in HELPER()
138 cpu_stb_data_ra(env, env->vtcm_log.va[i], in HELPER()
139 env->vtcm_log.data.ub[i], ra); in HELPER()
140 clear_bit(i, env->vtcm_log.mask); in HELPER()
141 env->vtcm_log.data.ub[i] = 0; in HELPER()
203 uint64_t HELPER(sfrecipa)(CPUHexagonState *env, float32 RsV, float32 RtV) in HELPER()
212 arch_fpop_start(env); in HELPER()
213 if (arch_sf_recip_common(&RsV, &RtV, &RdV, &adjust, &env->fp_status)) { in HELPER()
220 arch_fpop_end(env); in HELPER()
224 uint64_t HELPER(sfinvsqrta)(CPUHexagonState *env, float32 RsV) in HELPER()
233 arch_fpop_start(env); in HELPER()
234 if (arch_sf_invsqrt_common(&RsV, &RdV, &adjust, &env->fp_status)) { in HELPER()
241 arch_fpop_end(env); in HELPER()
245 int64_t HELPER(vacsh_val)(CPUHexagonState *env, in HELPER()
263 int32_t HELPER(vacsh_pred)(CPUHexagonState *env, in HELPER()
360 static void probe_store(CPUHexagonState *env, int slot, int mmu_idx, in probe_store() argument
363 if (!is_predicated || !(env->slot_cancelled & (1 << slot))) { in probe_store()
364 size1u_t width = env->mem_log_stores[slot].width; in probe_store()
365 target_ulong va = env->mem_log_stores[slot].va; in probe_store()
366 probe_write(env, va, width, mmu_idx, retaddr); in probe_store()
374 void HELPER(probe_noshuf_load)(CPUHexagonState *env, target_ulong va, in HELPER()
378 probe_read(env, va, size, mmu_idx, retaddr); in HELPER()
382 void HELPER(probe_pkt_scalar_store_s0)(CPUHexagonState *env, int args) in HELPER()
388 probe_store(env, 0, mmu_idx, is_predicated, ra); in HELPER()
391 static void probe_hvx_stores(CPUHexagonState *env, int mmu_idx, in probe_hvx_stores() argument
396 if (env->vstore_pending[i]) { in probe_hvx_stores()
397 target_ulong va = env->vstore[i].va; in probe_hvx_stores()
398 int size = env->vstore[i].size; in probe_hvx_stores()
400 if (test_bit(j, env->vstore[i].mask)) { in probe_hvx_stores()
401 probe_write(env, va + j, 1, mmu_idx, retaddr); in probe_hvx_stores()
408 if (env->vtcm_pending) { in probe_hvx_stores()
409 if (env->vtcm_log.op) { in probe_hvx_stores()
411 if (env->vtcm_log.op_size == 2) { in probe_hvx_stores()
413 } else if (env->vtcm_log.op_size == 4) { in probe_hvx_stores()
421 if (test_bit(i, env->vtcm_log.mask)) { in probe_hvx_stores()
422 probe_write(env, env->vtcm_log.va[i], 1, mmu_idx, retaddr); in probe_hvx_stores()
430 void HELPER(probe_hvx_stores)(CPUHexagonState *env, int mmu_idx) in HELPER()
433 probe_hvx_stores(env, mmu_idx, retaddr); in HELPER()
436 void HELPER(probe_pkt_scalar_hvx_stores)(CPUHexagonState *env, int mask) in HELPER()
448 probe_store(env, 0, mmu_idx, s0_is_pred, ra); in HELPER()
451 probe_store(env, 1, mmu_idx, s1_is_pred, ra); in HELPER()
454 probe_hvx_stores(env, mmu_idx, ra); in HELPER()
466 static void check_noshuf(CPUHexagonState *env, bool pkt_has_store_s1, in check_noshuf() argument
471 ((env->slot_cancelled & (1 << 1)) == 0)) { in check_noshuf()
472 probe_read(env, vaddr, size, MMU_USER_IDX, ra); in check_noshuf()
473 commit_store(env, 1, ra); in check_noshuf()
479 float64 HELPER(conv_sf2df)(CPUHexagonState *env, float32 RsV) in HELPER()
482 arch_fpop_start(env); in HELPER()
483 out_f64 = float32_to_float64(RsV, &env->fp_status); in HELPER()
484 arch_fpop_end(env); in HELPER()
488 float32 HELPER(conv_df2sf)(CPUHexagonState *env, float64 RssV) in HELPER()
491 arch_fpop_start(env); in HELPER()
492 out_f32 = float64_to_float32(RssV, &env->fp_status); in HELPER()
493 arch_fpop_end(env); in HELPER()
497 float32 HELPER(conv_uw2sf)(CPUHexagonState *env, int32_t RsV) in HELPER()
500 arch_fpop_start(env); in HELPER()
501 RdV = uint32_to_float32(RsV, &env->fp_status); in HELPER()
502 arch_fpop_end(env); in HELPER()
506 float64 HELPER(conv_uw2df)(CPUHexagonState *env, int32_t RsV) in HELPER()
509 arch_fpop_start(env); in HELPER()
510 RddV = uint32_to_float64(RsV, &env->fp_status); in HELPER()
511 arch_fpop_end(env); in HELPER()
515 float32 HELPER(conv_w2sf)(CPUHexagonState *env, int32_t RsV) in HELPER()
518 arch_fpop_start(env); in HELPER()
519 RdV = int32_to_float32(RsV, &env->fp_status); in HELPER()
520 arch_fpop_end(env); in HELPER()
524 float64 HELPER(conv_w2df)(CPUHexagonState *env, int32_t RsV) in HELPER()
527 arch_fpop_start(env); in HELPER()
528 RddV = int32_to_float64(RsV, &env->fp_status); in HELPER()
529 arch_fpop_end(env); in HELPER()
533 float32 HELPER(conv_ud2sf)(CPUHexagonState *env, int64_t RssV) in HELPER()
536 arch_fpop_start(env); in HELPER()
537 RdV = uint64_to_float32(RssV, &env->fp_status); in HELPER()
538 arch_fpop_end(env); in HELPER()
542 float64 HELPER(conv_ud2df)(CPUHexagonState *env, int64_t RssV) in HELPER()
545 arch_fpop_start(env); in HELPER()
546 RddV = uint64_to_float64(RssV, &env->fp_status); in HELPER()
547 arch_fpop_end(env); in HELPER()
551 float32 HELPER(conv_d2sf)(CPUHexagonState *env, int64_t RssV) in HELPER()
554 arch_fpop_start(env); in HELPER()
555 RdV = int64_to_float32(RssV, &env->fp_status); in HELPER()
556 arch_fpop_end(env); in HELPER()
560 float64 HELPER(conv_d2df)(CPUHexagonState *env, int64_t RssV) in HELPER()
563 arch_fpop_start(env); in HELPER()
564 RddV = int64_to_float64(RssV, &env->fp_status); in HELPER()
565 arch_fpop_end(env); in HELPER()
569 uint32_t HELPER(conv_sf2uw)(CPUHexagonState *env, float32 RsV) in HELPER()
572 arch_fpop_start(env); in HELPER()
575 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
578 RdV = float32_to_uint32(RsV, &env->fp_status); in HELPER()
580 arch_fpop_end(env); in HELPER()
584 int32_t HELPER(conv_sf2w)(CPUHexagonState *env, float32 RsV) in HELPER()
587 arch_fpop_start(env); in HELPER()
590 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
593 RdV = float32_to_int32(RsV, &env->fp_status); in HELPER()
595 arch_fpop_end(env); in HELPER()
599 uint64_t HELPER(conv_sf2ud)(CPUHexagonState *env, float32 RsV) in HELPER()
602 arch_fpop_start(env); in HELPER()
605 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
608 RddV = float32_to_uint64(RsV, &env->fp_status); in HELPER()
610 arch_fpop_end(env); in HELPER()
614 int64_t HELPER(conv_sf2d)(CPUHexagonState *env, float32 RsV) in HELPER()
617 arch_fpop_start(env); in HELPER()
620 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
623 RddV = float32_to_int64(RsV, &env->fp_status); in HELPER()
625 arch_fpop_end(env); in HELPER()
629 uint32_t HELPER(conv_df2uw)(CPUHexagonState *env, float64 RssV) in HELPER()
632 arch_fpop_start(env); in HELPER()
635 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
638 RdV = float64_to_uint32(RssV, &env->fp_status); in HELPER()
640 arch_fpop_end(env); in HELPER()
644 int32_t HELPER(conv_df2w)(CPUHexagonState *env, float64 RssV) in HELPER()
647 arch_fpop_start(env); in HELPER()
650 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
653 RdV = float64_to_int32(RssV, &env->fp_status); in HELPER()
655 arch_fpop_end(env); in HELPER()
659 uint64_t HELPER(conv_df2ud)(CPUHexagonState *env, float64 RssV) in HELPER()
662 arch_fpop_start(env); in HELPER()
665 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
668 RddV = float64_to_uint64(RssV, &env->fp_status); in HELPER()
670 arch_fpop_end(env); in HELPER()
674 int64_t HELPER(conv_df2d)(CPUHexagonState *env, float64 RssV) in HELPER()
677 arch_fpop_start(env); in HELPER()
680 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
683 RddV = float64_to_int64(RssV, &env->fp_status); in HELPER()
685 arch_fpop_end(env); in HELPER()
689 uint32_t HELPER(conv_sf2uw_chop)(CPUHexagonState *env, float32 RsV) in HELPER()
692 arch_fpop_start(env); in HELPER()
695 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
698 RdV = float32_to_uint32_round_to_zero(RsV, &env->fp_status); in HELPER()
700 arch_fpop_end(env); in HELPER()
704 int32_t HELPER(conv_sf2w_chop)(CPUHexagonState *env, float32 RsV) in HELPER()
707 arch_fpop_start(env); in HELPER()
710 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
713 RdV = float32_to_int32_round_to_zero(RsV, &env->fp_status); in HELPER()
715 arch_fpop_end(env); in HELPER()
719 uint64_t HELPER(conv_sf2ud_chop)(CPUHexagonState *env, float32 RsV) in HELPER()
722 arch_fpop_start(env); in HELPER()
725 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
728 RddV = float32_to_uint64_round_to_zero(RsV, &env->fp_status); in HELPER()
730 arch_fpop_end(env); in HELPER()
734 int64_t HELPER(conv_sf2d_chop)(CPUHexagonState *env, float32 RsV) in HELPER()
737 arch_fpop_start(env); in HELPER()
740 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
743 RddV = float32_to_int64_round_to_zero(RsV, &env->fp_status); in HELPER()
745 arch_fpop_end(env); in HELPER()
749 uint32_t HELPER(conv_df2uw_chop)(CPUHexagonState *env, float64 RssV) in HELPER()
752 arch_fpop_start(env); in HELPER()
755 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
758 RdV = float64_to_uint32_round_to_zero(RssV, &env->fp_status); in HELPER()
760 arch_fpop_end(env); in HELPER()
764 int32_t HELPER(conv_df2w_chop)(CPUHexagonState *env, float64 RssV) in HELPER()
767 arch_fpop_start(env); in HELPER()
770 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
773 RdV = float64_to_int32_round_to_zero(RssV, &env->fp_status); in HELPER()
775 arch_fpop_end(env); in HELPER()
779 uint64_t HELPER(conv_df2ud_chop)(CPUHexagonState *env, float64 RssV) in HELPER()
782 arch_fpop_start(env); in HELPER()
785 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
788 RddV = float64_to_uint64_round_to_zero(RssV, &env->fp_status); in HELPER()
790 arch_fpop_end(env); in HELPER()
794 int64_t HELPER(conv_df2d_chop)(CPUHexagonState *env, float64 RssV) in HELPER()
797 arch_fpop_start(env); in HELPER()
800 float_raise(float_flag_invalid, &env->fp_status); in HELPER()
803 RddV = float64_to_int64_round_to_zero(RssV, &env->fp_status); in HELPER()
805 arch_fpop_end(env); in HELPER()
809 float32 HELPER(sfadd)(CPUHexagonState *env, float32 RsV, float32 RtV) in HELPER()
812 arch_fpop_start(env); in HELPER()
813 RdV = float32_add(RsV, RtV, &env->fp_status); in HELPER()
814 arch_fpop_end(env); in HELPER()
818 float32 HELPER(sfsub)(CPUHexagonState *env, float32 RsV, float32 RtV) in HELPER()
821 arch_fpop_start(env); in HELPER()
822 RdV = float32_sub(RsV, RtV, &env->fp_status); in HELPER()
823 arch_fpop_end(env); in HELPER()
827 int32_t HELPER(sfcmpeq)(CPUHexagonState *env, float32 RsV, float32 RtV) in HELPER()
830 arch_fpop_start(env); in HELPER()
831 PdV = f8BITSOF(float32_eq_quiet(RsV, RtV, &env->fp_status)); in HELPER()
832 arch_fpop_end(env); in HELPER()
836 int32_t HELPER(sfcmpgt)(CPUHexagonState *env, float32 RsV, float32 RtV) in HELPER()
840 arch_fpop_start(env); in HELPER()
841 cmp = float32_compare_quiet(RsV, RtV, &env->fp_status); in HELPER()
843 arch_fpop_end(env); in HELPER()
847 int32_t HELPER(sfcmpge)(CPUHexagonState *env, float32 RsV, float32 RtV) in HELPER()
851 arch_fpop_start(env); in HELPER()
852 cmp = float32_compare_quiet(RsV, RtV, &env->fp_status); in HELPER()
855 arch_fpop_end(env); in HELPER()
859 int32_t HELPER(sfcmpuo)(CPUHexagonState *env, float32 RsV, float32 RtV) in HELPER()
862 arch_fpop_start(env); in HELPER()
863 PdV = f8BITSOF(float32_unordered_quiet(RsV, RtV, &env->fp_status)); in HELPER()
864 arch_fpop_end(env); in HELPER()
868 float32 HELPER(sfmax)(CPUHexagonState *env, float32 RsV, float32 RtV) in HELPER()
871 arch_fpop_start(env); in HELPER()
872 RdV = float32_maximum_number(RsV, RtV, &env->fp_status); in HELPER()
873 arch_fpop_end(env); in HELPER()
877 float32 HELPER(sfmin)(CPUHexagonState *env, float32 RsV, float32 RtV) in HELPER()
880 arch_fpop_start(env); in HELPER()
881 RdV = float32_minimum_number(RsV, RtV, &env->fp_status); in HELPER()
882 arch_fpop_end(env); in HELPER()
886 int32_t HELPER(sfclass)(CPUHexagonState *env, float32 RsV, int32_t uiV) in HELPER()
889 arch_fpop_start(env); in HELPER()
905 set_float_exception_flags(0, &env->fp_status); in HELPER()
906 arch_fpop_end(env); in HELPER()
910 float32 HELPER(sffixupn)(CPUHexagonState *env, float32 RsV, float32 RtV) in HELPER()
914 arch_fpop_start(env); in HELPER()
915 arch_sf_recip_common(&RsV, &RtV, &RdV, &adjust, &env->fp_status); in HELPER()
917 arch_fpop_end(env); in HELPER()
921 float32 HELPER(sffixupd)(CPUHexagonState *env, float32 RsV, float32 RtV) in HELPER()
925 arch_fpop_start(env); in HELPER()
926 arch_sf_recip_common(&RsV, &RtV, &RdV, &adjust, &env->fp_status); in HELPER()
928 arch_fpop_end(env); in HELPER()
932 float32 HELPER(sffixupr)(CPUHexagonState *env, float32 RsV) in HELPER()
936 arch_fpop_start(env); in HELPER()
937 arch_sf_invsqrt_common(&RsV, &RdV, &adjust, &env->fp_status); in HELPER()
939 arch_fpop_end(env); in HELPER()
943 float64 HELPER(dfadd)(CPUHexagonState *env, float64 RssV, float64 RttV) in HELPER()
946 arch_fpop_start(env); in HELPER()
947 RddV = float64_add(RssV, RttV, &env->fp_status); in HELPER()
948 arch_fpop_end(env); in HELPER()
952 float64 HELPER(dfsub)(CPUHexagonState *env, float64 RssV, float64 RttV) in HELPER()
955 arch_fpop_start(env); in HELPER()
956 RddV = float64_sub(RssV, RttV, &env->fp_status); in HELPER()
957 arch_fpop_end(env); in HELPER()
961 float64 HELPER(dfmax)(CPUHexagonState *env, float64 RssV, float64 RttV) in HELPER()
964 arch_fpop_start(env); in HELPER()
965 RddV = float64_maximum_number(RssV, RttV, &env->fp_status); in HELPER()
966 arch_fpop_end(env); in HELPER()
970 float64 HELPER(dfmin)(CPUHexagonState *env, float64 RssV, float64 RttV) in HELPER()
973 arch_fpop_start(env); in HELPER()
974 RddV = float64_minimum_number(RssV, RttV, &env->fp_status); in HELPER()
975 arch_fpop_end(env); in HELPER()
979 int32_t HELPER(dfcmpeq)(CPUHexagonState *env, float64 RssV, float64 RttV) in HELPER()
982 arch_fpop_start(env); in HELPER()
983 PdV = f8BITSOF(float64_eq_quiet(RssV, RttV, &env->fp_status)); in HELPER()
984 arch_fpop_end(env); in HELPER()
988 int32_t HELPER(dfcmpgt)(CPUHexagonState *env, float64 RssV, float64 RttV) in HELPER()
992 arch_fpop_start(env); in HELPER()
993 cmp = float64_compare_quiet(RssV, RttV, &env->fp_status); in HELPER()
995 arch_fpop_end(env); in HELPER()
999 int32_t HELPER(dfcmpge)(CPUHexagonState *env, float64 RssV, float64 RttV) in HELPER()
1003 arch_fpop_start(env); in HELPER()
1004 cmp = float64_compare_quiet(RssV, RttV, &env->fp_status); in HELPER()
1007 arch_fpop_end(env); in HELPER()
1011 int32_t HELPER(dfcmpuo)(CPUHexagonState *env, float64 RssV, float64 RttV) in HELPER()
1014 arch_fpop_start(env); in HELPER()
1015 PdV = f8BITSOF(float64_unordered_quiet(RssV, RttV, &env->fp_status)); in HELPER()
1016 arch_fpop_end(env); in HELPER()
1020 int32_t HELPER(dfclass)(CPUHexagonState *env, float64 RssV, int32_t uiV) in HELPER()
1023 arch_fpop_start(env); in HELPER()
1039 set_float_exception_flags(0, &env->fp_status); in HELPER()
1040 arch_fpop_end(env); in HELPER()
1044 float32 HELPER(sfmpy)(CPUHexagonState *env, float32 RsV, float32 RtV) in HELPER()
1047 arch_fpop_start(env); in HELPER()
1048 RdV = float32_mul(RsV, RtV, &env->fp_status); in HELPER()
1049 arch_fpop_end(env); in HELPER()
1053 float32 HELPER(sffma)(CPUHexagonState *env, float32 RxV, in HELPER()
1056 arch_fpop_start(env); in HELPER()
1057 RxV = float32_muladd(RsV, RtV, RxV, 0, &env->fp_status); in HELPER()
1058 arch_fpop_end(env); in HELPER()
1062 float32 HELPER(sffma_sc)(CPUHexagonState *env, float32 RxV, in HELPER()
1065 arch_fpop_start(env); in HELPER()
1068 &env->fp_status); in HELPER()
1069 arch_fpop_end(env); in HELPER()
1073 float32 HELPER(sffms)(CPUHexagonState *env, float32 RxV, in HELPER()
1076 arch_fpop_start(env); in HELPER()
1078 &env->fp_status); in HELPER()
1079 arch_fpop_end(env); in HELPER()
1083 static float32 do_sffma_lib(CPUHexagonState *env, float32 RxV, in do_sffma_lib() argument
1088 arch_fpop_start(env); in do_sffma_lib()
1090 set_float_rounding_mode(float_round_nearest_even_max, &env->fp_status); in do_sffma_lib()
1093 &env->fp_status); in do_sffma_lib()
1095 flags = get_float_exception_flags(&env->fp_status); in do_sffma_lib()
1098 set_float_exception_flags(0, &env->fp_status); in do_sffma_lib()
1106 arch_fpop_end(env); in do_sffma_lib()
1110 float32 HELPER(sffma_lib)(CPUHexagonState *env, float32 RxV, in HELPER()
1113 return do_sffma_lib(env, RxV, RsV, RtV, 0); in HELPER()
1116 float32 HELPER(sffms_lib)(CPUHexagonState *env, float32 RxV, in HELPER()
1119 return do_sffma_lib(env, RxV, RsV, RtV, float_muladd_negate_product); in HELPER()
1122 float64 HELPER(dfmpyfix)(CPUHexagonState *env, float64 RssV, float64 RttV) in HELPER()
1125 arch_fpop_start(env); in HELPER()
1130 &env->fp_status); in HELPER()
1135 &env->fp_status); in HELPER()
1139 arch_fpop_end(env); in HELPER()
1143 float64 HELPER(dfmpyhh)(CPUHexagonState *env, float64 RxxV, in HELPER()
1146 arch_fpop_start(env); in HELPER()
1147 RxxV = internal_mpyhh(RssV, RttV, RxxV, &env->fp_status); in HELPER()
1148 arch_fpop_end(env); in HELPER()
1154 void HELPER(vhist)(CPUHexagonState *env) in HELPER()
1156 MMVector *input = &env->tmp_VRegs[0]; in HELPER()
1164 env->VRegs[regno].uh[(sizeof(MMVector) / 16) * lane + element]++; in HELPER()
1169 void HELPER(vhistq)(CPUHexagonState *env) in HELPER()
1171 MMVector *input = &env->tmp_VRegs[0]; in HELPER()
1179 if (fGETQBIT(env->qtmp, sizeof(MMVector) / 8 * lane + i)) { in HELPER()
1180 env->VRegs[regno].uh[ in HELPER()
1187 void HELPER(vwhist256)(CPUHexagonState *env) in HELPER()
1189 MMVector *input = &env->tmp_VRegs[0]; in HELPER()
1197 env->VRegs[vindex].uh[elindex] = in HELPER()
1198 env->VRegs[vindex].uh[elindex] + weight; in HELPER()
1202 void HELPER(vwhist256q)(CPUHexagonState *env) in HELPER()
1204 MMVector *input = &env->tmp_VRegs[0]; in HELPER()
1212 if (fGETQBIT(env->qtmp, 2 * i)) { in HELPER()
1213 env->VRegs[vindex].uh[elindex] = in HELPER()
1214 env->VRegs[vindex].uh[elindex] + weight; in HELPER()
1219 void HELPER(vwhist256_sat)(CPUHexagonState *env) in HELPER()
1221 MMVector *input = &env->tmp_VRegs[0]; in HELPER()
1229 env->VRegs[vindex].uh[elindex] = in HELPER()
1230 fVSATUH(env->VRegs[vindex].uh[elindex] + weight); in HELPER()
1234 void HELPER(vwhist256q_sat)(CPUHexagonState *env) in HELPER()
1236 MMVector *input = &env->tmp_VRegs[0]; in HELPER()
1244 if (fGETQBIT(env->qtmp, 2 * i)) { in HELPER()
1245 env->VRegs[vindex].uh[elindex] = in HELPER()
1246 fVSATUH(env->VRegs[vindex].uh[elindex] + weight); in HELPER()
1251 void HELPER(vwhist128)(CPUHexagonState *env) in HELPER()
1253 MMVector *input = &env->tmp_VRegs[0]; in HELPER()
1261 env->VRegs[vindex].uw[elindex] = in HELPER()
1262 env->VRegs[vindex].uw[elindex] + weight; in HELPER()
1266 void HELPER(vwhist128q)(CPUHexagonState *env) in HELPER()
1268 MMVector *input = &env->tmp_VRegs[0]; in HELPER()
1276 if (fGETQBIT(env->qtmp, 2 * i)) { in HELPER()
1277 env->VRegs[vindex].uw[elindex] = in HELPER()
1278 env->VRegs[vindex].uw[elindex] + weight; in HELPER()
1283 void HELPER(vwhist128m)(CPUHexagonState *env, int32_t uiV) in HELPER()
1285 MMVector *input = &env->tmp_VRegs[0]; in HELPER()
1294 env->VRegs[vindex].uw[elindex] = in HELPER()
1295 env->VRegs[vindex].uw[elindex] + weight; in HELPER()
1300 void HELPER(vwhist128qm)(CPUHexagonState *env, int32_t uiV) in HELPER()
1302 MMVector *input = &env->tmp_VRegs[0]; in HELPER()
1310 if (((bucket & 1) == uiV) && fGETQBIT(env->qtmp, 2 * i)) { in HELPER()
1311 env->VRegs[vindex].uw[elindex] = in HELPER()
1312 env->VRegs[vindex].uw[elindex] + weight; in HELPER()