]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gas/config/tc-riscv.c
Add support for the Q extension to the RISCV ISA.
[thirdparty/binutils-gdb.git] / gas / config / tc-riscv.c
index 7f3b6cf2befe318914464de433b6789a0e3a83fb..1f617303493185ffc63b86ea86984d153cc3b44b 100644 (file)
@@ -197,6 +197,12 @@ riscv_set_arch (const char *s)
          all_subsets++;
          p++;
        }
+      else if (*p == 'q')
+       {
+         const char subset[] = {*p, 0};
+         riscv_add_subset (subset);
+         p++;
+       }
       else
        as_fatal ("-march=%s: unsupported ISA subset `%c'", s, *p);
     }
@@ -1817,8 +1823,12 @@ riscv_after_parse_args (void)
       float_abi = FLOAT_ABI_SOFT;
 
       for (subset = riscv_subsets; subset != NULL; subset = subset->next)
-       if (strcasecmp (subset->name, "D") == 0)
-         float_abi = FLOAT_ABI_DOUBLE;
+       {
+         if (strcasecmp (subset->name, "D") == 0)
+           float_abi = FLOAT_ABI_DOUBLE;
+         if (strcasecmp (subset->name, "Q") == 0)
+           float_abi = FLOAT_ABI_QUAD;
+       }
     }
 
   /* Insert float_abi into the EF_RISCV_FLOAT_ABI field of elf_flags.  */