This is an archive of the discontinued LLVM Phabricator instance.

[mips] Account for endianess when expanding BuildPairF64/ExtractElementF64 nodes.
ClosedPublic

Authored by vkalintiris on Oct 13 2014, 7:13 AM.

Details

Summary

In order to support big endian targets for the BuildPairF64 nodes we
just need to swap the low/high pair registers. Additionally, for the
ExtractElementF64 nodes we have to calculate the correct stack offset
with respect to the node's register/operand that we want to extract.

Diff Detail

Repository
rL LLVM

Event Timeline

vkalintiris retitled this revision from to [mips] Account for endianess when expanding BuildPairF64/ExtractElementF64 nodes..
vkalintiris updated this object.
vkalintiris edited the test plan for this revision. (Show Details)
vkalintiris added a reviewer: dsanders.
vkalintiris added a subscriber: Unknown Object (MLST).

Please, note that with these changes, the prefixes 32R2-FP64A-BE & 32R2-FP64A-LE in the file test/CodeGen/Mips/fp64a.ll
expect the same output. If the changes are fine, I will merge them under a new single check prefix in another review request.

dsanders accepted this revision.Oct 14 2014, 7:34 AM
dsanders edited edge metadata.

LGTM with 32R2-FP64A-LE and 32R2-FP64A-BE merged together.

test/CodeGen/Mips/fp64a.ll
41–49 ↗(On Diff #14800)

Please merge 32R2-FP64A-LE and 32R2-FP64A-BE together now that they are the same.

This revision is now accepted and ready to land.Oct 14 2014, 7:34 AM
vkalintiris edited edge metadata.

Merged the 32R2-FP64A-LE and 32R2-FP64A-BE check prefixes under a new common
prefix called 32R2-FP64A.

Send correct update that includes the original review's changes.

Merged the 32R2-FP64A-LE and 32R2-FP64A-BE check prefixes under a new common
prefix called 32R2-FP64A.

vkalintiris closed this revision.Oct 16 2014, 8:52 AM
vkalintiris updated this revision to Diff 15021.

Closed by commit rL219931 (authored by @vkalintiris).