| 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: %p2i -i %s --filetype=obj --disassemble --args -O2 \ | 4 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 \ |
| 5 ; RUN: -allow-externally-defined-symbols | FileCheck %s | 5 ; RUN: -allow-externally-defined-symbols | FileCheck %s |
| 6 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -Om1 \ | 6 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -Om1 \ |
| 7 ; RUN: -allow-externally-defined-symbols | FileCheck --check-prefix=OPTM1 %s | 7 ; RUN: -allow-externally-defined-symbols | FileCheck --check-prefix=OPTM1 %s |
| 8 | 8 |
| 9 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ | 9 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ |
| 10 ; RUN: --command %p2i --filetype=asm --assemble --disassemble --target \ | 10 ; RUN: --command %p2i --filetype=asm --assemble --disassemble --target \ |
| (...skipping 535 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 546 ; OPTM1: call {{.*}} R_{{.*}} VectorReturn | 546 ; OPTM1: call {{.*}} R_{{.*}} VectorReturn |
| 547 ; OPTM1: movups {{.*}},xmm0 | 547 ; OPTM1: movups {{.*}},xmm0 |
| 548 ; OPTM1: movups xmm0,{{.*}} | 548 ; OPTM1: movups xmm0,{{.*}} |
| 549 ; OPTM1: call {{.*}} R_{{.*}} VectorReturn | 549 ; OPTM1: call {{.*}} R_{{.*}} VectorReturn |
| 550 ; OPTM1: ret | 550 ; OPTM1: ret |
| 551 ; MIPS32-LABEL: test_receiving_vectors | 551 ; MIPS32-LABEL: test_receiving_vectors |
| 552 ; MIPS32: sw s8,{{.*}}(sp) | 552 ; MIPS32: sw s8,{{.*}}(sp) |
| 553 ; MIPS32: sw s0,{{.*}}(sp) | 553 ; MIPS32: sw s0,{{.*}}(sp) |
| 554 ; MIPS32: move s8,sp | 554 ; MIPS32: move s8,sp |
| 555 ; MIPS32: move v0,a0 | 555 ; MIPS32: move v0,a0 |
| 556 ; MIPS32: » addiu» v1,sp,16 | 556 ; MIPS32: » addiu» v1,sp,32 |
| 557 ; MIPS32: move s0,v1 | 557 ; MIPS32: move s0,v1 |
| 558 ; MIPS32: move a0,s0 | 558 ; MIPS32: move a0,s0 |
| 559 ; MIPS32: sw a2,{{.*}}(sp) | 559 ; MIPS32: sw a2,{{.*}}(sp) |
| 560 ; MIPS32: sw a3,{{.*}}(sp) | 560 ; MIPS32: sw a3,{{.*}}(sp) |
| 561 ; MIPS32: move a2,v0 | 561 ; MIPS32: move a2,v0 |
| 562 ; MIPS32: move a3,a1 | 562 ; MIPS32: move a3,a1 |
| 563 ; MIPS32: jal 0 <test_returning_arg0> {{.*}} R_MIPS_26 VectorRe
turn | 563 ; MIPS32: jal 0 <test_returning_arg0> {{.*}} R_MIPS_26 VectorRe
turn |
| 564 ; MIPS32: nop | 564 ; MIPS32: nop |
| 565 ; MIPS32: lw v0,0(s0) | 565 ; MIPS32: lw v0,0(s0) |
| 566 ; MIPS32: lw v1,4(s0) | 566 ; MIPS32: lw v1,4(s0) |
| 567 ; MIPS32: lw a0,8(s0) | 567 ; MIPS32: lw a0,8(s0) |
| 568 ; MIPS32: move a1,a0 | 568 ; MIPS32: move a1,a0 |
| 569 ; MIPS32: lw s0,12(s0) | 569 ; MIPS32: lw s0,12(s0) |
| 570 ; MIPS32: » addiu» a0,sp,32 | 570 ; MIPS32: » addiu» a0,sp,48 |
| 571 ; MIPS32: sw a1,{{.*}}(sp) | 571 ; MIPS32: sw a1,{{.*}}(sp) |
| 572 ; MIPS32: sw s0,{{.*}}(sp) | 572 ; MIPS32: sw s0,{{.*}}(sp) |
| 573 ; MIPS32: move a2,v0 | 573 ; MIPS32: move a2,v0 |
| 574 ; MIPS32: move a3,v1 | 574 ; MIPS32: move a3,v1 |
| 575 ; MIPS32: jal 0 <test_returning_arg0> {{.*}} R_MIPS_26 VectorRe
turn | 575 ; MIPS32: jal 0 <test_returning_arg0> {{.*}} R_MIPS_26 VectorRe
turn |
| 576 ; MIPS32: nop | 576 ; MIPS32: nop |
| 577 ; MIPS32: move sp,s8 | 577 ; MIPS32: move sp,s8 |
| 578 ; MIPS32: lw s0,{{.*}}(sp) | 578 ; MIPS32: lw s0,{{.*}}(sp) |
| 579 ; MIPS32: lw s8,{{.*}}(sp) | 579 ; MIPS32: lw s8,{{.*}}(sp) |
| 580 ; MIPS32: lw ra,{{.*}}(sp) | 580 ; MIPS32: lw ra,{{.*}}(sp) |
| 581 } | 581 } |
| OLD | NEW |