[PATCH] D37250: [X86] Apply SlowIncDec feature to Sandybridge/Ivybridge CPUs as well

Chandler Carruth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 29 13:26:24 PDT 2017


chandlerc added a comment.

In https://reviews.llvm.org/D37250#855671, @craig.topper wrote:

> There is definitely a false dependency issue that can be triggered by "shift CL" because variables shifts are defined to not update any flags if CL is 0, but the shift value isn't know until it executes so the shift is dependent on the old flags including CF


That sounds bad regardless of inc/dec though -- should it just be handled by a flag-clearing instruction to break the dependency? (Either something like `xorl %eax, %eax` or `orl %eax, %eax` depending on whether there is a dead register...)


https://reviews.llvm.org/D37250





More information about the llvm-commits mailing list