> diff --git a/gcc/config/riscv/thead.cc b/gcc/config/riscv/thead.cc
> index de23e410d4c..b78e2762cfa 100644
> --- a/gcc/config/riscv/thead.cc
> +++ b/gcc/config/riscv/thead.cc
> @@ -1059,12 +1059,17 @@ th_asm_output_opcode (FILE *asm_out_file, const char 
> *p)
>           get_attr_type (current_output_insn) == TYPE_VSSEGTE
>                                 ? fputs ("th.vsseg", asm_out_file)
>                                 : fputs ("th.vlseg", asm_out_file);
> -         asm_fprintf (asm_out_file, "%c", p[5]);
> -         fputs ("e", asm_out_file);
> -         if (strstr (p, "e8"))
> -           return p+8;
> -         else
> -           return p+9;
> +    if (strstr (p, "b") || strstr (p, "h") || strstr (p, "w"))
> +      return p+5;
> +    else
> +    {
> +      asm_fprintf (asm_out_file, "%c", p[5]);
> +      fputs ("e", asm_out_file);
> +      if (strstr (p, "e8"))
> +       return p+8;
> +      else
> +       return p+9;
> +    }

indentation seems wrong for this file.


>         }
>
>        if (get_attr_type (current_output_insn) == TYPE_VLSEGDS ||
> @@ -1073,36 +1078,51 @@ th_asm_output_opcode (FILE *asm_out_file, const char 
> *p)
>           get_attr_type (current_output_insn) == TYPE_VSSEGTS
>                                 ? fputs ("th.vssseg", asm_out_file)
>                                 : fputs ("th.vlsseg", asm_out_file);
> -         asm_fprintf (asm_out_file, "%c", p[6]);
> -         fputs ("e", asm_out_file);
> -         if (strstr (p, "e8"))
> -           return p+9;
> -         else
> -           return p+10;
> +    if (strstr (p, "b") || strstr (p, "h") || strstr (p, "w"))
> +      return p+6;
> +    else
> +    {
> +      asm_fprintf (asm_out_file, "%c", p[6]);
> +      fputs ("e", asm_out_file);
> +      if (strstr (p, "e8"))
> +       return p+9;
> +      else
> +       return p+10;
> +    }
>         }
>
>        if (get_attr_type (current_output_insn) == TYPE_VLSEGDUX ||
>           get_attr_type (current_output_insn) == TYPE_VLSEGDOX)
>         {
>           fputs ("th.vlxseg", asm_out_file);
> -         asm_fprintf (asm_out_file, "%c", p[7]);
> -         fputs ("e", asm_out_file);
> -         if (strstr (p, "ei8"))
> -           return p+11;
> -         else
> -           return p+12;
> +         if (strstr (p, "b") || strstr (p, "h") || strstr (p, "w"))
> +      return p+6;
> +    else
> +    {
> +      asm_fprintf (asm_out_file, "%c", p[7]);
> +      fputs ("e", asm_out_file);
> +      if (strstr (p, "ei8"))
> +       return p+11;
> +      else
> +       return p+12;
> +    }
>         }
>
>        if (get_attr_type (current_output_insn) == TYPE_VSSEGTUX ||
>           get_attr_type (current_output_insn) == TYPE_VSSEGTOX)
>         {
>           fputs ("th.vsxseg", asm_out_file);
> -         asm_fprintf (asm_out_file, "%c", p[7]);
> -         fputs ("e", asm_out_file);
> -         if (strstr (p, "ei8"))
> -           return p+11;
> -         else
> -           return p+12;
> +         if (strstr (p, "b") || strstr (p, "h") || strstr (p, "w"))
> +      return p+6;
> +    else
> +    {
> +      asm_fprintf (asm_out_file, "%c", p[7]);
> +      fputs ("e", asm_out_file);
> +      if (strstr (p, "ei8"))
> +       return p+11;
> +      else
> +       return p+12;
> +    }
>         }
>
>        if (get_attr_type (current_output_insn) == TYPE_VNSHIFT)

Reply via email to