| 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 |
| 18 ; RUN: %llvm2ice -Om1 --verbose none %s | llvm-mc -x86-asm-syntax=intel |
| 17 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s | 19 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s |
| 18 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s | 20 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s |
| 19 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ | 21 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ |
| 20 ; RUN: | FileCheck --check-prefix=DUMP %s | 22 ; RUN: | FileCheck --check-prefix=DUMP %s |
| 21 | 23 |
| 22 ; The first five functions test that vectors are moved from their | 24 ; The first five functions test that vectors are moved from their |
| 23 ; correct argument location to xmm0. | 25 ; correct argument location to xmm0. |
| 24 | 26 |
| 25 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) { | 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) { |
| 26 entry: | 28 entry: |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 217 ; OPTM1-LABEL: test_receiving_vectors: | 219 ; OPTM1-LABEL: test_receiving_vectors: |
| 218 ; OPTM1: call VectorReturn | 220 ; OPTM1: call VectorReturn |
| 219 ; OPTM1: movups [[LOC:.*]], xmm0 | 221 ; OPTM1: movups [[LOC:.*]], xmm0 |
| 220 ; OPTM1: movups xmm0, [[LOC]] | 222 ; OPTM1: movups xmm0, [[LOC]] |
| 221 ; OPTM1: call VectorReturn | 223 ; OPTM1: call VectorReturn |
| 222 ; OPTM1: ret | 224 ; OPTM1: ret |
| 223 } | 225 } |
| 224 | 226 |
| 225 ; ERRORS-NOT: ICE translation error | 227 ; ERRORS-NOT: ICE translation error |
| 226 ; DUMP-NOT: SZ | 228 ; DUMP-NOT: SZ |
| OLD | NEW |