summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2018-03-19 14:26:50 +0000
committerSanjay Patel <spatel@rotateright.com>2018-03-19 14:26:50 +0000
commit05daae75ad353b050e58599fbebc68a950d23f67 (patch)
tree204e5cdc89ecc6f92e5c1fd648b5d9e117abd5a4 /llvm/test/CodeGen
parent749788eab656be2427797db225a651649cd5a089 (diff)
downloadbcm5719-llvm-05daae75ad353b050e58599fbebc68a950d23f67.tar.gz
bcm5719-llvm-05daae75ad353b050e58599fbebc68a950d23f67.zip
[x86] put nops into the WriteNop class and customize for Jaguar
1. Given that we already have a classification bucket with 'nop' in the name, that's where 'nop' belongs. Right now, it's only used for prefix bytes and 'pause'. 2. Make the latency of this class '1' for Jaguar to tell the scheduler (and presumably llvm-mca) how to model the resource requirements better even though a nop has no dependencies. Differential Revision: https://reviews.llvm.org/D44608 llvm-svn: 327853
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/X86/schedule-x86_64.ll16
-rw-r--r--llvm/test/CodeGen/X86/sse-schedule.ll4
-rw-r--r--llvm/test/CodeGen/X86/x87-schedule.ll4
3 files changed, 12 insertions, 12 deletions
diff --git a/llvm/test/CodeGen/X86/schedule-x86_64.ll b/llvm/test/CodeGen/X86/schedule-x86_64.ll
index 72a764e64fa..02c468503a4 100644
--- a/llvm/test/CodeGen/X86/schedule-x86_64.ll
+++ b/llvm/test/CodeGen/X86/schedule-x86_64.ll
@@ -8389,13 +8389,13 @@ define void @test_nop(i16 %a0, i32 %a1, i64 %a2, i16 *%p0, i32 *%p1, i64 *%p2) o
; BTVER2-LABEL: test_nop:
; BTVER2: # %bb.0:
; BTVER2-NEXT: #APP
-; BTVER2-NEXT: nop # sched: [1:?]
-; BTVER2-NEXT: nopw %di # sched: [1:?]
-; BTVER2-NEXT: nopw (%rcx) # sched: [1:?]
-; BTVER2-NEXT: nopl %esi # sched: [1:?]
-; BTVER2-NEXT: nopl (%r8) # sched: [1:?]
-; BTVER2-NEXT: nopq %rdx # sched: [1:?]
-; BTVER2-NEXT: nopq (%r9) # sched: [1:?]
+; BTVER2-NEXT: nop # sched: [1:0.50]
+; BTVER2-NEXT: nopw %di # sched: [1:0.50]
+; BTVER2-NEXT: nopw (%rcx) # sched: [1:0.50]
+; BTVER2-NEXT: nopl %esi # sched: [1:0.50]
+; BTVER2-NEXT: nopl (%r8) # sched: [1:0.50]
+; BTVER2-NEXT: nopq %rdx # sched: [1:0.50]
+; BTVER2-NEXT: nopq (%r9) # sched: [1:0.50]
; BTVER2-NEXT: #NO_APP
; BTVER2-NEXT: retq # sched: [4:1.00]
;
@@ -9500,7 +9500,7 @@ define void @test_pause() optsize {
; BTVER2-LABEL: test_pause:
; BTVER2: # %bb.0:
; BTVER2-NEXT: #APP
-; BTVER2-NEXT: pause # sched: [1:?]
+; BTVER2-NEXT: pause # sched: [1:0.50]
; BTVER2-NEXT: #NO_APP
; BTVER2-NEXT: retq # sched: [4:1.00]
;
diff --git a/llvm/test/CodeGen/X86/sse-schedule.ll b/llvm/test/CodeGen/X86/sse-schedule.ll
index 3a123df699f..a58bdd1ad57 100644
--- a/llvm/test/CodeGen/X86/sse-schedule.ll
+++ b/llvm/test/CodeGen/X86/sse-schedule.ll
@@ -3763,7 +3763,7 @@ define <4 x float> @test_xorps(<4 x float> %a0, <4 x float> %a1, <4 x float> *%a
ret <4 x float> %7
}
-; 'WriteZero' class instructions.
+; 'WriteZero' and 'WriteNop' class instructions.
define <4 x float> @test_fnop() nounwind {
; GENERIC-LABEL: test_fnop:
@@ -3840,7 +3840,7 @@ define <4 x float> @test_fnop() nounwind {
; BTVER2: # %bb.0:
; BTVER2-NEXT: vxorps %xmm0, %xmm0, %xmm0 # sched: [1:0.50]
; BTVER2-NEXT: #APP
-; BTVER2-NEXT: nop # sched: [1:?]
+; BTVER2-NEXT: nop # sched: [1:0.50]
; BTVER2-NEXT: #NO_APP
; BTVER2-NEXT: retq # sched: [4:1.00]
;
diff --git a/llvm/test/CodeGen/X86/x87-schedule.ll b/llvm/test/CodeGen/X86/x87-schedule.ll
index 2950eb586e3..09001fba7c8 100644
--- a/llvm/test/CodeGen/X86/x87-schedule.ll
+++ b/llvm/test/CodeGen/X86/x87-schedule.ll
@@ -3209,7 +3209,7 @@ define void @test_fnop() optsize {
; SLM-LABEL: test_fnop:
; SLM: # %bb.0:
; SLM-NEXT: #APP
-; SLM-NEXT: fnop # sched: [100:1.00]
+; SLM-NEXT: fnop # sched: [1:?]
; SLM-NEXT: #NO_APP
; SLM-NEXT: retl # sched: [4:1.00]
;
@@ -3251,7 +3251,7 @@ define void @test_fnop() optsize {
; BTVER2-LABEL: test_fnop:
; BTVER2: # %bb.0:
; BTVER2-NEXT: #APP
-; BTVER2-NEXT: fnop # sched: [100:0.50]
+; BTVER2-NEXT: fnop # sched: [1:0.50]
; BTVER2-NEXT: #NO_APP
; BTVER2-NEXT: retl # sched: [4:1.00]
;
OpenPOWER on IntegriCloud