summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Hexagon
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-05-14 20:09:07 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-05-14 20:09:07 +0000
commit771f2422d06b1aca660333ff89ef62529e395f27 (patch)
treef8c0c45f86deaacc615a742dd5e33ec859710146 /llvm/test/CodeGen/Hexagon
parent9d92c027e89e877409ec0e65f700d3bbb14d139b (diff)
downloadbcm5719-llvm-771f2422d06b1aca660333ff89ef62529e395f27.tar.gz
bcm5719-llvm-771f2422d06b1aca660333ff89ef62529e395f27.zip
[Hexagon] Add a target feature for memop generation
llvm-svn: 332285
Diffstat (limited to 'llvm/test/CodeGen/Hexagon')
-rw-r--r--llvm/test/CodeGen/Hexagon/feature-memops.ll23
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Hexagon/feature-memops.ll b/llvm/test/CodeGen/Hexagon/feature-memops.ll
new file mode 100644
index 00000000000..2d5103d10b8
--- /dev/null
+++ b/llvm/test/CodeGen/Hexagon/feature-memops.ll
@@ -0,0 +1,23 @@
+; RUN: llc -march=hexagon < %s | FileCheck %s
+
+; CHECK-LABEL: enabled:
+; CHECK: memw({{.*}}) += #1
+define void @enabled(i32* %p) #0 {
+ %v0 = load i32, i32* %p
+ %v1 = add i32 %v0, 1
+ store i32 %v1, i32* %p
+ ret void
+}
+
+; CHECK-LABEL: disabled:
+; CHECK-NOT: memw({{.*}}) += #1
+define void @disabled(i32* %p) #1 {
+ %v0 = load i32, i32* %p
+ %v1 = add i32 %v0, 1
+ store i32 %v1, i32* %p
+ ret void
+}
+
+attributes #0 = { nounwind }
+attributes #1 = { nounwind "target-features"="-memops" }
+
OpenPOWER on IntegriCloud