This is an archive of the discontinued LLVM Phabricator instance.

[mips] Test that IAS for -mcpu=mips5 does not accept MIPS64 insns and -mcpu=mips(5|64) does not accept MIPS64r2
ClosedPublic

Authored by dsanders on May 9 2014, 6:20 AM.

Details

Summary

To limit the number of tests required, only one 64-bit ISA prior to MIPS64 are tested.

rdhwr has been deliberately left without an ISA annotation for now. This is
because the assembler and CodeGen disagree on when the instruction is
available. Strictly speaking, it is only available in MIPS32r2 and
MIPS64r2. However, it is emulated by a kernel trap on earlier ISA's and is
necessary for TLS so CodeGen should emit it on older ISA's too.

Depends on D3697

Diff Detail

Event Timeline

dsanders updated this revision to Diff 9254.May 9 2014, 6:20 AM
dsanders retitled this revision from to [mips] Test that IAS for -mcpu=mips5 does not accept MIPS64 insns and -mcpu=mips(5|64) does not accept MIPS64r2.
dsanders updated this object.
dsanders edited the test plan for this revision. (Show Details)
dsanders added a reviewer: vmedic.
vmedic accepted this revision.May 14 2014, 7:24 AM
vmedic edited edge metadata.

The patch looks good to me, except when I run the test/MC/Mips/mips5/invalid-mips64.s with -mips5 option I don't have error reported for mul instruction.

This revision is now accepted and ready to land.May 14 2014, 7:24 AM

The patch looks good to me, except when I run the test/MC/Mips/mips5/invalid-mips64.s with -mips5 option I don't have error reported for mul instruction.

I believe you mean that GAS accepts the mul instruction that the test expects to fail. This is because GAS can fall back on a two instruction macro that works on MIPS-I. This macro is not implemented in LLVM yet. Once it is implemented we will need a way to disable macros for these tests.

dsanders closed this revision.May 14 2014, 8:42 AM