OLD | NEW |
1 ; This checks to ensure that Subzero aligns spill slots. | 1 ; This checks to ensure that Subzero aligns spill slots. |
2 | 2 |
3 ; TODO(kschimpf) Find out why lc2i needed. | 3 ; TODO(kschimpf) Find out why lc2i needed. |
4 ; REQUIRES: allow_llvm_ir_as_input | 4 ; REQUIRES: allow_llvm_ir_as_input |
5 ; RUN: %lc2i -i %s --args --verbose none \ | 5 ; RUN: %lc2i -i %s --args --verbose none \ |
6 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ | 6 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ |
7 ; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s | 7 ; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s |
8 ; RUN: %lc2i -i %s --args -O2 --verbose none \ | 8 ; RUN: %lc2i -i %s --args -O2 --verbose none \ |
9 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ | 9 ; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ |
10 ; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s | 10 ; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s |
11 ; RUN: %lc2i -i %s --args --verbose none | FileCheck --check-prefix=ERRORS %s | |
12 | 11 |
13 ; The location of the stack slot for a variable is inferred from the | 12 ; The location of the stack slot for a variable is inferred from the |
14 ; return sequence. | 13 ; return sequence. |
15 | 14 |
16 ; In this file, "global" refers to a variable with a live range across | 15 ; In this file, "global" refers to a variable with a live range across |
17 ; multiple basic blocks (not an LLVM global variable) and "local" | 16 ; multiple basic blocks (not an LLVM global variable) and "local" |
18 ; refers to a variable that is live in only a single basic block. | 17 ; refers to a variable that is live in only a single basic block. |
19 | 18 |
20 define <4 x i32> @align_global_vector(i32 %arg) { | 19 define <4 x i32> @align_global_vector(i32 %arg) { |
21 entry: | 20 entry: |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 ; CHECK-LABEL: align_local_vector_and_global_float: | 84 ; CHECK-LABEL: align_local_vector_and_global_float: |
86 ; CHECK: cvtsi2ss xmm0, eax | 85 ; CHECK: cvtsi2ss xmm0, eax |
87 ; CHECK-NEXT: movss dword ptr [esp + {{12|28}}], xmm0 | 86 ; CHECK-NEXT: movss dword ptr [esp + {{12|28}}], xmm0 |
88 ; CHECK: movups xmm0, xmmword ptr [{{esp|esp \+ 16}}] | 87 ; CHECK: movups xmm0, xmmword ptr [{{esp|esp \+ 16}}] |
89 ; CHECK-NEXT: add esp, 44 | 88 ; CHECK-NEXT: add esp, 44 |
90 ; CHECK-NEXT: ret | 89 ; CHECK-NEXT: ret |
91 } | 90 } |
92 | 91 |
93 declare void @ForceXmmSpillsAndUseAlloca(i8*) | 92 declare void @ForceXmmSpillsAndUseAlloca(i8*) |
94 declare void @ForceXmmSpillsAndUseFloat(float) | 93 declare void @ForceXmmSpillsAndUseFloat(float) |
95 | |
96 ; ERRORS-NOT: ICE translation error | |
OLD | NEW |