This is an archive of the discontinued LLVM Phabricator instance.

[LoongArch] Support llvm.is.fpclass for f32 and f64
ClosedPublic

Authored by SixWeining on Aug 30 2023, 2:58 AM.

Details

Summary

is_fpclass (fj, mask)
->
sltu (r0, and (movfr2gr.[sd] (fclass.[sd] fj), (to_fclass_mask mask)))

[1]: https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html#_fclass_sd

Diff Detail

Unit TestsFailed

Event Timeline

SixWeining created this revision.Aug 30 2023, 2:58 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 30 2023, 2:58 AM
Herald added a subscriber: hiraditya. · View Herald Transcript
SixWeining requested review of this revision.Aug 30 2023, 2:58 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 30 2023, 2:58 AM
SixWeining edited the summary of this revision. (Show Details)

Sorry. The encoding (bits[6:9]) does not match llvm.is.fpclass's second argument. I must be dizzy. Now it is revised.

This revision is now accepted and ready to land.Sep 12 2023, 1:05 AM
This revision was landed with ongoing or failed builds.Sep 14 2023, 12:44 AM
This revision was automatically updated to reflect the committed changes.
nikic added a subscriber: nikic.Sep 15 2023, 12:31 AM

This broke the expensive checks build.

This broke the expensive checks build.

Thanks. Just fixed in 0a692b6b9632e1460f9e0e983196f2be5879acd1