This is an archive of the discontinued LLVM Phabricator instance.

Mark tests that need intel 80-bit floats as x86-only
ClosedPublic

Authored by saugustine on Aug 2 2017, 4:00 PM.

Details

Summary

These tests assume intel-80 bit floats, as noted in their comments. Rather than having each target discover the incompatibility and disable them ad-hoc, mark them as requiring x86.

Diff Detail

Event Timeline

saugustine created this revision.Aug 2 2017, 4:00 PM
weimingz edited edge metadata.Aug 2 2017, 11:46 PM

I tried to address it via checking pre-defined macros:
https://reviews.llvm.org/D31573

As long as the macros are defined correctly by clang, we don't need to worry about the specific target machine. How do you think about it?

I tried to address it via checking pre-defined macros:
https://reviews.llvm.org/D31573

As long as the macros are defined correctly by clang, we don't need to worry about the specific target machine. How do you think about it?

I like the idea of a feature check, rather than a specific architecture check--that is clearly the right thing to do.

On the other hand, I would like to mark the test as unsupported and not run in that case, rather than running it, saying it passed, but not actually testing anything. That better reflects the state of the implementation. Unfortunately, I don't think that can be done with macro checks. So my preference would be this patch over D31573, but I would also find D31573 acceptable if it came to that.

Finally, 80-bit doubles are a bit of a historical artifact these days. Only x86 and m68k have them (and not even all m68Ks either). So I don't think it matters that much.

I tried to address it via checking pre-defined macros:
https://reviews.llvm.org/D31573

As long as the macros are defined correctly by clang, we don't need to worry about the specific target machine. How do you think about it?

I like the idea of a feature check, rather than a specific architecture check--that is clearly the right thing to do.

On the other hand, I would like to mark the test as unsupported and not run in that case, rather than running it, saying it passed, but not actually testing anything. That better reflects the state of the implementation. Unfortunately, I don't think that can be done with macro checks. So my preference would be this patch over D31573, but I would also find D31573 acceptable if it came to that.

Finally, 80-bit doubles are a bit of a historical artifact these days. Only x86 and m68k have them (and not even all m68Ks either). So I don't think it matters that much.

I agree that showing the tests pass on architectures that doesn't actually test it is not meaningful.
This patch LGTM.

echristo accepted this revision.Aug 3 2017, 11:54 AM

I'm ok with this.

This revision is now accepted and ready to land.Aug 3 2017, 11:54 AM

Landed as r309973

saugustine closed this revision.Aug 3 2017, 11:58 AM