Lines Matching refs:a

15  * You should have received a copy of the GNU General Public License along with
31 static bool trans_fli_s(DisasContext *ctx, arg_fli_s *a)
37 /* Values below are NaN-boxed to avoid a gen_nanbox_s(). */
73 TCGv_i64 dest = dest_fpr(ctx, a->rd);
74 tcg_gen_movi_i64(dest, fli_s_table[a->rs1]);
75 gen_set_fpr_hs(ctx, a->rd, dest);
81 static bool trans_fli_d(DisasContext *ctx, arg_fli_d *a)
122 TCGv_i64 dest = dest_fpr(ctx, a->rd);
123 tcg_gen_movi_i64(dest, fli_d_table[a->rs1]);
124 gen_set_fpr_d(ctx, a->rd, dest);
130 static bool trans_fli_h(DisasContext *ctx, arg_fli_h *a)
136 /* Values below are NaN-boxed to avoid a gen_nanbox_h(). */
172 TCGv_i64 dest = dest_fpr(ctx, a->rd);
173 tcg_gen_movi_i64(dest, fli_h_table[a->rs1]);
174 gen_set_fpr_hs(ctx, a->rd, dest);
180 static bool trans_fminm_s(DisasContext *ctx, arg_fminm_s *a)
186 TCGv_i64 dest = dest_fpr(ctx, a->rd);
187 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
188 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
191 gen_set_fpr_hs(ctx, a->rd, dest);
197 static bool trans_fmaxm_s(DisasContext *ctx, arg_fmaxm_s *a)
203 TCGv_i64 dest = dest_fpr(ctx, a->rd);
204 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
205 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
208 gen_set_fpr_hs(ctx, a->rd, dest);
214 static bool trans_fminm_d(DisasContext *ctx, arg_fminm_d *a)
220 TCGv_i64 dest = dest_fpr(ctx, a->rd);
221 TCGv_i64 src1 = get_fpr_d(ctx, a->rs1);
222 TCGv_i64 src2 = get_fpr_d(ctx, a->rs2);
225 gen_set_fpr_d(ctx, a->rd, dest);
231 static bool trans_fmaxm_d(DisasContext *ctx, arg_fmaxm_d *a)
237 TCGv_i64 dest = dest_fpr(ctx, a->rd);
238 TCGv_i64 src1 = get_fpr_d(ctx, a->rs1);
239 TCGv_i64 src2 = get_fpr_d(ctx, a->rs2);
242 gen_set_fpr_d(ctx, a->rd, dest);
248 static bool trans_fminm_h(DisasContext *ctx, arg_fminm_h *a)
254 TCGv_i64 dest = dest_fpr(ctx, a->rd);
255 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
256 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
259 gen_set_fpr_hs(ctx, a->rd, dest);
265 static bool trans_fmaxm_h(DisasContext *ctx, arg_fmaxm_h *a)
271 TCGv_i64 dest = dest_fpr(ctx, a->rd);
272 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
273 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
276 gen_set_fpr_hs(ctx, a->rd, dest);
282 static bool trans_fround_s(DisasContext *ctx, arg_fround_s *a)
288 TCGv_i64 dest = dest_fpr(ctx, a->rd);
289 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
291 gen_set_rm(ctx, a->rm);
293 gen_set_fpr_hs(ctx, a->rd, dest);
299 static bool trans_froundnx_s(DisasContext *ctx, arg_froundnx_s *a)
305 TCGv_i64 dest = dest_fpr(ctx, a->rd);
306 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
308 gen_set_rm(ctx, a->rm);
310 gen_set_fpr_hs(ctx, a->rd, dest);
316 static bool trans_fround_d(DisasContext *ctx, arg_fround_d *a)
322 TCGv_i64 dest = dest_fpr(ctx, a->rd);
323 TCGv_i64 src1 = get_fpr_d(ctx, a->rs1);
325 gen_set_rm(ctx, a->rm);
327 gen_set_fpr_hs(ctx, a->rd, dest);
333 static bool trans_froundnx_d(DisasContext *ctx, arg_froundnx_d *a)
339 TCGv_i64 dest = dest_fpr(ctx, a->rd);
340 TCGv_i64 src1 = get_fpr_d(ctx, a->rs1);
342 gen_set_rm(ctx, a->rm);
344 gen_set_fpr_hs(ctx, a->rd, dest);
350 static bool trans_fround_h(DisasContext *ctx, arg_fround_h *a)
356 TCGv_i64 dest = dest_fpr(ctx, a->rd);
357 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
359 gen_set_rm(ctx, a->rm);
361 gen_set_fpr_hs(ctx, a->rd, dest);
367 static bool trans_froundnx_h(DisasContext *ctx, arg_froundnx_h *a)
373 TCGv_i64 dest = dest_fpr(ctx, a->rd);
374 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
376 gen_set_rm(ctx, a->rm);
378 gen_set_fpr_hs(ctx, a->rd, dest);
384 bool trans_fcvtmod_w_d(DisasContext *ctx, arg_fcvtmod_w_d *a)
390 TCGv dst = dest_gpr(ctx, a->rd);
391 TCGv_i64 src1 = get_fpr_d(ctx, a->rs1);
398 gen_set_gpr(ctx, a->rd, dst);
403 bool trans_fmvh_x_d(DisasContext *ctx, arg_fmvh_x_d *a)
410 TCGv dst = dest_gpr(ctx, a->rd);
412 tcg_gen_sari_i64(t1, cpu_fpr[a->rs1], 32);
414 gen_set_gpr(ctx, a->rd, dst);
418 bool trans_fmvp_d_x(DisasContext *ctx, arg_fmvp_d_x *a)
425 TCGv src1 = get_gpr(ctx, a->rs1, EXT_NONE);
426 TCGv src2 = get_gpr(ctx, a->rs2, EXT_NONE);
427 tcg_gen_concat_tl_i64(cpu_fpr[a->rd], src1, src2);
433 bool trans_fleq_s(DisasContext *ctx, arg_fleq_s *a)
439 TCGv dest = dest_gpr(ctx, a->rd);
440 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
441 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
444 gen_set_gpr(ctx, a->rd, dest);
448 bool trans_fltq_s(DisasContext *ctx, arg_fltq_s *a)
454 TCGv dest = dest_gpr(ctx, a->rd);
455 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
456 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
459 gen_set_gpr(ctx, a->rd, dest);
463 bool trans_fleq_d(DisasContext *ctx, arg_fleq_d *a)
469 TCGv dest = dest_gpr(ctx, a->rd);
470 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
471 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
474 gen_set_gpr(ctx, a->rd, dest);
478 bool trans_fltq_d(DisasContext *ctx, arg_fltq_d *a)
484 TCGv dest = dest_gpr(ctx, a->rd);
485 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
486 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
489 gen_set_gpr(ctx, a->rd, dest);
493 bool trans_fleq_h(DisasContext *ctx, arg_fleq_h *a)
499 TCGv dest = dest_gpr(ctx, a->rd);
500 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
501 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
504 gen_set_gpr(ctx, a->rd, dest);
508 bool trans_fltq_h(DisasContext *ctx, arg_fltq_h *a)
514 TCGv dest = dest_gpr(ctx, a->rd);
515 TCGv_i64 src1 = get_fpr_hs(ctx, a->rs1);
516 TCGv_i64 src2 = get_fpr_hs(ctx, a->rs2);
519 gen_set_gpr(ctx, a->rd, dest);