xref: /aosp_15_r20/external/llvm/test/CodeGen/AArch64/memcpy-f128.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
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