This is an archive of the discontinued LLVM Phabricator instance.

[mips] Do not use SLL for ANY_EXTEND nodes as the high bits are undefined.
ClosedPublic

Authored by vkalintiris on Dec 10 2015, 7:35 AM.

Diff Detail

Event Timeline

vkalintiris retitled this revision from to [mips] Do not use SLL for ANY_EXTEND nodes as the high bits are undefined..
vkalintiris updated this object.
vkalintiris added a reviewer: dsanders.
vkalintiris added a subscriber: llvm-commits.
dsanders accepted this revision.Jan 29 2016, 6:43 AM
dsanders edited edge metadata.

LGTM with the unused CHECKs and the assumption that the result of the fadd is $f0 fixed

test/CodeGen/Mips/fcopysign-f32-f64.ll
11

This isn't checked anymore. 'CHECK' is only the default prefix when no prefixes are given.

34

Likewise

36–45

It's not for this patch but this output doesn't seem very efficient. For example, it could clear the top bit with a dsll+dsrl saving two instructions

42

This $f0 isn't guaranteed to be $f0.

This revision is now accepted and ready to land.Jan 29 2016, 6:43 AM
This revision was automatically updated to reflect the committed changes.