| OLD | NEW |
| 1 ; This test checks that when SSE instructions access memory and require full | 1 ; This test checks that when SSE instructions access memory and require full |
| 2 ; alignment, memory operands are limited to properly aligned stack operands. | 2 ; alignment, memory operands are limited to properly aligned stack operands. |
| 3 ; This would only happen when we fuse a load instruction with another | 3 ; This would only happen when we fuse a load instruction with another |
| 4 ; instruction, which currently only happens with non-scalarized Arithmetic | 4 ; instruction, which currently only happens with non-scalarized Arithmetic |
| 5 ; instructions. | 5 ; instructions. |
| 6 | 6 |
| 7 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 | FileCheck %s | 7 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -O2 | FileCheck %s |
| 8 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -Om1 | FileCheck %s | 8 ; RUN: %p2i -i %s --filetype=obj --disassemble --args -Om1 | FileCheck %s |
| 9 | 9 |
| 10 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ | 10 ; RUN: %if --need=target_MIPS32 --need=allow_dump \ |
| 11 ; RUN: --command %p2i --filetype=asm --assemble --disassemble --target mips32\ | 11 ; RUN: --command %p2i --filetype=asm --assemble --disassemble --target mips32\ |
| 12 ; RUN: -i %s --args -O2 --skip-unimplemented \ | 12 ; RUN: -i %s --args -O2 \ |
| 13 ; RUN: | %if --need=target_MIPS32 --need=allow_dump \ | 13 ; RUN: | %if --need=target_MIPS32 --need=allow_dump \ |
| 14 ; RUN: --command FileCheck --check-prefix MIPS32 %s | 14 ; RUN: --command FileCheck --check-prefix MIPS32 %s |
| 15 | 15 |
| 16 define internal <4 x i32> @test_add(i32 %addr_i, <4 x i32> %addend) { | 16 define internal <4 x i32> @test_add(i32 %addr_i, <4 x i32> %addend) { |
| 17 entry: | 17 entry: |
| 18 %addr = inttoptr i32 %addr_i to <4 x i32>* | 18 %addr = inttoptr i32 %addr_i to <4 x i32>* |
| 19 %loaded = load <4 x i32>, <4 x i32>* %addr, align 4 | 19 %loaded = load <4 x i32>, <4 x i32>* %addr, align 4 |
| 20 %result = add <4 x i32> %addend, %loaded | 20 %result = add <4 x i32> %addend, %loaded |
| 21 ret <4 x i32> %result | 21 ret <4 x i32> %result |
| 22 } | 22 } |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 } | 124 } |
| 125 ; CHECK-LABEL: test_fsub | 125 ; CHECK-LABEL: test_fsub |
| 126 ; CHECK-NOT: subps xmm{{.}},XMMWORD PTR [e{{ax|cx|dx|di|si|bx|bp}} | 126 ; CHECK-NOT: subps xmm{{.}},XMMWORD PTR [e{{ax|cx|dx|di|si|bx|bp}} |
| 127 ; CHECK: subps xmm{{.}}, | 127 ; CHECK: subps xmm{{.}}, |
| 128 | 128 |
| 129 ; MIPS32-LABEL: test_fsub | 129 ; MIPS32-LABEL: test_fsub |
| 130 ; MIPS32: sub.s | 130 ; MIPS32: sub.s |
| 131 ; MIPS32: sub.s | 131 ; MIPS32: sub.s |
| 132 ; MIPS32: sub.s | 132 ; MIPS32: sub.s |
| 133 ; MIPS32: sub.s | 133 ; MIPS32: sub.s |
| OLD | NEW |