OLD | NEW |
1 ; This file checks that Subzero generates code in accordance with the | 1 ; This file checks that Subzero generates code in accordance with the |
2 ; calling convention for vectors. | 2 ; calling convention for vectors. |
3 | 3 |
4 ; NOTE: CHECK / OPTM1 lines containing the following strings may be | 4 ; NOTE: CHECK / OPTM1 lines containing the following strings may be |
5 ; subject to change: | 5 ; subject to change: |
6 ; | 6 ; |
7 ; * movups: The movups instruction may be changed to movaps when the | 7 ; * movups: The movups instruction may be changed to movaps when the |
8 ; load / store operation is 16 byte aligned. | 8 ; load / store operation is 16 byte aligned. |
9 ; | 9 ; |
10 ; * stack offsets: These may need to be changed if stack alignment | 10 ; * stack offsets: These may need to be changed if stack alignment |
11 ; support is implemented. | 11 ; support is implemented. |
12 ; | 12 ; |
13 ; * stack adjustment operations | 13 ; * stack adjustment operations |
14 | 14 |
15 ; RUN: %llvm2ice -O2 --verbose none %s | FileCheck %s | 15 ; RUN: %llvm2ice -O2 --verbose none %s | FileCheck %s |
16 ; RUN: %llvm2ice -Om1 --verbose none %s | FileCheck --check-prefix=OPTM1 %s | 16 ; RUN: %llvm2ice -Om1 --verbose none %s | FileCheck --check-prefix=OPTM1 %s |
17 ; RUN: %llvm2ice -O2 --verbose none %s | llvm-mc -x86-asm-syntax=intel | 17 ; RUN: %llvm2ice -O2 --verbose none %s \ |
18 ; RUN: %llvm2ice -Om1 --verbose none %s | llvm-mc -x86-asm-syntax=intel | 18 ; RUN: | llvm-mc -arch=x86 -x86-asm-syntax=intel -filetype=obj |
| 19 ; RUN: %llvm2ice -Om1 --verbose none %s \ |
| 20 ; RUN: | llvm-mc -arch=x86 -x86-asm-syntax=intel -filetype=obj |
19 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s | 21 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
20 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s | 22 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s |
21 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ | 23 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ |
22 ; RUN: | FileCheck --check-prefix=DUMP %s | 24 ; RUN: | FileCheck --check-prefix=DUMP %s |
23 | 25 |
24 ; The first five functions test that vectors are moved from their | 26 ; The first five functions test that vectors are moved from their |
25 ; correct argument location to xmm0. | 27 ; correct argument location to xmm0. |
26 | 28 |
27 define <4 x float> @test_returning_arg0(<4 x float> %arg0, <4 x float> %arg1, <4
x float> %arg2, <4 x float> %arg3, <4 x float> %arg4, <4 x float> %arg5) { | 29 define <4 x float> @test_returning_arg0(<4 x float> %arg0, <4 x float> %arg1, <4
x float> %arg2, <4 x float> %arg3, <4 x float> %arg4, <4 x float> %arg5) { |
28 entry: | 30 entry: |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 ; OPTM1-LABEL: test_receiving_vectors: | 221 ; OPTM1-LABEL: test_receiving_vectors: |
220 ; OPTM1: call VectorReturn | 222 ; OPTM1: call VectorReturn |
221 ; OPTM1: movups [[LOC:.*]], xmm0 | 223 ; OPTM1: movups [[LOC:.*]], xmm0 |
222 ; OPTM1: movups xmm0, [[LOC]] | 224 ; OPTM1: movups xmm0, [[LOC]] |
223 ; OPTM1: call VectorReturn | 225 ; OPTM1: call VectorReturn |
224 ; OPTM1: ret | 226 ; OPTM1: ret |
225 } | 227 } |
226 | 228 |
227 ; ERRORS-NOT: ICE translation error | 229 ; ERRORS-NOT: ICE translation error |
228 ; DUMP-NOT: SZ | 230 ; DUMP-NOT: SZ |
OLD | NEW |