This is an archive of the discontinued LLVM Phabricator instance.

[mips][microMIPS] Implement ABS.fmt, CEIL.L.fmt, CEIL.W.fmt, FLOOR.L.fmt, FLOOR.W.fmt, TRUNC.L.fmt, TRUNC.W.fmt, RSQRT.fmt and SQRT.fmt instructions
ClosedPublic

Authored by hvarga on Jul 31 2015, 12:27 AM.

Details

Summary

The patch implements microMIPS32r6 and microMIPS64r6 ABS.fmt, CEIL.L.fmt, CEIL.W.fmt, FLOOR.L.fmt, FLOOR.W.fmt, TRUNC.L.fmt, TRUNC.W.fmt, RSQRT.fmt and SQRT.fmt FPU instructions.

Diff Detail

Repository
rL LLVM

Event Timeline

hvarga updated this revision to Diff 31109.Jul 31 2015, 12:27 AM
hvarga retitled this revision from to [mips][microMIPS] Implement ABS.fmt, CEIL.L.fmt, CEIL.W.fmt, FLOOR.L.fmt, FLOOR.W.fmt, TRUNC.L.fmt, TRUNC.W.fmt, RSQRT.fmt and SQRT.fmt instructions.
hvarga updated this object.
hvarga added subscribers: petarj, llvm-commits.
dsanders requested changes to this revision.Aug 11 2015, 6:34 AM
dsanders edited edge metadata.
dsanders added inline comments.
lib/Target/Mips/MicroMips32r6InstrFormats.td
290–319 ↗(On Diff #31109)

As with the other patches, these need to follow the naming convention:

POOL32F_<misc>_FM
lib/Target/Mips/MicroMips32r6InstrInfo.td
71–89 ↗(On Diff #31109)

The double precision instructions should have a '_D' in the same way as the single precision ones have '_S'

Also, there's some inconsistency in where the '_S' appears in these. Most have it before the 'MMR6' but a couple have it after.

90 ↗(On Diff #31109)

Nit: Extra line of whitespace

301–302 ↗(On Diff #31109)

Nit: space after comma and space either side of equals

430 ↗(On Diff #31109)

Nit: Indentation. Likewise below

lib/Target/Mips/MipsInstrFPU.td
272 ↗(On Diff #31109)

I think you mean 'NotMicroMips32r6'. They are present in Mips32r6.

294 ↗(On Diff #31109)

I think you mean 'NotMicroMips32r6'

352 ↗(On Diff #31109)

I think you mean 'NotMicroMips32r6'

test/MC/Disassembler/Mips/micromips32r6.txt
150 ↗(On Diff #31109)

Blank line at EOF

This revision now requires changes to proceed.Aug 11 2015, 6:34 AM
hvarga updated this revision to Diff 33674.Sep 1 2015, 4:23 AM
hvarga edited edge metadata.

Updated according to the comments from dsanders.

dsanders accepted this revision.Sep 2 2015, 5:11 AM
dsanders edited edge metadata.

LGTM

This revision is now accepted and ready to land.Sep 2 2015, 5:11 AM
This revision was automatically updated to reflect the committed changes.