1-To generate code compatible to streaming mode:
- enable custom lowering fp_to_int, int_to_fp, fp_round, fmul, trunc.
- disable fp_to_int combining into invalid NEON intrinsic.
2-Add testing files:
- fp_to_int.ll
- fp-convert.ll
- int_to_fp.ll
- trunc.ll
Paths
| Differential D138281
[AArch64][SME]: Generate streaming-compatible code for fp_to_int and int_to_fp, fp-convert, trunk. ClosedPublic Authored by hassnaa-arm on Nov 18 2022, 2:56 AM.
Details Summary 1-To generate code compatible to streaming mode:
2-Add testing files:
Diff Detail
Event TimelineComment Actions Hi @hassnaa-arm, the patch looks fine to me, but given you've added custom lowering for ISD::TRUNCATE should there are also be a sve-streaming-mode-fixed-length-trunc.ll in this patch to cover the truncates? There is already a sve-fixed-length-trunc.ll test I think. hassnaa-arm retitled this revision from [AArch64][SME]: Generate streaming-compatible code for fp_to_int and int_to_fp. to [AArch64][SME]: Generate streaming-compatible code for fp_to_int and int_to_fp, fp-convert, trunk..Nov 18 2022, 7:37 AM This revision is now accepted and ready to land.Nov 18 2022, 8:01 AM Comment Actions LGTM with nit addressed
hassnaa-arm marked an inline comment as done. Comment Actionsfix format
This revision was landed with ongoing or failed builds.Nov 21 2022, 10:13 AM Closed by commit rG70180ee0ae6e: [AArch64][SME]: Generate streaming-compatible code for fp_to_int and int_to_fp. (authored by Hassnaa Hamdi <hassnaa.hamdi@arm.com>). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 476940 llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-convert.ll
llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-trunc.ll
|
nit: These conditions can be combined into: