| 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 |