brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · efe8323 Raw
79 lines · plain
1; RUN: llc < %s -mtriple=aarch64 -mattr=+mte | FileCheck %s2 3define void @stgp0(i64 %a, i64 %b, ptr %p) {4entry:5; CHECK-LABEL: stgp0:6; CHECK: stgp x0, x1, [x2]7; CHECK: ret8  call void @llvm.aarch64.stgp(ptr %p, i64 %a, i64 %b)9  ret void10}11 12define void @stgp1004(i64 %a, i64 %b, ptr %p) {13entry:14; CHECK-LABEL: stgp1004:15; CHECK: add [[R:x[0-9]+]], x2, #100416; CHECK: stgp x0, x1, [[[R]]]17; CHECK: ret18  %q = getelementptr i8, ptr %p, i32 100419  call void @llvm.aarch64.stgp(ptr %q, i64 %a, i64 %b)20  ret void21}22 23define void @stgp1008(i64 %a, i64 %b, ptr %p) {24entry:25; CHECK-LABEL: stgp1008:26; CHECK: stgp x0, x1, [x2, #1008]27; CHECK: ret28  %q = getelementptr i8, ptr %p, i32 100829  call void @llvm.aarch64.stgp(ptr %q, i64 %a, i64 %b)30  ret void31}32 33define void @stgp1024(i64 %a, i64 %b, ptr %p) {34entry:35; CHECK-LABEL: stgp1024:36; CHECK: add [[R:x[0-9]+]], x2, #102437; CHECK: stgp x0, x1, [[[R]]]38; CHECK: ret39  %q = getelementptr i8, ptr %p, i32 102440  call void @llvm.aarch64.stgp(ptr %q, i64 %a, i64 %b)41  ret void42}43 44define void @stgp_1024(i64 %a, i64 %b, ptr %p) {45entry:46; CHECK-LABEL: stgp_1024:47; CHECK: stgp x0, x1, [x2, #-1024]48; CHECK: ret49  %q = getelementptr i8, ptr %p, i32 -102450  call void @llvm.aarch64.stgp(ptr %q, i64 %a, i64 %b)51  ret void52}53 54define void @stgp_1040(i64 %a, i64 %b, ptr %p) {55entry:56; CHECK-LABEL: stgp_1040:57; CHECK: sub [[R:x[0-9]+]], x2, #104058; CHECK: stgp x0, x1, [x{{.*}}]59; CHECK: ret60  %q = getelementptr i8, ptr %p, i32 -104061  call void @llvm.aarch64.stgp(ptr %q, i64 %a, i64 %b)62  ret void63}64 65define void @stgp_alloca(i64 %a, i64 %b) {66entry:67; CHECK-LABEL: stgp_alloca:68; CHECK: stgp x0, x1, [sp, #-32]!69; CHECK: stgp x1, x0, [sp, #16]70; CHECK: ret71  %x = alloca i8, i32 32, align 1672  call void @llvm.aarch64.stgp(ptr %x, i64 %a, i64 %b)73  %x1 = getelementptr i8, ptr %x, i32 1674  call void @llvm.aarch64.stgp(ptr %x1, i64 %b, i64 %a)75  ret void76}77 78declare void @llvm.aarch64.stgp(ptr %p, i64 %a, i64 %b)79