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);
}
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. */