Lines Matching refs:a

17  * You should have received a copy of the GNU General Public License along with
42 static bool trans_flw(DisasContext *ctx, arg_flw *a)
56 addr = get_address(ctx, a->rs1, a->imm);
57 dest = cpu_fpr[a->rd];
65 static bool trans_fsw(DisasContext *ctx, arg_fsw *a)
78 addr = get_address(ctx, a->rs1, a->imm);
79 tcg_gen_qemu_st_i64(cpu_fpr[a->rs2], addr, ctx->mem_idx, memop);
83 static bool trans_c_flw(DisasContext *ctx, arg_flw *a)
86 return trans_flw(ctx, a);
89 static bool trans_c_fsw(DisasContext *ctx, arg_fsw *a)
92 return trans_fsw(ctx, a);
95 static bool trans_fmadd_s(DisasContext *ctx, arg_fmadd_s *a)
100 TCGv_i64 dest = dest_fpr(ctx, a->rd);
101 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
102 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
103 TCGv_i64 src3 = get_fpr_hs(ctx, a->rs3);
105 gen_set_rm(ctx, a->rm);
107 gen_set_fpr_hs(ctx, a->rd, dest);
112 static bool trans_fmsub_s(DisasContext *ctx, arg_fmsub_s *a)
117 TCGv_i64 dest = dest_fpr(ctx, a->rd);
118 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
119 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
120 TCGv_i64 src3 = get_fpr_hs(ctx, a->rs3);
122 gen_set_rm(ctx, a->rm);
124 gen_set_fpr_hs(ctx, a->rd, dest);
129 static bool trans_fnmsub_s(DisasContext *ctx, arg_fnmsub_s *a)
134 TCGv_i64 dest = dest_fpr(ctx, a->rd);
135 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
136 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
137 TCGv_i64 src3 = get_fpr_hs(ctx, a->rs3);
139 gen_set_rm(ctx, a->rm);
141 gen_set_fpr_hs(ctx, a->rd, dest);
146 static bool trans_fnmadd_s(DisasContext *ctx, arg_fnmadd_s *a)
151 TCGv_i64 dest = dest_fpr(ctx, a->rd);
152 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
153 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
154 TCGv_i64 src3 = get_fpr_hs(ctx, a->rs3);
156 gen_set_rm(ctx, a->rm);
158 gen_set_fpr_hs(ctx, a->rd, dest);
163 static bool trans_fadd_s(DisasContext *ctx, arg_fadd_s *a)
168 TCGv_i64 dest = dest_fpr(ctx, a->rd);
169 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
170 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
172 gen_set_rm(ctx, a->rm);
174 gen_set_fpr_hs(ctx, a->rd, dest);
179 static bool trans_fsub_s(DisasContext *ctx, arg_fsub_s *a)
184 TCGv_i64 dest = dest_fpr(ctx, a->rd);
185 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
186 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
188 gen_set_rm(ctx, a->rm);
190 gen_set_fpr_hs(ctx, a->rd, dest);
195 static bool trans_fmul_s(DisasContext *ctx, arg_fmul_s *a)
200 TCGv_i64 dest = dest_fpr(ctx, a->rd);
201 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
202 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
204 gen_set_rm(ctx, a->rm);
206 gen_set_fpr_hs(ctx, a->rd, dest);
211 static bool trans_fdiv_s(DisasContext *ctx, arg_fdiv_s *a)
216 TCGv_i64 dest = dest_fpr(ctx, a->rd);
217 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
218 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
220 gen_set_rm(ctx, a->rm);
222 gen_set_fpr_hs(ctx, a->rd, dest);
227 static bool trans_fsqrt_s(DisasContext *ctx, arg_fsqrt_s *a)
232 TCGv_i64 dest = dest_fpr(ctx, a->rd);
233 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
235 gen_set_rm(ctx, a->rm);
237 gen_set_fpr_hs(ctx, a->rd, dest);
242 static bool trans_fsgnj_s(DisasContext *ctx, arg_fsgnj_s *a)
247 TCGv_i64 dest = dest_fpr(ctx, a->rd);
248 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
250 if (a->rs1 == a->rs2) { /* FMOV */
257 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
272 gen_set_fpr_hs(ctx, a->rd, dest);
277 static bool trans_fsgnjn_s(DisasContext *ctx, arg_fsgnjn_s *a)
284 TCGv_i64 dest = dest_fpr(ctx, a->rd);
285 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
293 if (a->rs1 == a->rs2) { /* FNEG */
296 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
317 gen_set_fpr_hs(ctx, a->rd, dest);
322 static bool trans_fsgnjx_s(DisasContext *ctx, arg_fsgnjx_s *a)
329 TCGv_i64 dest = dest_fpr(ctx, a->rd);
330 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
339 if (a->rs1 == a->rs2) { /* FABS */
342 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
362 gen_set_fpr_hs(ctx, a->rd, dest);
367 static bool trans_fmin_s(DisasContext *ctx, arg_fmin_s *a)
372 TCGv_i64 dest = dest_fpr(ctx, a->rd);
373 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
374 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
377 gen_set_fpr_hs(ctx, a->rd, dest);
382 static bool trans_fmax_s(DisasContext *ctx, arg_fmax_s *a)
387 TCGv_i64 dest = dest_fpr(ctx, a->rd);
388 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
389 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
392 gen_set_fpr_hs(ctx, a->rd, dest);
397 static bool trans_fcvt_w_s(DisasContext *ctx, arg_fcvt_w_s *a)
402 TCGv dest = dest_gpr(ctx, a->rd);
403 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
405 gen_set_rm(ctx, a->rm);
407 gen_set_gpr(ctx, a->rd, dest);
411 static bool trans_fcvt_wu_s(DisasContext *ctx, arg_fcvt_wu_s *a)
416 TCGv dest = dest_gpr(ctx, a->rd);
417 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
419 gen_set_rm(ctx, a->rm);
421 gen_set_gpr(ctx, a->rd, dest);
425 static bool trans_fmv_x_w(DisasContext *ctx, arg_fmv_x_w *a)
431 TCGv dest = dest_gpr(ctx, a->rd);
432 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
439 gen_set_gpr(ctx, a->rd, dest);
443 static bool trans_feq_s(DisasContext *ctx, arg_feq_s *a)
448 TCGv dest = dest_gpr(ctx, a->rd);
449 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
450 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
453 gen_set_gpr(ctx, a->rd, dest);
457 static bool trans_flt_s(DisasContext *ctx, arg_flt_s *a)
462 TCGv dest = dest_gpr(ctx, a->rd);
463 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
464 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
467 gen_set_gpr(ctx, a->rd, dest);
471 static bool trans_fle_s(DisasContext *ctx, arg_fle_s *a)
476 TCGv dest = dest_gpr(ctx, a->rd);
477 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
478 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
481 gen_set_gpr(ctx, a->rd, dest);
485 static bool trans_fclass_s(DisasContext *ctx, arg_fclass_s *a)
490 TCGv dest = dest_gpr(ctx, a->rd);
491 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
494 gen_set_gpr(ctx, a->rd, dest);
498 static bool trans_fcvt_s_w(DisasContext *ctx, arg_fcvt_s_w *a)
503 TCGv_i64 dest = dest_fpr(ctx, a->rd);
504 TCGv src = get_gpr(ctx, a->rs1, EXT_SIGN);
506 gen_set_rm(ctx, a->rm);
508 gen_set_fpr_hs(ctx, a->rd, dest);
513 static bool trans_fcvt_s_wu(DisasContext *ctx, arg_fcvt_s_wu *a)
518 TCGv_i64 dest = dest_fpr(ctx, a->rd);
519 TCGv src = get_gpr(ctx, a->rs1, EXT_ZERO);
521 gen_set_rm(ctx, a->rm);
523 gen_set_fpr_hs(ctx, a->rd, dest);
528 static bool trans_fmv_w_x(DisasContext *ctx, arg_fmv_w_x *a)
534 TCGv_i64 dest = dest_fpr(ctx, a->rd);
535 TCGv src = get_gpr(ctx, a->rs1, EXT_ZERO);
539 gen_set_fpr_hs(ctx, a->rd, dest);
544 static bool trans_fcvt_l_s(DisasContext *ctx, arg_fcvt_l_s *a)
550 TCGv dest = dest_gpr(ctx, a->rd);
551 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
553 gen_set_rm(ctx, a->rm);
555 gen_set_gpr(ctx, a->rd, dest);
559 static bool trans_fcvt_lu_s(DisasContext *ctx, arg_fcvt_lu_s *a)
565 TCGv dest = dest_gpr(ctx, a->rd);
566 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
568 gen_set_rm(ctx, a->rm);
570 gen_set_gpr(ctx, a->rd, dest);
574 static bool trans_fcvt_s_l(DisasContext *ctx, arg_fcvt_s_l *a)
580 TCGv_i64 dest = dest_fpr(ctx, a->rd);
581 TCGv src = get_gpr(ctx, a->rs1, EXT_SIGN);
583 gen_set_rm(ctx, a->rm);
585 gen_set_fpr_hs(ctx, a->rd, dest);
590 static bool trans_fcvt_s_lu(DisasContext *ctx, arg_fcvt_s_lu *a)
596 TCGv_i64 dest = dest_fpr(ctx, a->rd);
597 TCGv src = get_gpr(ctx, a->rs1, EXT_ZERO);
599 gen_set_rm(ctx, a->rm);
601 gen_set_fpr_hs(ctx, a->rd, dest);