; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6 ; RUN: opt < %s -S -passes='early-cse' | FileCheck %s ;; Regression test to ensure that we do not segfault when processing target ;; specific intrinsics around memset loads. target triple = "aarch64-grtev4-linux-gnu" define { <8 x i8>, <8 x i8>, <8 x i8> } @foo(ptr %p) { ; CHECK-LABEL: define { <8 x i8>, <8 x i8>, <8 x i8> } @foo( ; CHECK-SAME: ptr [[P:%.*]]) { ; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr [[P]], i8 0, i64 0, i1 false) ; CHECK-NEXT: [[CALL:%.*]] = call { <8 x i8>, <8 x i8>, <8 x i8> } @llvm.aarch64.neon.ld3.v8i8.p0(ptr [[P]]) ; CHECK-NEXT: ret { <8 x i8>, <8 x i8>, <8 x i8> } [[CALL]] ; call void @llvm.memset.p0.i64(ptr %p, i8 0, i64 0, i1 false) %call = call { <8 x i8>, <8 x i8>, <8 x i8> } @llvm.aarch64.neon.ld3.v8i8.p0(ptr %p) ret { <8 x i8>, <8 x i8>, <8 x i8> } %call }