|
4 | 4 | ; RUN: llc -mtriple=x86_64-unknown-linux-gnu -mcpu=x86-64 < %s | FileCheck -check-prefixes=CHECK,REST,X64 %s
|
5 | 5 | ; RUN: llc -mtriple=x86_64-unknown-linux-gnu -mcpu=silvermont < %s | FileCheck -check-prefixes=CHECK,REST,SLM %s
|
6 | 6 | ; RUN: llc -mtriple=x86_64-unknown-linux-gnu -mcpu=skylake < %s | FileCheck -check-prefixes=CHECK,REST,SKL %s
|
| 7 | +; RUN: llc -mtriple=x86_64-unknown-linux-gnu -mcpu=goldmont < %s | FileCheck -check-prefixes=CHECK,REST,GMT %s |
| 8 | +; RUN: llc -mtriple=x86_64-unknown-linux-gnu -mcpu=gracemont < %s | FileCheck -check-prefixes=CHECK,REST,GMT %s |
7 | 9 | ; RUN: llc -profile-summary-huge-working-set-size-threshold=1 -mtriple=x86_64-unknown-linux-gnu -mcpu=skylake < %s | FileCheck -check-prefixes=HUGEWS %s
|
8 | 10 |
|
9 | 11 | ; Verify that div32 is bypassed only for Atoms.
|
@@ -117,6 +119,13 @@ define i64 @div64(i64 %a, i64 %b) {
|
117 | 119 | ; SKL-NEXT: # kill: def $eax killed $eax def $rax
|
118 | 120 | ; SKL-NEXT: retq
|
119 | 121 | ;
|
| 122 | +; GMT-LABEL: div64: |
| 123 | +; GMT: # %bb.0: # %entry |
| 124 | +; GMT-NEXT: movq %rdi, %rax |
| 125 | +; GMT-NEXT: cqto |
| 126 | +; GMT-NEXT: idivq %rsi |
| 127 | +; GMT-NEXT: retq |
| 128 | +; |
120 | 129 | ; HUGEWS-LABEL: div64:
|
121 | 130 | ; HUGEWS: # %bb.0: # %entry
|
122 | 131 | ; HUGEWS-NEXT: movq %rdi, %rax
|
@@ -240,6 +249,13 @@ define i64 @div64_hugews(i64 %a, i64 %b) {
|
240 | 249 | ; SKL-NEXT: # kill: def $eax killed $eax def $rax
|
241 | 250 | ; SKL-NEXT: retq
|
242 | 251 | ;
|
| 252 | +; GMT-LABEL: div64_hugews: |
| 253 | +; GMT: # %bb.0: |
| 254 | +; GMT-NEXT: movq %rdi, %rax |
| 255 | +; GMT-NEXT: cqto |
| 256 | +; GMT-NEXT: idivq %rsi |
| 257 | +; GMT-NEXT: retq |
| 258 | +; |
243 | 259 | ; HUGEWS-LABEL: div64_hugews:
|
244 | 260 | ; HUGEWS: # %bb.0:
|
245 | 261 | ; HUGEWS-NEXT: movq %rdi, %rax
|
|
0 commit comments