llvm-mirror/test/CodeGen/AArch64/memcpy-f128.ll
Guillaume Chatelet 3b360aa73f Fix broken invariant
Summary:
A Copy with a source that is zeros is the same as a Set of zeros.
This fixes the invariant that SrcAlign should always be non-null.

Reviewers: courbet

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D73791
2020-02-03 11:01:05 +01:00

17 lines
498 B
LLVM

; RUN: llc < %s -mtriple=aarch64-linux-gnu | FileCheck %s
%structA = type { i128 }
@stubA = internal unnamed_addr constant %structA zeroinitializer, align 8
; Make sure we don't hit llvm_unreachable.
define void @test1() {
; CHECK-LABEL: @test1
; CHECK: ret
entry:
tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 undef, i8* align 8 bitcast (%structA* @stubA to i8*), i64 48, i1 false)
ret void
}
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1)