brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 9fbc6a8 Raw
51 lines · plain
1; RUN: llc -stack-symbol-ordering=0 %s -o - -mattr=-avx -mtriple=x86_64-unknown-linux-gnu | FileCheck %s --check-prefix=SSE2; RUN: llc -stack-symbol-ordering=0 %s -o - -mattr=+avx -mtriple=x86_64-unknown-linux-gnu | FileCheck %s --check-prefix=AVX3; PR48914; PR56265 6; This load should be before the call, not after.7 8; SSE: movsd     compl+128(%rip), %xmm09; SSE: movaps  %xmm0, (%rsp)10; SSE: callq   killcommon11 12; AVX: vmovsd     compl+128(%rip), %xmm013; AVX: vmovaps  %xmm0, (%rsp)14; AVX: callq   killcommon15 16@compl = linkonce dso_local global [20 x i64] zeroinitializer, align 64 ; <ptr> [#uses=1]17 18declare void @killcommon(ptr noalias)19 20define dso_local void @reset(ptr noalias %garbage1) {21"file complex.c, line 27, bb1":22  %changed = alloca i32, align 4                  ; <ptr> [#uses=3]23  br label %"file complex.c, line 27, bb13"24 25"file complex.c, line 27, bb13":                  ; preds = %"file complex.c, line 27, bb1"26  store i32 0, ptr %changed, align 427  %r2 = getelementptr float, ptr @compl, i64 32 ; <ptr> [#uses=1]28  %r4 = load <2 x float>, ptr %r2, align 4            ; <<2 x float>> [#uses=1]29  call void @killcommon(ptr %changed)30  br label %"file complex.c, line 34, bb4"31 32"file complex.c, line 34, bb4":                   ; preds = %"file complex.c, line 27, bb13"33  %r5 = load i32, ptr %changed, align 4               ; <i32> [#uses=1]34  %r6 = icmp eq i32 %r5, 0                        ; <i1> [#uses=1]35  %r7 = zext i1 %r6 to i32                        ; <i32> [#uses=1]36  %r8 = icmp ne i32 %r7, 0                        ; <i1> [#uses=1]37  br i1 %r8, label %"file complex.c, line 34, bb7", label %"file complex.c, line 27, bb5"38 39"file complex.c, line 27, bb5":                   ; preds = %"file complex.c, line 34, bb4"40  br label %"file complex.c, line 35, bb6"41 42"file complex.c, line 35, bb6":                   ; preds = %"file complex.c, line 27, bb5"43  %r11 = ptrtoint ptr %garbage1 to i64   ; <i64> [#uses=1]44  %r12 = inttoptr i64 %r11 to ptr        ; <ptr> [#uses=1]45  store <2 x float> %r4, ptr %r12, align 446  br label %"file complex.c, line 34, bb7"47 48"file complex.c, line 34, bb7":                   ; preds = %"file complex.c, line 35, bb6", %"file complex.c, line 34, bb4"49  ret void50}51