Use Align for TFL::TransientStackAlignment
[llvm-core.git] / test / CodeGen / X86 / combineIncDecVector-crash.ll
blob8dea7a5fdcdcea37a34610560f58ad7b14214a29
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc < %s | FileCheck %s
4 ; This used to crash, just ensure that it doesn't.
6 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:1"
7 target triple = "x86_64-unknown-linux-gnu"
9 define void @TestvMeth(i32 %0, i64 %1) gc "statepoint-example" !prof !1 {
10 ; CHECK-LABEL: TestvMeth:
11 ; CHECK:       # %bb.0: # %bci_0
12 ; CHECK-NEXT:    subq $24, %rsp
13 ; CHECK-NEXT:    .cfi_def_cfa_offset 32
14 ; CHECK-NEXT:    movq %rsi, {{[0-9]+}}(%rsp)
15 ; CHECK-NEXT:    movl %edi, {{[0-9]+}}(%rsp)
16 ; CHECK-NEXT:    movl $10, %esi
17 ; CHECK-NEXT:    movl $10, %edx
18 ; CHECK-NEXT:    movl $400, %ecx # imm = 0x190
19 ; CHECK-NEXT:    callq newarray
20 ; CHECK-NEXT:  .Ltmp0:
21 ; CHECK-NEXT:    movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
22 ; CHECK-NEXT:    addss (%rax), %xmm0
23 ; CHECK-NEXT:    movdqu (%rax), %xmm1
24 ; CHECK-NEXT:    pcmpeqd %xmm2, %xmm2
25 ; CHECK-NEXT:    psubd %xmm2, %xmm1
26 ; CHECK-NEXT:    movdqu %xmm1, (%rax)
27 ; CHECK-NEXT:    movss %xmm0, (%rax)
28 bci_0:
29    %token418 = call token (i64, i32, i8 * (i64, i32, i32, i32)*, i32,
30 i32, ...) @llvm.experimental.gc.statepoint.p0f_p1i8i64i32i32i32f(i64
31 2882400000, i32 0, i8 * (i64, i32, i32, i32)* nonnull @newarray, i32 4,
32 i32 0, i64 undef, i32 10, i32 10, i32 400, i32 0, i32 35, i32 0, i32 1,
33 i32 0, i32 43, i32 1, i32 13, i32 0, i32 3, i32 400, i32 3, i32 %0, i32
34 4, i64 %1, i32 7, i8* null, i32 3, i32 -11464, i32 7, i8* null, i32 3,
35 i32 -243, i32 3, i32 14, i32 3, i32 117, i32 3, i32 -13, i32 3, i32 -15,
36 i32 3, i32 -210, i32 3, i32 541, i32 7, i8* null)
37    %v2 = load atomic float, float * undef unordered, align 4
38    %v3 = load <4 x i32>, <4 x i32> * undef, align 4
39    %v4 = add <4 x i32> %v3, <i32 1, i32 1, i32 1, i32 1>
40    store <4 x i32> %v4, <4 x i32> * undef, align 4
41    %v5 = fadd float %v2, 1.500000e+01
42    store atomic float %v5, float * undef unordered, align 4
43    unreachable
46 declare i32* @personality_function()
47 declare i8 * @newarray(i64, i32, i32, i32)
48 declare token @llvm.experimental.gc.statepoint.p0f_p1i8i64i32i32i32f(i64
49 immarg, i32 immarg, i8 * (i64, i32, i32, i32)*, i32 immarg, i32 immarg, ...)
51 !1 = !{!"function_entry_count", i64 32768}