xref: /llvm-project/llvm/test/CodeGen/X86/combineIncDecVector-crash.ll (revision a2a0089ac3a5781ba74d4d319c87c9e8b46d4eda)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s | FileCheck %s
3
4; This used to crash, just ensure that it doesn't.
5
6target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:1"
7target triple = "x86_64-unknown-linux-gnu"
8
9define 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@PLT
20; CHECK-NEXT:  .Ltmp0:
21; CHECK-NEXT:    movss {{.*#+}} xmm0 = [1.5E+1,0.0E+0,0.0E+0,0.0E+0]
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)
28bci_0:
29   %token418 = call token (i64, i32, ptr, i32,
30i32, ...) @llvm.experimental.gc.statepoint.p0(i64
312882400000, i32 0, ptr nonnull elementtype(ptr (i64, i32, i32, i32)) @newarray, i32 4,
32i32 0, i64 undef, i32 10, i32 10, i32 400, i32 0, i32 0) ["deopt"
33(i32 35, i32 0, i32 1, i32 0, i32 43, i32 1, i32 13, i32 0, i32 3,
34i32 400, i32 3, i32 %0, i32 4, i64 %1, i32 7, ptr null, i32 3,
35i32 -11464, i32 7, ptr null, i32 3, i32 -243, i32 3, i32 14, i32 3,
36i32 117, i32 3, i32 -13, i32 3, i32 -15, i32 3, i32 -210, i32 3,
37i32 541, i32 7, ptr null)]
38   %v2 = load atomic float, ptr undef unordered, align 4
39   %v3 = load <4 x i32>, ptr undef, align 4
40   %v4 = add <4 x i32> %v3, <i32 1, i32 1, i32 1, i32 1>
41   store <4 x i32> %v4, ptr undef, align 4
42   %v5 = fadd float %v2, 1.500000e+01
43   store atomic float %v5, ptr undef unordered, align 4
44   unreachable
45}
46
47declare ptr @personality_function()
48declare ptr @newarray(i64, i32, i32, i32)
49declare token @llvm.experimental.gc.statepoint.p0(i64
50immarg, i32 immarg, ptr, i32 immarg, i32 immarg, ...)
51
52!1 = !{!"function_entry_count", i64 32768}
53