[PATCH] D38537: [mips] Implement .set dspr2 directive
Simon Dardis via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 5 05:44:51 PDT 2017
sdardis added inline comments.
================
Comment at: test/MC/Mips/set-nodsp.s:1
-# RUN: not llvm-mc %s -mcpu=mips32 -mattr=+dsp -triple mips-unknown-linux 2>%t1
+# RUN: not llvm-mc %s -mcpu=mips32 -mattr=+dsp -mattr=+dspr2 -triple mips-unknown-linux 2>%t1
# RUN: FileCheck %s < %t1
----------------
petarj wrote:
> -mattr=+dsp seems redundant in presence of -mattr=+dspr2
>
> Furthermore, DSP extension requires Rev2 at least, so the test should probable have -mcpu=mips32r2
>
> GCC has a warning like:
>
> "//Warning: the `dsp' extension requires MIPS32 revision 2 or greater'//"
>
> It seems that LLVM does not do that. Maybe it should?
> -mattr=+dsp seems redundant in presence of -mattr=+dspr2
Well spotted, though the test would have to be altered to test for the differences between dsp / dspr2.
> GCC has a warning like:
> "Warning: the `dsp' extension requires MIPS32 revision 2 or greater'"
> It seems that LLVM does not do that. Maybe it should?
I believe we should. I think we should be stricter but binutils already accepts code that combination of options so we should at least be as compatible / informative.
Some quick testing shows that gas 2.24 only warns on the first instance of a particular error in the test cases I've tried for mixing directives to change the ISA revision.
I'm leaning towards giving warnings where an ASE is enabled that requires a higher ISA revision by an assembler directive at every occurrence, along with a warning for incoherent command-line options, though that may be a bit verbose. Thoughts?
Adding warnings for incompatible ASE/ISA revisions should be submitted as a separate patch.
https://reviews.llvm.org/D38537
More information about the llvm-commits
mailing list