[llvm-branch-commits] [llvm] [ConstantTime] Native ct.select support for ARM32 and Thumb (PR #166707)

Thomas Bizet via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Sep 23 02:11:54 PDT 2026


================
@@ -580,11 +580,13 @@ void ARMPassConfig::addPreSched2() {
 void ARMPassConfig::addPreEmitPass() {
   addPass(createThumb2SizeReductionPass());
 
-  // Always unpack bundles for:
+  // Unpack bundles for:
   // - Thumb2: Constant island pass requires unbundled instructions
   // - KCFI: KCFI_CHECK pseudo instructions need to be unbundled for AsmPrinter
-  // - CT_SELECT: Post-RA expansion creates bundles that must be unpacked
-  addPass(createUnpackMachineBundlesLegacy(nullptr));
----------------
tbizetst wrote:

With that change, BUNDLE pseudo-instructions are no longer unpacked on Thumb-1 . The generated code for CT_SELECT is then incomplete.
It looks like an inadvertent revert of the changes introduced by "[LLVM][ARM] Add native ct.select support for ARM32 and Thumb." Re-enabling the pass unconditionally fixes the issue.

https://github.com/llvm/llvm-project/pull/166707


More information about the llvm-branch-commits mailing list