[PATCH] D28918: [AArch64] Rename 'no-quad-ldst-pairs' to 'slow-pair-128'
Evandro Menezes via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 19 13:55:51 PST 2017
evandro created this revision.
Herald added a subscriber: aemerson.
In order to follow the pattern of the existing `slow-misaligned-128store` option, rename the option `no-quad-ldst-pairs` to `slow-pair-128`.
Also, OK to backport to 4.0?
Repository:
rL LLVM
https://reviews.llvm.org/D28918
Files:
lib/Target/AArch64/AArch64.td
lib/Target/AArch64/AArch64InstrInfo.cpp
lib/Target/AArch64/AArch64Subtarget.h
test/CodeGen/AArch64/no-quad-ldp-stp.ll
Index: test/CodeGen/AArch64/no-quad-ldp-stp.ll
===================================================================
--- test/CodeGen/AArch64/no-quad-ldp-stp.ll
+++ test/CodeGen/AArch64/no-quad-ldp-stp.ll
@@ -1,4 +1,4 @@
-; RUN: llc < %s -mtriple=aarch64-eabi -mattr=+no-quad-ldst-pairs -verify-machineinstrs -asm-verbose=false | FileCheck %s
+; RUN: llc < %s -mtriple=aarch64-eabi -mattr=+slow-pair-128 -verify-machineinstrs -asm-verbose=false | FileCheck %s
; RUN: llc < %s -mtriple=aarch64-eabi -mcpu=exynos-m1 -verify-machineinstrs -asm-verbose=false | FileCheck %s
; CHECK-LABEL: test_nopair_st
Index: lib/Target/AArch64/AArch64Subtarget.h
===================================================================
--- lib/Target/AArch64/AArch64Subtarget.h
+++ lib/Target/AArch64/AArch64Subtarget.h
@@ -80,7 +80,7 @@
bool CustomAsCheapAsMove = false;
bool UsePostRAScheduler = false;
bool Misaligned128StoreIsSlow = false;
- bool AvoidQuadLdStPairs = false;
+ bool Pair128IsSlow = false;
bool UseAlternateSExtLoadCVTF32Pattern = false;
bool HasArithmeticBccFusion = false;
bool HasArithmeticCbzFusion = false;
@@ -191,7 +191,7 @@
}
bool hasCustomCheapAsMoveHandling() const { return CustomAsCheapAsMove; }
bool isMisaligned128StoreSlow() const { return Misaligned128StoreIsSlow; }
- bool avoidQuadLdStPairs() const { return AvoidQuadLdStPairs; }
+ bool isPair128Slow() const { return Pair128IsSlow; }
bool useAlternateSExtLoadCVTF32Pattern() const {
return UseAlternateSExtLoadCVTF32Pattern;
}
Index: lib/Target/AArch64/AArch64InstrInfo.cpp
===================================================================
--- lib/Target/AArch64/AArch64InstrInfo.cpp
+++ lib/Target/AArch64/AArch64InstrInfo.cpp
@@ -1652,7 +1652,7 @@
return false;
// On some CPUs quad load/store pairs are slower than two single load/stores.
- if (Subtarget.avoidQuadLdStPairs()) {
+ if (Subtarget.isPair128Slow()) {
switch (MI.getOpcode()) {
default:
break;
Index: lib/Target/AArch64/AArch64.td
===================================================================
--- lib/Target/AArch64/AArch64.td
+++ lib/Target/AArch64/AArch64.td
@@ -88,9 +88,8 @@
def FeatureSlowMisaligned128Store : SubtargetFeature<"slow-misaligned-128store",
"Misaligned128StoreIsSlow", "true", "Misaligned 128 bit stores are slow">;
-def FeatureAvoidQuadLdStPairs : SubtargetFeature<"no-quad-ldst-pairs",
- "AvoidQuadLdStPairs", "true",
- "Do not form quad load/store pair operations">;
+def FeatureSlowPair128 : SubtargetFeature<"slow-pair-128",
+ "Pair128IsSlow", "true", "128 bit loads and stores in pairs are slow">;
def FeatureAlternateSExtLoadCVTF32Pattern : SubtargetFeature<
"alternate-sextload-cvt-f32-pattern", "UseAlternateSExtLoadCVTF32Pattern",
@@ -226,7 +225,7 @@
def ProcExynosM1 : SubtargetFeature<"exynosm1", "ARMProcFamily", "ExynosM1",
"Samsung Exynos-M1 processors",
- [FeatureAvoidQuadLdStPairs,
+ [FeatureSlowPair128,
FeatureCRC,
FeatureCrypto,
FeatureCustomCheapAsMoveHandling,
@@ -240,7 +239,7 @@
def ProcExynosM2 : SubtargetFeature<"exynosm2", "ARMProcFamily", "ExynosM1",
"Samsung Exynos-M2/M3 processors",
- [FeatureAvoidQuadLdStPairs,
+ [FeatureSlowPair128,
FeatureCRC,
FeatureCrypto,
FeatureCustomCheapAsMoveHandling,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28918.85026.patch
Type: text/x-patch
Size: 3733 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170119/f6953ca5/attachment.bin>
More information about the llvm-commits
mailing list