[PATCH] D59872: [X86MacroFusion] Handle branch fusion (AMD CPUs).

Clement Courbet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 27 10:50:03 PDT 2019


courbet added inline comments.


================
Comment at: llvm/lib/Target/X86/X86.td:347-357
 // Sandy Bridge and newer processors have many instructions that can be
 // fused with conditional branches and pass through the CPU as a single
 // operation.
 def FeatureMacroFusion
     : SubtargetFeature<"macrofusion", "HasMacroFusion", "true",
                  "Various instructions can be fused with conditional branches">;
 
----------------
lebedev.ri wrote:
> I think it would be better to swap these around?
> `FeatureMacroFusion` is a superset of `FeatureBranchFusion`.
> (maybe even inherit `FeatureBranchFusion` by `FeatureMacroFusion`, not sure it is possible here.)
I'd rather not inherit because they are actually different (e.g. w.r.t. CMP). Also they have different subtle limitations that are not currently modeled (see Agner), but we might want to model in the future.



Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D59872/new/

https://reviews.llvm.org/D59872





More information about the llvm-commits mailing list