RISC-V: Improve vector_insn_info::dump for LMUL and policy
Convert vlmul and policy to human readable string, some example below: Before: [VALID,Demand field={1(VL),0(DEMAND_NONZERO_AVL),1(SEW),0(DEMAND_GE_SEW),1(LMUL),0(RATIO),0(TAIL_POLICY),0(MASK_POLICY)} AVL=(reg:DI 0 zero) SEW=16,VLMUL=3,RATIO=2,TAIL_POLICY=1,MASK_POLICY=1] ^ ^ ^ After: [VALID,Demand field={1(VL),0(DEMAND_NONZERO_AVL),1(SEW),0(DEMAND_GE_SEW),1(LMUL),0(RATIO),0(TAIL_POLICY),0(MASK_POLICY)} AVL=(reg:DI 0 zero) SEW=16,VLMUL=m8,RATIO=2,TAIL_POLICY=agnostic,MASK_POLICY=agnostic] ^^ ^^^^^^^^ ^^^^^^^^ gcc/ChangeLog: * config/riscv/riscv-vsetvl.cc (vlmul_to_str): New. (policy_to_str): New. (vector_insn_info::dump): Use vlmul_to_str and policy_to_str.
This commit is contained in:
parent
99488a6048
commit
ea7a9f361e
1 changed files with 36 additions and 3 deletions
|
@ -2241,6 +2241,39 @@ vector_insn_info::update_fault_first_load_avl (insn_info *insn)
|
|||
return false;
|
||||
}
|
||||
|
||||
static const char *
|
||||
vlmul_to_str (vlmul_type vlmul)
|
||||
{
|
||||
switch (vlmul)
|
||||
{
|
||||
case LMUL_1:
|
||||
return "m1";
|
||||
case LMUL_2:
|
||||
return "m2";
|
||||
case LMUL_4:
|
||||
return "m4";
|
||||
case LMUL_8:
|
||||
return "m8";
|
||||
case LMUL_RESERVED:
|
||||
return "INVALID LMUL";
|
||||
case LMUL_F8:
|
||||
return "mf8";
|
||||
case LMUL_F4:
|
||||
return "mf4";
|
||||
case LMUL_F2:
|
||||
return "mf2";
|
||||
|
||||
default:
|
||||
gcc_unreachable ();
|
||||
}
|
||||
}
|
||||
|
||||
static const char *
|
||||
policy_to_str (bool agnostic_p)
|
||||
{
|
||||
return agnostic_p ? "agnostic" : "undisturbed";
|
||||
}
|
||||
|
||||
void
|
||||
vector_insn_info::dump (FILE *file) const
|
||||
{
|
||||
|
@ -2272,10 +2305,10 @@ vector_insn_info::dump (FILE *file) const
|
|||
fprintf (file, "AVL=");
|
||||
print_rtl_single (file, get_avl ());
|
||||
fprintf (file, "SEW=%d,", get_sew ());
|
||||
fprintf (file, "VLMUL=%d,", get_vlmul ());
|
||||
fprintf (file, "VLMUL=%s,", vlmul_to_str (get_vlmul ()));
|
||||
fprintf (file, "RATIO=%d,", get_ratio ());
|
||||
fprintf (file, "TAIL_POLICY=%d,", get_ta ());
|
||||
fprintf (file, "MASK_POLICY=%d", get_ma ());
|
||||
fprintf (file, "TAIL_POLICY=%s,", policy_to_str (get_ta ()));
|
||||
fprintf (file, "MASK_POLICY=%s", policy_to_str (get_ma ()));
|
||||
fprintf (file, "]\n");
|
||||
|
||||
if (valid_p ())
|
||||
|
|
Loading…
Add table
Reference in a new issue