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 ; RUN: %llvm2ice -O2 --verbose none %s \ | 4 ; RUN: %p2i -i %s --args -O2 --verbose none \ |
5 ; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj \ | 5 ; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj \ |
6 ; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s | 6 ; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s |
7 ; RUN: %llvm2ice -Om1 --verbose none %s \ | 7 ; RUN: %p2i -i %s --args -Om1 --verbose none \ |
8 ; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj \ | 8 ; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj \ |
9 ; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - \ | 9 ; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - \ |
10 ; RUN: | FileCheck --check-prefix=OPTM1 %s | 10 ; RUN: | FileCheck --check-prefix=OPTM1 %s |
11 ; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s | 11 ; RUN: %p2i -i %s --args --verbose none | FileCheck --check-prefix=ERRORS %s |
12 ; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s | 12 ; RUN: %p2i -i %s --insts | %szdiff %s | FileCheck --check-prefix=DUMP %s |
13 ; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \ | |
14 ; RUN: | FileCheck --check-prefix=DUMP %s | |
15 | 13 |
16 ; The first five functions test that vectors are moved from their | 14 ; The first five functions test that vectors are moved from their |
17 ; correct argument location to xmm0. | 15 ; correct argument location to xmm0. |
18 | 16 |
19 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) { | 17 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) { |
20 entry: | 18 entry: |
21 ret <4 x float> %arg0 | 19 ret <4 x float> %arg0 |
22 ; CHECK-LABEL: test_returning_arg0: | 20 ; CHECK-LABEL: test_returning_arg0: |
23 ; CHECK-NOT: mov | 21 ; CHECK-NOT: mov |
24 ; CHECK: ret | 22 ; CHECK: ret |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 ; OPTM1-LABEL: test_receiving_vectors: | 245 ; OPTM1-LABEL: test_receiving_vectors: |
248 ; OPTM1: call -4 | 246 ; OPTM1: call -4 |
249 ; OPTM1: movups {{.*}}, xmm0 | 247 ; OPTM1: movups {{.*}}, xmm0 |
250 ; OPTM1: movups xmm0, {{.*}} | 248 ; OPTM1: movups xmm0, {{.*}} |
251 ; OPTM1: call -4 | 249 ; OPTM1: call -4 |
252 ; OPTM1: ret | 250 ; OPTM1: ret |
253 } | 251 } |
254 | 252 |
255 ; ERRORS-NOT: ICE translation error | 253 ; ERRORS-NOT: ICE translation error |
256 ; DUMP-NOT: SZ | 254 ; DUMP-NOT: SZ |
OLD | NEW |