1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=aarch64 -mtriple=aarch64-linux-gnu | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker%structA = type { i128 } 4*9880d681SAndroid Build Coastguard Worker@stubA = internal unnamed_addr constant %structA zeroinitializer, align 8 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker; Make sure we don't hit llvm_unreachable. 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerdefine void @test1() { 9*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test1 10*9880d681SAndroid Build Coastguard Worker; CHECK: adrp 11*9880d681SAndroid Build Coastguard Worker; CHECK: ldr q0 12*9880d681SAndroid Build Coastguard Worker; CHECK: str q0 13*9880d681SAndroid Build Coastguard Worker; CHECK: ret 14*9880d681SAndroid Build Coastguard Workerentry: 15*9880d681SAndroid Build Coastguard Worker tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* undef, i8* bitcast (%structA* @stubA to i8*), i64 48, i32 8, i1 false) 16*9880d681SAndroid Build Coastguard Worker ret void 17*9880d681SAndroid Build Coastguard Worker} 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) 20