| whitequark | cebe824 | 2017-06-22 15:42:53 +0000 | [diff] [blame] | 1 | ; RUN: llc -mtriple=x86_64-pc-linux-gnu < %s -o - | FileCheck %s |
| 2 | |
| 3 | ; Ensure that red zone usage occurs. |
| 4 | define void @testStackProbesOff() { |
| 5 | %array = alloca [40096 x i8], align 16 |
| 6 | ret void |
| 7 | |
| 8 | ; CHECK-LABEL: testStackProbesOff: |
| 9 | ; CHECK: subq $39976, %rsp # imm = 0x9C28 |
| 10 | } |
| 11 | |
| 12 | ; Ensure stack probes do not result in red zone usage. |
| 13 | define void @testStackProbesOn() "probe-stack"="__probestack" { |
| 14 | %array = alloca [40096 x i8], align 16 |
| 15 | ret void |
| 16 | |
| 17 | ; CHECK-LABEL: testStackProbesOn: |
| 18 | ; CHECK: movl $40104, %eax # imm = 0x9CA8 |
| 19 | ; CHECK-NEXT: callq __probestack |
| 20 | ; CHECK-NEXT: subq %rax, %rsp |
| 21 | } |