[all-commits] [llvm/llvm-project] 7e897e: [AArch64][GlobalISel] Removed fallback for sqshlu ...
Joshua Rodriguez via All-commits
all-commits at lists.llvm.org
Fri Dec 5 02:53:34 PST 2025
Branch: refs/heads/users/JoshdRod/shift-fallbacks/02-rshift-fallbacks
Home: https://github.com/llvm/llvm-project
Commit: 7e897eac1eee87148b1f3529a42e4b927b556d44
https://github.com/llvm/llvm-project/commit/7e897eac1eee87148b1f3529a42e4b927b556d44
Author: Josh Rodriguez <josh.rodriguez at arm.com>
Date: 2025-12-04 (Thu, 04 Dec 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrGISel.td
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
Log Message:
-----------
[AArch64][GlobalISel] Removed fallback for sqshlu intrinsic
Added G_SQSHLU node, which lowers the llvm ir intrinsic aarch64_neon_sqshlu to the machine intrinsic sqshlu. Generated code is slightly less efficient compare to SDAG.
Commit: dbbf2b148dc8534e14d4f780e1e1382a3227d9ed
https://github.com/llvm/llvm-project/commit/dbbf2b148dc8534e14d4f780e1e1382a3227d9ed
Author: Josh Rodriguez <josh.rodriguez at arm.com>
Date: 2025-12-04 (Thu, 04 Dec 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
Log Message:
-----------
[AArch64][GlobalISel] Removed fallback from sqshrn intrinsic
In legalisation, the IR intrinsic is lowered to two GI instructions: a vector right shift (G_VASHR), and a truncate with saturation (G_TRUNC_SSAT_S). The result of the G_VASHR is the operand of the G_TRUNC_SSAT_S. Vectors that are treated as i64/i32 are dealt with in TableGen, so are not handled here.
Commit: 670e8b9c84a95f5224d420cac66ccf4c80e174d7
https://github.com/llvm/llvm-project/commit/670e8b9c84a95f5224d420cac66ccf4c80e174d7
Author: Josh Rodriguez <josh.rodriguez at arm.com>
Date: 2025-12-04 (Thu, 04 Dec 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
Log Message:
-----------
[AArch64][GlobalISel] Removed fallback from sqshrun intrinsic
In legalisation, the IR intrinsic is lowered to two GI instructions: a vector right shift (G_VASHR), and an unsigned truncate with saturation (G_TRUNC_SSAT_U). The result of the G_VASHR is the operand of the G_TRUNC_SSAT_U.
Commit: ba37ca1786d8e718e8d06ccaf7526e74bd01d03e
https://github.com/llvm/llvm-project/commit/ba37ca1786d8e718e8d06ccaf7526e74bd01d03e
Author: Josh Rodriguez <josh.rodriguez at arm.com>
Date: 2025-12-04 (Thu, 04 Dec 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrGISel.td
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
Log Message:
-----------
[AArch64][GlobalISel] Removed fallback for sqrshrn intrinsic
GISel now legalises sqrshrn into G_TRUNC_SSAT_S(G_SRSHR(vec, shift)).
Commit: ee2a1f02e8422ccb82008f5e3b6b6ede0fd945f6
https://github.com/llvm/llvm-project/commit/ee2a1f02e8422ccb82008f5e3b6b6ede0fd945f6
Author: Josh Rodriguez <josh.rodriguez at arm.com>
Date: 2025-12-04 (Thu, 04 Dec 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
Log Message:
-----------
[AArch64][GlobalISel] Removed fallback for sqrshrun intrinsic
GlobalISel now legalises sqrshrun to G_TRUNC_SSAT_U(G_SRSHR(vec, shift)).
Commit: ef9c6465f5b30d6114f8ca4fa2e71013262c5713
https://github.com/llvm/llvm-project/commit/ef9c6465f5b30d6114f8ca4fa2e71013262c5713
Author: Josh Rodriguez <josh.rodriguez at arm.com>
Date: 2025-12-04 (Thu, 04 Dec 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrGISel.td
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
Log Message:
-----------
[AArch64][GlobalISel] Removed fallback for uqrshrn intrinsic
GlobalISel now lowers uqrshrn to G_TRUNC_USATU(G_URSHR(vec, shift)).
Commit: 6a89b7b7c9f271a6faf1e19f73075f763ae3ba60
https://github.com/llvm/llvm-project/commit/6a89b7b7c9f271a6faf1e19f73075f763ae3ba60
Author: Josh Rodriguez <josh.rodriguez at arm.com>
Date: 2025-12-04 (Thu, 04 Dec 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64RegisterBankInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
Log Message:
-----------
[AArch64][GlobalISel] Removed fallback for uqshrn intrinsic
GlobalISel now lowers uqshrn to G_TRUNC_USATU(VLSHR(vec, shift)).
Commit: 566d54e3985186d1d2a769d0140e944182d1dd2f
https://github.com/llvm/llvm-project/commit/566d54e3985186d1d2a769d0140e944182d1dd2f
Author: Josh Rodriguez <josh.rodriguez at arm.com>
Date: 2025-12-04 (Thu, 04 Dec 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-int-neon.ll
M llvm/test/CodeGen/AArch64/arm64-vshift.ll
Log Message:
-----------
[AArch64][GlobalISel] Updated test checks
Compare: https://github.com/llvm/llvm-project/compare/7e897eac1eee%5E...566d54e39851
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list