brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 3ae73c5 Raw
28 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -S -passes=msan -mattr=+sme2 -mattr=+sme-i16i64 -mattr=+sme-f64f64 -o - %s | FileCheck %s3 4; Forked from llvm/test/CodeGen/AArch64/sme2-intrinsics-add.ll5; Manually reduced to show MSan leads to a compiler crash6 7target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"8target triple = "aarch64--linux-android9001"9 10define void @multi_vector_add_za_vg1x4_f32_tuple(i64 %stride, ptr %ptr) sanitize_memory {11; CHECK-LABEL: @multi_vector_add_za_vg1x4_f32_tuple(12; CHECK-NEXT:    [[TMP1:%.*]] = load i64, ptr getelementptr (i8, ptr @__msan_param_tls, i64 8), align 813; CHECK-NEXT:    call void @llvm.donothing()14; CHECK-NEXT:    [[TMP2:%.*]] = tail call target("aarch64.svcount") @llvm.aarch64.sve.ptrue.c8()15; CHECK-NEXT:    [[_MSCMP:%.*]] = icmp ne i64 [[TMP1]], 016; CHECK-NEXT:    br i1 [[_MSCMP]], label [[TMP3:%.*]], label [[TMP4:%.*]], !prof [[PROF1:![0-9]+]]17; CHECK:       3:18; CHECK-NEXT:    call void @__msan_warning_noreturn() #[[ATTR5:[0-9]+]]19; CHECK-NEXT:    unreachable20; CHECK:       4:21; CHECK-NEXT:    [[TMP5:%.*]] = tail call { <vscale x 4 x float>, <vscale x 4 x float>, <vscale x 4 x float>, <vscale x 4 x float> } @llvm.aarch64.sve.ld1.pn.x4.nxv4f32(target("aarch64.svcount") [[TMP2]], ptr [[PTR:%.*]])22; CHECK-NEXT:    ret void23;24  %1 = tail call target("aarch64.svcount") @llvm.aarch64.sve.ptrue.c8()25  %2 = tail call { <vscale x 4 x float>, <vscale x 4 x float>, <vscale x 4 x float>, <vscale x 4 x float> } @llvm.aarch64.sve.ld1.pn.x4.nxv4f32(target("aarch64.svcount") %1, ptr %ptr)26  ret void27}28