summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2017-11-28 12:37:35 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2017-11-28 12:37:35 +0000
commit8dc603b03147c91ff4e66b8bfc934aad6c4cb4b3 (patch)
tree82a875236b866e5cd2769daf991cde1baa01886c /llvm/test/CodeGen
parenta939257a42286accab8a55f0eb20c1ad117b06c7 (diff)
downloadbcm5719-llvm-8dc603b03147c91ff4e66b8bfc934aad6c4cb4b3.tar.gz
bcm5719-llvm-8dc603b03147c91ff4e66b8bfc934aad6c4cb4b3.zip
[X86][3DNow] Add instruction itinerary and scheduling classes for femms/prefetch/prefetchw
llvm-svn: 319167
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/X86/3dnow-schedule.ll22
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/3dnow-schedule.ll b/llvm/test/CodeGen/X86/3dnow-schedule.ll
index 5996c73aa49..1dc27c0e892 100644
--- a/llvm/test/CodeGen/X86/3dnow-schedule.ll
+++ b/llvm/test/CodeGen/X86/3dnow-schedule.ll
@@ -356,6 +356,28 @@ define i64 @test_pmulhrw(x86_mmx %a0, x86_mmx %a1, x86_mmx* %a2) optsize {
}
declare x86_mmx @llvm.x86.3dnow.pmulhrw(x86_mmx, x86_mmx) nounwind readnone
+define void @test_prefetch(i8* %a0) optsize {
+; CHECK-LABEL: test_prefetch:
+; CHECK: # BB#0:
+; CHECK-NEXT: #APP
+; CHECK-NEXT: prefetch (%rdi) # sched: [5:0.50]
+; CHECK-NEXT: #NO_APP
+; CHECK-NEXT: retq # sched: [1:1.00]
+ tail call void asm sideeffect "prefetch $0", "*m"(i8 *%a0) nounwind
+ ret void
+}
+
+define void @test_prefetchw(i8* %a0) optsize {
+; CHECK-LABEL: test_prefetchw:
+; CHECK: # BB#0:
+; CHECK-NEXT: #APP
+; CHECK-NEXT: prefetchw (%rdi) # sched: [5:0.50]
+; CHECK-NEXT: #NO_APP
+; CHECK-NEXT: retq # sched: [1:1.00]
+ tail call void asm sideeffect "prefetchw $0", "*m"(i8 *%a0) nounwind
+ ret void
+}
+
define i64 @test_pswapd(x86_mmx* %a0) optsize {
; CHECK-LABEL: test_pswapd:
; CHECK: # BB#0:
OpenPOWER on IntegriCloud