[PATCH] D19985: [Kryo] Use immediate #0 to zero a register

Chad Rosier via llvm-commits llvm-commits at lists.llvm.org
Fri May 6 07:42:11 PDT 2016


mcrosier added a comment.

@t.p.northover: Much like Cyclone, Kryo prefers the move immediate zero idiom for zeroing registers.  Unfortunately, when we tried to reuse the ZeroCycleZeroing target feature we found regressions in some of our FP workloads.  The issue is described in PR27454.  Do you see a way we could have a unified approach for Cyclone and Kryo that avoids the issue in PR27454?


================
Comment at: lib/Target/AArch64/AArch64InstrInfo.cpp:1932
@@ -1932,1 +1931,3 @@
+    } else if (SrcReg == AArch64::WZR && (Subtarget.hasZeroCycleZeroing() ||
+                                          Subtarget.useImmZeroing())) {
       BuildMI(MBB, I, DL, get(AArch64::MOVZWi), DestReg).addImm(0).addImm(
----------------
If I'm not mistaken, Matt suggested this be Subtarget.isKryo(), rather than adding a new target feature.


Repository:
  rL LLVM

http://reviews.llvm.org/D19985





More information about the llvm-commits mailing list