796 lines · plain
1;RUN: opt < %s -mtriple=amdgcn-amd-amdhsa -passes=asan -S | FileCheck %s2 3declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg)4declare void @llvm.memcpy.p0.p1.i64(ptr noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i64, i1 immarg)5declare void @llvm.memcpy.p0.p2.i64(ptr noalias nocapture writeonly, ptr addrspace(2) noalias nocapture readonly, i64, i1 immarg)6declare void @llvm.memcpy.p0.p3.i64(ptr noalias nocapture writeonly, ptr addrspace(3) noalias nocapture readonly, i64, i1 immarg)7declare void @llvm.memcpy.p0.p4.i64(ptr noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i64, i1 immarg)8declare void @llvm.memcpy.p0.p5.i64(ptr noalias nocapture writeonly, ptr addrspace(5) noalias nocapture readonly, i64, i1 immarg)9 10declare void @llvm.memcpy.p0.p0.i32(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i32, i1 immarg)11declare void @llvm.memcpy.p0.p1.i32(ptr noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i32, i1 immarg)12declare void @llvm.memcpy.p0.p2.i32(ptr noalias nocapture writeonly, ptr addrspace(2) noalias nocapture readonly, i32, i1 immarg)13declare void @llvm.memcpy.p0.p3.i32(ptr noalias nocapture writeonly, ptr addrspace(3) noalias nocapture readonly, i32, i1 immarg)14declare void @llvm.memcpy.p0.p4.i32(ptr noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i32, i1 immarg)15declare void @llvm.memcpy.p0.p5.i32(ptr noalias nocapture writeonly, ptr addrspace(5) noalias nocapture readonly, i32, i1 immarg)16 17declare void @llvm.memcpy.p1.p0.i64(ptr addrspace(1) noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg)18declare void @llvm.memcpy.p1.p1.i64(ptr addrspace(1) noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i64, i1 immarg)19declare void @llvm.memcpy.p1.p2.i64(ptr addrspace(1) noalias nocapture writeonly, ptr addrspace(2) noalias nocapture readonly, i64, i1 immarg)20declare void @llvm.memcpy.p1.p3.i64(ptr addrspace(1) noalias nocapture writeonly, ptr addrspace(3) noalias nocapture readonly, i64, i1 immarg)21declare void @llvm.memcpy.p1.p4.i64(ptr addrspace(1) noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i64, i1 immarg)22declare void @llvm.memcpy.p1.p5.i64(ptr addrspace(1) noalias nocapture writeonly, ptr addrspace(5) noalias nocapture readonly, i64, i1 immarg)23 24declare void @llvm.memcpy.p1.p0.i32(ptr addrspace(1) noalias nocapture writeonly, ptr noalias nocapture readonly, i32, i1 immarg)25declare void @llvm.memcpy.p1.p1.i32(ptr addrspace(1) noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i32, i1 immarg)26declare void @llvm.memcpy.p1.p2.i32(ptr addrspace(1) noalias nocapture writeonly, ptr addrspace(2) noalias nocapture readonly, i32, i1 immarg)27declare void @llvm.memcpy.p1.p3.i32(ptr addrspace(1) noalias nocapture writeonly, ptr addrspace(3) noalias nocapture readonly, i32, i1 immarg)28declare void @llvm.memcpy.p1.p4.i32(ptr addrspace(1) noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i32, i1 immarg)29declare void @llvm.memcpy.p1.p5.i32(ptr addrspace(1) noalias nocapture writeonly, ptr addrspace(5) noalias nocapture readonly, i32, i1 immarg)30 31declare void @llvm.memcpy.p2.p0.i64(ptr addrspace(2) noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg)32declare void @llvm.memcpy.p2.p1.i64(ptr addrspace(2) noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i64, i1 immarg)33declare void @llvm.memcpy.p2.p2.i64(ptr addrspace(2) noalias nocapture writeonly, ptr addrspace(2) noalias nocapture readonly, i64, i1 immarg)34declare void @llvm.memcpy.p2.p3.i64(ptr addrspace(2) noalias nocapture writeonly, ptr addrspace(3) noalias nocapture readonly, i64, i1 immarg)35declare void @llvm.memcpy.p2.p4.i64(ptr addrspace(2) noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i64, i1 immarg)36declare void @llvm.memcpy.p2.p5.i64(ptr addrspace(2) noalias nocapture writeonly, ptr addrspace(5) noalias nocapture readonly, i64, i1 immarg)37 38declare void @llvm.memcpy.p2.p0.i32(ptr addrspace(2) noalias nocapture writeonly, ptr noalias nocapture readonly, i32, i1 immarg)39declare void @llvm.memcpy.p2.p1.i32(ptr addrspace(2) noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i32, i1 immarg)40declare void @llvm.memcpy.p2.p2.i32(ptr addrspace(2) noalias nocapture writeonly, ptr addrspace(2) noalias nocapture readonly, i32, i1 immarg)41declare void @llvm.memcpy.p2.p3.i32(ptr addrspace(2) noalias nocapture writeonly, ptr addrspace(3) noalias nocapture readonly, i32, i1 immarg)42declare void @llvm.memcpy.p2.p4.i32(ptr addrspace(2) noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i32, i1 immarg)43declare void @llvm.memcpy.p2.p5.i32(ptr addrspace(2) noalias nocapture writeonly, ptr addrspace(5) noalias nocapture readonly, i32, i1 immarg)44 45declare void @llvm.memcpy.p3.p0.i64(ptr addrspace(3) noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg)46declare void @llvm.memcpy.p3.p1.i64(ptr addrspace(3) noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i64, i1 immarg)47declare void @llvm.memcpy.p3.p2.i64(ptr addrspace(3) noalias nocapture writeonly, ptr addrspace(2) noalias nocapture readonly, i64, i1 immarg)48declare void @llvm.memcpy.p3.p3.i64(ptr addrspace(3) noalias nocapture writeonly, ptr addrspace(3) noalias nocapture readonly, i64, i1 immarg)49declare void @llvm.memcpy.p3.p4.i64(ptr addrspace(3) noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i64, i1 immarg)50declare void @llvm.memcpy.p3.p5.i64(ptr addrspace(3) noalias nocapture writeonly, ptr addrspace(5) noalias nocapture readonly, i64, i1 immarg)51 52declare void @llvm.memcpy.p3.p0.i32(ptr addrspace(3) noalias nocapture writeonly, ptr noalias nocapture readonly, i32, i1 immarg)53declare void @llvm.memcpy.p3.p1.i32(ptr addrspace(3) noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i32, i1 immarg)54declare void @llvm.memcpy.p3.p2.i32(ptr addrspace(3) noalias nocapture writeonly, ptr addrspace(2) noalias nocapture readonly, i32, i1 immarg)55declare void @llvm.memcpy.p3.p3.i32(ptr addrspace(3) noalias nocapture writeonly, ptr addrspace(3) noalias nocapture readonly, i32, i1 immarg)56declare void @llvm.memcpy.p3.p4.i32(ptr addrspace(3) noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i32, i1 immarg)57declare void @llvm.memcpy.p3.p5.i32(ptr addrspace(3) noalias nocapture writeonly, ptr addrspace(5) noalias nocapture readonly, i32, i1 immarg)58 59declare void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg)60declare void @llvm.memcpy.p4.p1.i64(ptr addrspace(4) noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i64, i1 immarg)61declare void @llvm.memcpy.p4.p2.i64(ptr addrspace(4) noalias nocapture writeonly, ptr addrspace(2) noalias nocapture readonly, i64, i1 immarg)62declare void @llvm.memcpy.p4.p3.i64(ptr addrspace(4) noalias nocapture writeonly, ptr addrspace(3) noalias nocapture readonly, i64, i1 immarg)63declare void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i64, i1 immarg)64declare void @llvm.memcpy.p4.p5.i64(ptr addrspace(4) noalias nocapture writeonly, ptr addrspace(5) noalias nocapture readonly, i64, i1 immarg)65 66declare void @llvm.memcpy.p4.p0.i32(ptr addrspace(4) noalias nocapture writeonly, ptr noalias nocapture readonly, i32, i1 immarg)67declare void @llvm.memcpy.p4.p1.i32(ptr addrspace(4) noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i32, i1 immarg)68declare void @llvm.memcpy.p4.p2.i32(ptr addrspace(4) noalias nocapture writeonly, ptr addrspace(2) noalias nocapture readonly, i32, i1 immarg)69declare void @llvm.memcpy.p4.p3.i32(ptr addrspace(4) noalias nocapture writeonly, ptr addrspace(3) noalias nocapture readonly, i32, i1 immarg)70declare void @llvm.memcpy.p4.p4.i32(ptr addrspace(4) noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i32, i1 immarg)71declare void @llvm.memcpy.p4.p5.i32(ptr addrspace(4) noalias nocapture writeonly, ptr addrspace(5) noalias nocapture readonly, i32, i1 immarg)72 73declare void @llvm.memcpy.p5.p0.i64(ptr addrspace(5) noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg)74declare void @llvm.memcpy.p5.p1.i64(ptr addrspace(5) noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i64, i1 immarg)75declare void @llvm.memcpy.p5.p2.i64(ptr addrspace(5) noalias nocapture writeonly, ptr addrspace(2) noalias nocapture readonly, i64, i1 immarg)76declare void @llvm.memcpy.p5.p3.i64(ptr addrspace(5) noalias nocapture writeonly, ptr addrspace(3) noalias nocapture readonly, i64, i1 immarg)77declare void @llvm.memcpy.p5.p4.i64(ptr addrspace(5) noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i64, i1 immarg)78declare void @llvm.memcpy.p5.p5.i64(ptr addrspace(5) noalias nocapture writeonly, ptr addrspace(5) noalias nocapture readonly, i64, i1 immarg)79 80declare void @llvm.memcpy.p5.p0.i32(ptr addrspace(5) noalias nocapture writeonly, ptr noalias nocapture readonly, i32, i1 immarg)81declare void @llvm.memcpy.p5.p1.i32(ptr addrspace(5) noalias nocapture writeonly, ptr addrspace(1) noalias nocapture readonly, i32, i1 immarg)82declare void @llvm.memcpy.p5.p2.i32(ptr addrspace(5) noalias nocapture writeonly, ptr addrspace(2) noalias nocapture readonly, i32, i1 immarg)83declare void @llvm.memcpy.p5.p3.i32(ptr addrspace(5) noalias nocapture writeonly, ptr addrspace(3) noalias nocapture readonly, i32, i1 immarg)84declare void @llvm.memcpy.p5.p4.i32(ptr addrspace(5) noalias nocapture writeonly, ptr addrspace(4) noalias nocapture readonly, i32, i1 immarg)85declare void @llvm.memcpy.p5.p5.i32(ptr addrspace(5) noalias nocapture writeonly, ptr addrspace(5) noalias nocapture readonly, i32, i1 immarg)86 87declare void @llvm.memmove.p0.p0.i64(ptr nocapture writeonly, ptr nocapture readonly, i64, i1 immarg)88declare void @llvm.memmove.p0.p1.i64(ptr nocapture writeonly, ptr addrspace(1) nocapture readonly, i64, i1 immarg)89declare void @llvm.memmove.p0.p2.i64(ptr nocapture writeonly, ptr addrspace(2) nocapture readonly, i64, i1 immarg)90declare void @llvm.memmove.p0.p3.i64(ptr nocapture writeonly, ptr addrspace(3) nocapture readonly, i64, i1 immarg)91declare void @llvm.memmove.p0.p4.i64(ptr nocapture writeonly, ptr addrspace(4) nocapture readonly, i64, i1 immarg)92declare void @llvm.memmove.p0.p5.i64(ptr nocapture writeonly, ptr addrspace(5) nocapture readonly, i64, i1 immarg)93 94declare void @llvm.memmove.p0.p0.i32(ptr nocapture writeonly, ptr nocapture readonly, i32, i1 immarg)95declare void @llvm.memmove.p0.p1.i32(ptr nocapture writeonly, ptr addrspace(1) nocapture readonly, i32, i1 immarg)96declare void @llvm.memmove.p0.p2.i32(ptr nocapture writeonly, ptr addrspace(2) nocapture readonly, i32, i1 immarg)97declare void @llvm.memmove.p0.p3.i32(ptr nocapture writeonly, ptr addrspace(3) nocapture readonly, i32, i1 immarg)98declare void @llvm.memmove.p0.p4.i32(ptr nocapture writeonly, ptr addrspace(4) nocapture readonly, i32, i1 immarg)99declare void @llvm.memmove.p0.p5.i32(ptr nocapture writeonly, ptr addrspace(5) nocapture readonly, i32, i1 immarg)100 101declare void @llvm.memmove.p1.p0.i64(ptr addrspace(1) nocapture writeonly, ptr nocapture readonly, i64, i1 immarg)102declare void @llvm.memmove.p1.p1.i64(ptr addrspace(1) nocapture writeonly, ptr addrspace(1) nocapture readonly, i64, i1 immarg)103declare void @llvm.memmove.p1.p2.i64(ptr addrspace(1) nocapture writeonly, ptr addrspace(2) nocapture readonly, i64, i1 immarg)104declare void @llvm.memmove.p1.p3.i64(ptr addrspace(1) nocapture writeonly, ptr addrspace(3) nocapture readonly, i64, i1 immarg)105declare void @llvm.memmove.p1.p4.i64(ptr addrspace(1) nocapture writeonly, ptr addrspace(4) nocapture readonly, i64, i1 immarg)106declare void @llvm.memmove.p1.p5.i64(ptr addrspace(1) nocapture writeonly, ptr addrspace(5) nocapture readonly, i64, i1 immarg)107 108declare void @llvm.memmove.p1.p0.i32(ptr addrspace(1) nocapture writeonly, ptr nocapture readonly, i32, i1 immarg)109declare void @llvm.memmove.p1.p1.i32(ptr addrspace(1) nocapture writeonly, ptr addrspace(1) nocapture readonly, i32, i1 immarg)110declare void @llvm.memmove.p1.p2.i32(ptr addrspace(1) nocapture writeonly, ptr addrspace(2) nocapture readonly, i32, i1 immarg)111declare void @llvm.memmove.p1.p3.i32(ptr addrspace(1) nocapture writeonly, ptr addrspace(3) nocapture readonly, i32, i1 immarg)112declare void @llvm.memmove.p1.p4.i32(ptr addrspace(1) nocapture writeonly, ptr addrspace(4) nocapture readonly, i32, i1 immarg)113declare void @llvm.memmove.p1.p5.i32(ptr addrspace(1) nocapture writeonly, ptr addrspace(5) nocapture readonly, i32, i1 immarg)114 115declare void @llvm.memmove.p2.p0.i64(ptr addrspace(2) nocapture writeonly, ptr nocapture readonly, i64, i1 immarg)116declare void @llvm.memmove.p2.p1.i64(ptr addrspace(2) nocapture writeonly, ptr addrspace(1) nocapture readonly, i64, i1 immarg)117declare void @llvm.memmove.p2.p2.i64(ptr addrspace(2) nocapture writeonly, ptr addrspace(2) nocapture readonly, i64, i1 immarg)118declare void @llvm.memmove.p2.p3.i64(ptr addrspace(2) nocapture writeonly, ptr addrspace(3) nocapture readonly, i64, i1 immarg)119declare void @llvm.memmove.p2.p4.i64(ptr addrspace(2) nocapture writeonly, ptr addrspace(4) nocapture readonly, i64, i1 immarg)120declare void @llvm.memmove.p2.p5.i64(ptr addrspace(2) nocapture writeonly, ptr addrspace(5) nocapture readonly, i64, i1 immarg)121 122declare void @llvm.memmove.p2.p0.i32(ptr addrspace(2) nocapture writeonly, ptr nocapture readonly, i32, i1 immarg)123declare void @llvm.memmove.p2.p1.i32(ptr addrspace(2) nocapture writeonly, ptr addrspace(1) nocapture readonly, i32, i1 immarg)124declare void @llvm.memmove.p2.p2.i32(ptr addrspace(2) nocapture writeonly, ptr addrspace(2) nocapture readonly, i32, i1 immarg)125declare void @llvm.memmove.p2.p3.i32(ptr addrspace(2) nocapture writeonly, ptr addrspace(3) nocapture readonly, i32, i1 immarg)126declare void @llvm.memmove.p2.p4.i32(ptr addrspace(2) nocapture writeonly, ptr addrspace(4) nocapture readonly, i32, i1 immarg)127declare void @llvm.memmove.p2.p5.i32(ptr addrspace(2) nocapture writeonly, ptr addrspace(5) nocapture readonly, i32, i1 immarg)128 129declare void @llvm.memmove.p3.p0.i64(ptr addrspace(3) nocapture writeonly, ptr nocapture readonly, i64, i1 immarg)130declare void @llvm.memmove.p3.p1.i64(ptr addrspace(3) nocapture writeonly, ptr addrspace(1) nocapture readonly, i64, i1 immarg)131declare void @llvm.memmove.p3.p2.i64(ptr addrspace(3) nocapture writeonly, ptr addrspace(2) nocapture readonly, i64, i1 immarg)132declare void @llvm.memmove.p3.p3.i64(ptr addrspace(3) nocapture writeonly, ptr addrspace(3) nocapture readonly, i64, i1 immarg)133declare void @llvm.memmove.p3.p4.i64(ptr addrspace(3) nocapture writeonly, ptr addrspace(4) nocapture readonly, i64, i1 immarg)134declare void @llvm.memmove.p3.p5.i64(ptr addrspace(3) nocapture writeonly, ptr addrspace(5) nocapture readonly, i64, i1 immarg)135 136declare void @llvm.memmove.p3.p0.i32(ptr addrspace(3) nocapture writeonly, ptr nocapture readonly, i32, i1 immarg)137declare void @llvm.memmove.p3.p1.i32(ptr addrspace(3) nocapture writeonly, ptr addrspace(1) nocapture readonly, i32, i1 immarg)138declare void @llvm.memmove.p3.p2.i32(ptr addrspace(3) nocapture writeonly, ptr addrspace(2) nocapture readonly, i32, i1 immarg)139declare void @llvm.memmove.p3.p3.i32(ptr addrspace(3) nocapture writeonly, ptr addrspace(3) nocapture readonly, i32, i1 immarg)140declare void @llvm.memmove.p3.p4.i32(ptr addrspace(3) nocapture writeonly, ptr addrspace(4) nocapture readonly, i32, i1 immarg)141declare void @llvm.memmove.p3.p5.i32(ptr addrspace(3) nocapture writeonly, ptr addrspace(5) nocapture readonly, i32, i1 immarg)142 143declare void @llvm.memmove.p4.p0.i64(ptr addrspace(4) nocapture writeonly, ptr nocapture readonly, i64, i1 immarg)144declare void @llvm.memmove.p4.p1.i64(ptr addrspace(4) nocapture writeonly, ptr addrspace(1) nocapture readonly, i64, i1 immarg)145declare void @llvm.memmove.p4.p2.i64(ptr addrspace(4) nocapture writeonly, ptr addrspace(2) nocapture readonly, i64, i1 immarg)146declare void @llvm.memmove.p4.p3.i64(ptr addrspace(4) nocapture writeonly, ptr addrspace(3) nocapture readonly, i64, i1 immarg)147declare void @llvm.memmove.p4.p4.i64(ptr addrspace(4) nocapture writeonly, ptr addrspace(4) nocapture readonly, i64, i1 immarg)148declare void @llvm.memmove.p4.p5.i64(ptr addrspace(4) nocapture writeonly, ptr addrspace(5) nocapture readonly, i64, i1 immarg)149 150declare void @llvm.memmove.p4.p0.i32(ptr addrspace(4) nocapture writeonly, ptr nocapture readonly, i32, i1 immarg)151declare void @llvm.memmove.p4.p1.i32(ptr addrspace(4) nocapture writeonly, ptr addrspace(1) nocapture readonly, i32, i1 immarg)152declare void @llvm.memmove.p4.p2.i32(ptr addrspace(4) nocapture writeonly, ptr addrspace(2) nocapture readonly, i32, i1 immarg)153declare void @llvm.memmove.p4.p3.i32(ptr addrspace(4) nocapture writeonly, ptr addrspace(3) nocapture readonly, i32, i1 immarg)154declare void @llvm.memmove.p4.p4.i32(ptr addrspace(4) nocapture writeonly, ptr addrspace(4) nocapture readonly, i32, i1 immarg)155declare void @llvm.memmove.p4.p5.i32(ptr addrspace(4) nocapture writeonly, ptr addrspace(5) nocapture readonly, i32, i1 immarg)156 157declare void @llvm.memmove.p5.p0.i64(ptr addrspace(5) nocapture writeonly, ptr nocapture readonly, i64, i1 immarg)158declare void @llvm.memmove.p5.p1.i64(ptr addrspace(5) nocapture writeonly, ptr addrspace(1) nocapture readonly, i64, i1 immarg)159declare void @llvm.memmove.p5.p2.i64(ptr addrspace(5) nocapture writeonly, ptr addrspace(2) nocapture readonly, i64, i1 immarg)160declare void @llvm.memmove.p5.p3.i64(ptr addrspace(5) nocapture writeonly, ptr addrspace(3) nocapture readonly, i64, i1 immarg)161declare void @llvm.memmove.p5.p4.i64(ptr addrspace(5) nocapture writeonly, ptr addrspace(4) nocapture readonly, i64, i1 immarg)162declare void @llvm.memmove.p5.p5.i64(ptr addrspace(5) nocapture writeonly, ptr addrspace(5) nocapture readonly, i64, i1 immarg)163 164declare void @llvm.memmove.p5.p0.i32(ptr addrspace(5) nocapture writeonly, ptr nocapture readonly, i32, i1 immarg)165declare void @llvm.memmove.p5.p1.i32(ptr addrspace(5) nocapture writeonly, ptr addrspace(1) nocapture readonly, i32, i1 immarg)166declare void @llvm.memmove.p5.p2.i32(ptr addrspace(5) nocapture writeonly, ptr addrspace(2) nocapture readonly, i32, i1 immarg)167declare void @llvm.memmove.p5.p3.i32(ptr addrspace(5) nocapture writeonly, ptr addrspace(3) nocapture readonly, i32, i1 immarg)168declare void @llvm.memmove.p5.p4.i32(ptr addrspace(5) nocapture writeonly, ptr addrspace(4) nocapture readonly, i32, i1 immarg)169declare void @llvm.memmove.p5.p5.i32(ptr addrspace(5) nocapture writeonly, ptr addrspace(5) nocapture readonly, i32, i1 immarg)170 171declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg)172declare void @llvm.memset.p1.i64(ptr addrspace(1) nocapture writeonly, i8, i64, i1 immarg)173declare void @llvm.memset.p2.i64(ptr addrspace(2) nocapture writeonly, i8, i64, i1 immarg)174declare void @llvm.memset.p3.i64(ptr addrspace(3) nocapture writeonly, i8, i64, i1 immarg)175declare void @llvm.memset.p4.i64(ptr addrspace(4) nocapture writeonly, i8, i64, i1 immarg)176declare void @llvm.memset.p5.i64(ptr addrspace(5) nocapture writeonly, i8, i64, i1 immarg)177 178declare void @llvm.memset.p0.i32(ptr nocapture writeonly, i8, i32, i1 immarg)179declare void @llvm.memset.p1.i32(ptr addrspace(1) nocapture writeonly, i8, i32, i1 immarg)180declare void @llvm.memset.p2.i32(ptr addrspace(2) nocapture writeonly, i8, i32, i1 immarg)181declare void @llvm.memset.p3.i32(ptr addrspace(3) nocapture writeonly, i8, i32, i1 immarg)182declare void @llvm.memset.p4.i32(ptr addrspace(4) nocapture writeonly, i8, i32, i1 immarg)183declare void @llvm.memset.p5.i32(ptr addrspace(5) nocapture writeonly, i8, i32, i1 immarg)184 185define void @test_mem_intrinsic_memcpy(ptr %dest0,ptr %src0,ptr addrspace(1) %dest1,ptr addrspace(1) %src1,ptr addrspace(2) %dest2,ptr addrspace(2) %src2,ptr addrspace(3) %dest3,ptr addrspace(3) %src3,ptr addrspace(4) %dest4,ptr addrspace(4) %src4,ptr addrspace(5) %dest5,ptr addrspace(5) %src5) #0 {186entry:187 ;CHECK: define void @test_mem_intrinsic_memcpy(ptr [[DEST0:%.*]], ptr [[SRC0:%.*]], ptr addrspace(1) [[DEST1:%.*]], ptr addrspace(1) [[SRC1:%.*]], ptr addrspace(2) [[DEST2:%.*]], ptr addrspace(2) [[SRC2:%.*]], ptr addrspace(3) [[DEST3:%.*]], ptr addrspace(3) [[SRC3:%.*]], ptr addrspace(4) [[DEST4:%.*]], ptr addrspace(4) [[SRC4:%.*]], ptr addrspace(5) [[DEST5:%.*]], ptr addrspace(5) [[SRC5:%.*]]){{.*}} {188 ;CHECK-NEXT: entry:189 ;CHECK-NEXT: [[VR0:%.*]] = call ptr @__asan_memcpy(ptr [[DEST0]], ptr [[SRC0]], i64 64)190 ;CHECK-NEXT: [[VR1:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr191 ;CHECK-NEXT: [[VR2:%.*]] = call ptr @__asan_memcpy(ptr [[DEST0]], ptr [[VR1]], i64 64)192 ;CHECK-NEXT: [[VR3:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr193 ;CHECK-NEXT: [[VR4:%.*]] = call ptr @__asan_memcpy(ptr [[DEST0]], ptr [[VR3]], i64 64)194 ;CHECK-NEXT: [[VR5:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr195 ;CHECK-NEXT: [[VR6:%.*]] = call ptr @__asan_memcpy(ptr [[DEST0]], ptr [[VR5]], i64 64)196 ;CHECK-NEXT: [[VR7:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr197 ;CHECK-NEXT: [[VR8:%.*]] = call ptr @__asan_memcpy(ptr [[DEST0]], ptr [[VR7]], i64 64)198 ;CHECK-NEXT: [[VR9:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr199 ;CHECK-NEXT: [[VR10:%.*]] = call ptr @__asan_memcpy(ptr [[DEST0]], ptr [[VR9]], i64 64)200 ;CHECK-NEXT: [[VR11:%.*]] = call ptr @__asan_memcpy(ptr [[DEST0]], ptr [[SRC0]], i64 32)201 ;CHECK-NEXT: [[VR12:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr202 ;CHECK-NEXT: [[VR13:%.*]] = call ptr @__asan_memcpy(ptr [[DEST0]], ptr [[VR12]], i64 32)203 ;CHECK-NEXT: [[VR14:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr204 ;CHECK-NEXT: [[VR15:%.*]] = call ptr @__asan_memcpy(ptr [[DEST0]], ptr [[VR14]], i64 32)205 ;CHECK-NEXT: [[VR16:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr206 ;CHECK-NEXT: [[VR17:%.*]] = call ptr @__asan_memcpy(ptr [[DEST0]], ptr [[VR16]], i64 32)207 ;CHECK-NEXT: [[VR18:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr208 ;CHECK-NEXT: [[VR19:%.*]] = call ptr @__asan_memcpy(ptr [[DEST0]], ptr %18, i64 32)209 ;CHECK-NEXT: [[VR20:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr210 ;CHECK-NEXT: [[VR21:%.*]] = call ptr @__asan_memcpy(ptr [[DEST0]], ptr [[VR20]], i64 32)211 ;CHECK-NEXT: [[VR22:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr212 ;CHECK-NEXT: [[VR23:%.*]] = call ptr @__asan_memcpy(ptr [[VR22]], ptr [[SRC0]], i64 64)213 ;CHECK-NEXT: [[VR24:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr214 ;CHECK-NEXT: [[VR25:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr215 ;CHECK-NEXT: [[VR26:%.*]] = call ptr @__asan_memcpy(ptr [[VR24]], ptr [[VR25]], i64 64)216 ;CHECK-NEXT: [[VR27:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr217 ;CHECK-NEXT: [[VR28:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr218 ;CHECK-NEXT: [[VR29:%.*]] = call ptr @__asan_memcpy(ptr [[VR27]], ptr [[VR28]], i64 64)219 ;CHECK-NEXT: [[VR30:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr220 ;CHECK-NEXT: [[VR31:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr221 ;CHECK-NEXT: [[VR32:%.*]] = call ptr @__asan_memcpy(ptr [[VR30]], ptr [[VR31]], i64 64)222 ;CHECK-NEXT: [[VR33:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr223 ;CHECK-NEXT: [[VR34:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr224 ;CHECK-NEXT: [[VR35:%.*]] = call ptr @__asan_memcpy(ptr [[VR33]], ptr [[VR34]], i64 64)225 ;CHECK-NEXT: [[VR36:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr226 ;CHECK-NEXT: [[VR37:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr227 ;CHECK-NEXT: [[VR38:%.*]] = call ptr @__asan_memcpy(ptr [[VR36]], ptr [[VR37]], i64 64)228 ;CHECK-NEXT: [[VR39:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr229 ;CHECK-NEXT: [[VR40:%.*]] = call ptr @__asan_memcpy(ptr [[VR39]], ptr [[SRC0]], i64 32)230 ;CHECK-NEXT: [[VR41:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr231 ;CHECK-NEXT: [[VR42:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr232 ;CHECK-NEXT: [[VR43:%.*]] = call ptr @__asan_memcpy(ptr [[VR41]], ptr [[VR42]], i64 32)233 ;CHECK-NEXT: [[VR44:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr234 ;CHECK-NEXT: [[VR45:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr235 ;CHECK-NEXT: [[VR46:%.*]] = call ptr @__asan_memcpy(ptr [[VR44]], ptr [[VR45]], i64 32)236 ;CHECK-NEXT: [[VR47:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr237 ;CHECK-NEXT: [[VR48:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr238 ;CHECK-NEXT: [[VR49:%.*]] = call ptr @__asan_memcpy(ptr [[VR47]], ptr [[VR48]], i64 32)239 ;CHECK-NEXT: [[VR50:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr240 ;CHECK-NEXT: [[VR51:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr241 ;CHECK-NEXT: [[VR52:%.*]] = call ptr @__asan_memcpy(ptr [[VR50]], ptr [[VR51]], i64 32)242 ;CHECK-NEXT: [[VR53:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr243 ;CHECK-NEXT: [[VR54:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr244 ;CHECK-NEXT: [[VR55:%.*]] = call ptr @__asan_memcpy(ptr [[VR53]], ptr [[VR54]], i64 32)245 ;CHECK-NEXT: [[VR56:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr246 ;CHECK-NEXT: [[VR57:%.*]] = call ptr @__asan_memcpy(ptr [[VR56]], ptr [[SRC0]], i64 64)247 ;CHECK-NEXT: [[VR58:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr248 ;CHECK-NEXT: [[VR59:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr249 ;CHECK-NEXT: [[VR60:%.*]] = call ptr @__asan_memcpy(ptr [[VR58]], ptr [[VR59]], i64 64)250 ;CHECK-NEXT: [[VR61:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr251 ;CHECK-NEXT: [[VR62:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr252 ;CHECK-NEXT: [[VR63:%.*]] = call ptr @__asan_memcpy(ptr [[VR61]], ptr [[VR62]], i64 64)253 ;CHECK-NEXT: [[VR64:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr254 ;CHECK-NEXT: [[VR65:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr255 ;CHECK-NEXT: [[VR66:%.*]] = call ptr @__asan_memcpy(ptr [[VR64]], ptr [[VR65]], i64 64)256 ;CHECK-NEXT: [[VR67:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr257 ;CHECK-NEXT: [[VR68:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr258 ;CHECK-NEXT: [[VR69:%.*]] = call ptr @__asan_memcpy(ptr [[VR67]], ptr [[VR68]], i64 64)259 ;CHECK-NEXT: [[VR70:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr260 ;CHECK-NEXT: [[VR71:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr261 ;CHECK-NEXT: [[VR72:%.*]] = call ptr @__asan_memcpy(ptr [[VR70]], ptr [[VR71]], i64 64)262 ;CHECK-NEXT: [[VR73:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr263 ;CHECK-NEXT: [[VR74:%.*]] = call ptr @__asan_memcpy(ptr [[VR73]], ptr [[SRC0]], i64 32)264 ;CHECK-NEXT: [[VR75:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr265 ;CHECK-NEXT: [[VR76:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr266 ;CHECK-NEXT: [[VR77:%.*]] = call ptr @__asan_memcpy(ptr [[VR75]], ptr [[VR76]], i64 32)267 ;CHECK-NEXT: [[VR78:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr268 ;CHECK-NEXT: [[VR79:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr269 ;CHECK-NEXT: [[VR80:%.*]] = call ptr @__asan_memcpy(ptr [[VR78]], ptr [[VR79]], i64 32)270 ;CHECK-NEXT: [[VR81:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr271 ;CHECK-NEXT: [[VR82:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr272 ;CHECK-NEXT: [[VR83:%.*]] = call ptr @__asan_memcpy(ptr [[VR81]], ptr [[VR82]], i64 32)273 ;CHECK-NEXT: [[VR84:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr274 ;CHECK-NEXT: [[VR85:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr275 ;CHECK-NEXT: [[VR86:%.*]] = call ptr @__asan_memcpy(ptr [[VR84]], ptr [[VR85]], i64 32)276 ;CHECK-NEXT: [[VR87:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr277 ;CHECK-NEXT: [[VR88:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr278 ;CHECK-NEXT: [[VR89:%.*]] = call ptr @__asan_memcpy(ptr [[VR87]], ptr [[VR88]], i64 32)279 ;CHECK-NEXT: [[VR90:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr280 ;CHECK-NEXT: [[VR91:%.*]] = call ptr @__asan_memcpy(ptr [[VR90]], ptr [[SRC0]], i64 64)281 ;CHECK-NEXT: [[VR92:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr282 ;CHECK-NEXT: [[VR93:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr283 ;CHECK-NEXT: [[VR94:%.*]] = call ptr @__asan_memcpy(ptr [[VR92]], ptr [[VR93]], i64 64)284 ;CHECK-NEXT: [[VR95:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr285 ;CHECK-NEXT: [[VR96:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr286 ;CHECK-NEXT: [[VR97:%.*]] = call ptr @__asan_memcpy(ptr [[VR95]], ptr [[VR96]], i64 64)287 ;CHECK-NEXT: [[VR98:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr288 ;CHECK-NEXT: [[VR99:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr289 ;CHECK-NEXT: [[VR100:%.*]] = call ptr @__asan_memcpy(ptr [[VR98]], ptr [[VR99]], i64 64)290 ;CHECK-NEXT: [[VR101:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr291 ;CHECK-NEXT: [[VR102:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr292 ;CHECK-NEXT: [[VR103:%.*]] = call ptr @__asan_memcpy(ptr [[VR101]], ptr [[VR102]], i64 64)293 ;CHECK-NEXT: [[VR104:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr294 ;CHECK-NEXT: [[VR105:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr295 ;CHECK-NEXT: [[VR106:%.*]] = call ptr @__asan_memcpy(ptr [[VR104]], ptr [[VR105]], i64 64)296 ;CHECK-NEXT: [[VR107:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr297 ;CHECK-NEXT: [[VR108:%.*]] = call ptr @__asan_memcpy(ptr [[VR107]], ptr [[SRC0]], i64 32)298 ;CHECK-NEXT: [[VR109:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr299 ;CHECK-NEXT: [[VR110:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr300 ;CHECK-NEXT: [[VR111:%.*]] = call ptr @__asan_memcpy(ptr [[VR109]], ptr [[VR110]], i64 32)301 ;CHECK-NEXT: [[VR112:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr302 ;CHECK-NEXT: [[VR113:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr303 ;CHECK-NEXT: [[VR114:%.*]] = call ptr @__asan_memcpy(ptr [[VR112]], ptr [[VR113]], i64 32)304 ;CHECK-NEXT: [[VR115:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr305 ;CHECK-NEXT: [[VR116:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr306 ;CHECK-NEXT: [[VR117:%.*]] = call ptr @__asan_memcpy(ptr [[VR115]], ptr [[VR116]], i64 32)307 ;CHECK-NEXT: [[VR118:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr308 ;CHECK-NEXT: [[VR119:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr309 ;CHECK-NEXT: [[VR120:%.*]] = call ptr @__asan_memcpy(ptr [[VR118]], ptr [[VR119]], i64 32)310 ;CHECK-NEXT: [[VR121:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr311 ;CHECK-NEXT: [[VR122:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr312 ;CHECK-NEXT: [[VR123:%.*]] = call ptr @__asan_memcpy(ptr [[VR121]], ptr [[VR122]], i64 32)313 ;CHECK-NEXT: [[VR124:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr314 ;CHECK-NEXT: [[VR125:%.*]] = call ptr @__asan_memcpy(ptr [[VR124]], ptr [[SRC0]], i64 64)315 ;CHECK-NEXT: [[VR126:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr316 ;CHECK-NEXT: [[VR127:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr317 ;CHECK-NEXT: [[VR128:%.*]] = call ptr @__asan_memcpy(ptr [[VR126]], ptr [[VR127]], i64 64)318 ;CHECK-NEXT: [[VR129:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr319 ;CHECK-NEXT: [[VR130:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr320 ;CHECK-NEXT: [[VR131:%.*]] = call ptr @__asan_memcpy(ptr [[VR129]], ptr [[VR130]], i64 64)321 ;CHECK-NEXT: [[VR132:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr322 ;CHECK-NEXT: [[VR133:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr323 ;CHECK-NEXT: [[VR134:%.*]] = call ptr @__asan_memcpy(ptr [[VR132]], ptr [[VR133]], i64 64)324 ;CHECK-NEXT: [[VR135:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr325 ;CHECK-NEXT: [[VR136:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr326 ;CHECK-NEXT: [[VR137:%.*]] = call ptr @__asan_memcpy(ptr [[VR135]], ptr [[VR136]], i64 64)327 ;CHECK-NEXT: [[VR138:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr328 ;CHECK-NEXT: [[VR139:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr329 ;CHECK-NEXT: [[VR140:%.*]] = call ptr @__asan_memcpy(ptr [[VR138]], ptr [[VR139]], i64 64)330 ;CHECK-NEXT: [[VR141:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr331 ;CHECK-NEXT: [[VR142:%.*]] = call ptr @__asan_memcpy(ptr [[VR141]], ptr [[SRC0]], i64 32)332 ;CHECK-NEXT: [[VR143:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr333 ;CHECK-NEXT: [[VR144:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr334 ;CHECK-NEXT: [[VR145:%.*]] = call ptr @__asan_memcpy(ptr [[VR143]], ptr [[VR144]], i64 32)335 ;CHECK-NEXT: [[VR146:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr336 ;CHECK-NEXT: [[VR147:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr337 ;CHECK-NEXT: [[VR148:%.*]] = call ptr @__asan_memcpy(ptr [[VR146]], ptr [[VR147]], i64 32)338 ;CHECK-NEXT: [[VR149:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr339 ;CHECK-NEXT: [[VR150:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr340 ;CHECK-NEXT: [[VR151:%.*]] = call ptr @__asan_memcpy(ptr [[VR149]], ptr [[VR150]], i64 32)341 ;CHECK-NEXT: [[VR152:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr342 ;CHECK-NEXT: [[VR153:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr343 ;CHECK-NEXT: [[VR154:%.*]] = call ptr @__asan_memcpy(ptr [[VR152]], ptr [[VR153]], i64 32)344 ;CHECK-NEXT: [[VR155:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr345 ;CHECK-NEXT: [[VR156:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr346 ;CHECK-NEXT: [[VR157:%.*]] = call ptr @__asan_memcpy(ptr [[VR155]], ptr [[VR156]], i64 32)347 ;CHECK-NEXT: [[VR158:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr348 ;CHECK-NEXT: [[VR159:%.*]] = call ptr @__asan_memcpy(ptr [[VR158]], ptr [[SRC0]], i64 64)349 ;CHECK-NEXT: [[VR160:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr350 ;CHECK-NEXT: [[VR161:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr351 ;CHECK-NEXT: [[VR162:%.*]] = call ptr @__asan_memcpy(ptr [[VR160]], ptr [[VR161]], i64 64)352 ;CHECK-NEXT: [[VR163:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr353 ;CHECK-NEXT: [[VR164:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr354 ;CHECK-NEXT: [[VR165:%.*]] = call ptr @__asan_memcpy(ptr [[VR163]], ptr [[VR164]], i64 64)355 ;CHECK-NEXT: [[VR166:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr356 ;CHECK-NEXT: [[VR167:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr357 ;CHECK-NEXT: [[VR168:%.*]] = call ptr @__asan_memcpy(ptr [[VR166]], ptr [[VR167]], i64 64)358 ;CHECK-NEXT: [[VR169:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr359 ;CHECK-NEXT: [[VR170:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr360 ;CHECK-NEXT: [[VR171:%.*]] = call ptr @__asan_memcpy(ptr [[VR169]], ptr [[VR170]], i64 64)361 ;CHECK-NEXT: [[VR172:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr362 ;CHECK-NEXT: [[VR173:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr363 ;CHECK-NEXT: [[VR174:%.*]] = call ptr @__asan_memcpy(ptr [[VR172]], ptr [[VR173]], i64 64)364 ;CHECK-NEXT: [[VR175:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr365 ;CHECK-NEXT: [[VR176:%.*]] = call ptr @__asan_memcpy(ptr %175, ptr %src0, i64 32)366 ;CHECK-NEXT: [[VR177:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr367 ;CHECK-NEXT: [[VR178:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr368 ;CHECK-NEXT: [[VR179:%.*]] = call ptr @__asan_memcpy(ptr [[VR177]], ptr [[VR178]], i64 32)369 ;CHECK-NEXT: [[VR180:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr370 ;CHECK-NEXT: [[VR181:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr371 ;CHECK-NEXT: [[VR182:%.*]] = call ptr @__asan_memcpy(ptr [[VR180]], ptr [[VR181]], i64 32)372 ;CHECK-NEXT: [[VR183:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr373 ;CHECK-NEXT: [[VR184:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr374 ;CHECK-NEXT: [[VR185:%.*]] = call ptr @__asan_memcpy(ptr [[VR183]], ptr [[VR184]], i64 32)375 ;CHECK-NEXT: [[VR186:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr376 ;CHECK-NEXT: [[VR187:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr377 ;CHECK-NEXT: [[VR188:%.*]] = call ptr @__asan_memcpy(ptr [[VR186]], ptr [[VR187]], i64 32)378 ;CHECK-NEXT: [[VR189:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr379 ;CHECK-NEXT: [[VR190:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr380 ;CHECK-NEXT: [[VR191:%.*]] = call ptr @__asan_memcpy(ptr [[VR189]], ptr [[VR190]], i64 32)381 382 call void @llvm.memcpy.p0.p0.i64(ptr align 16 %dest0, ptr align 16 %src0, i64 64, i1 false)383 call void @llvm.memcpy.p0.p1.i64(ptr align 16 %dest0, ptr addrspace(1) align 16 %src1, i64 64, i1 false)384 call void @llvm.memcpy.p0.p2.i64(ptr align 16 %dest0, ptr addrspace(2) align 16 %src2, i64 64, i1 false)385 call void @llvm.memcpy.p0.p3.i64(ptr align 16 %dest0, ptr addrspace(3) align 16 %src3, i64 64, i1 false)386 call void @llvm.memcpy.p0.p4.i64(ptr align 16 %dest0, ptr addrspace(4) align 16 %src4, i64 64, i1 false)387 call void @llvm.memcpy.p0.p5.i64(ptr align 16 %dest0, ptr addrspace(5) align 16 %src5, i64 64, i1 false)388 389 call void @llvm.memcpy.p0.p0.i32(ptr align 16 %dest0, ptr align 16 %src0, i32 32, i1 false)390 call void @llvm.memcpy.p0.p1.i32(ptr align 16 %dest0, ptr addrspace(1) align 16 %src1, i32 32, i1 false)391 call void @llvm.memcpy.p0.p2.i32(ptr align 16 %dest0, ptr addrspace(2) align 16 %src2, i32 32, i1 false)392 call void @llvm.memcpy.p0.p3.i32(ptr align 16 %dest0, ptr addrspace(3) align 16 %src3, i32 32, i1 false)393 call void @llvm.memcpy.p0.p4.i32(ptr align 16 %dest0, ptr addrspace(4) align 16 %src4, i32 32, i1 false)394 call void @llvm.memcpy.p0.p5.i32(ptr align 16 %dest0, ptr addrspace(5) align 16 %src5, i32 32, i1 false)395 396 call void @llvm.memcpy.p1.p0.i64(ptr addrspace(1) align 16 %dest1, ptr align 16 %src0, i64 64, i1 false)397 call void @llvm.memcpy.p1.p1.i64(ptr addrspace(1) align 16 %dest1, ptr addrspace(1) align 16 %src1, i64 64, i1 false)398 call void @llvm.memcpy.p1.p2.i64(ptr addrspace(1) align 16 %dest1, ptr addrspace(2) align 16 %src2, i64 64, i1 false)399 call void @llvm.memcpy.p1.p3.i64(ptr addrspace(1) align 16 %dest1, ptr addrspace(3) align 16 %src3, i64 64, i1 false)400 call void @llvm.memcpy.p1.p4.i64(ptr addrspace(1) align 16 %dest1, ptr addrspace(4) align 16 %src4, i64 64, i1 false)401 call void @llvm.memcpy.p1.p5.i64(ptr addrspace(1) align 16 %dest1, ptr addrspace(5) align 16 %src5, i64 64, i1 false)402 403 call void @llvm.memcpy.p1.p0.i32(ptr addrspace(1) align 16 %dest1, ptr align 16 %src0, i32 32, i1 false)404 call void @llvm.memcpy.p1.p1.i32(ptr addrspace(1) align 16 %dest1, ptr addrspace(1) align 16 %src1, i32 32, i1 false)405 call void @llvm.memcpy.p1.p2.i32(ptr addrspace(1) align 16 %dest1, ptr addrspace(2) align 16 %src2, i32 32, i1 false)406 call void @llvm.memcpy.p1.p3.i32(ptr addrspace(1) align 16 %dest1, ptr addrspace(3) align 16 %src3, i32 32, i1 false)407 call void @llvm.memcpy.p1.p4.i32(ptr addrspace(1) align 16 %dest1, ptr addrspace(4) align 16 %src4, i32 32, i1 false)408 call void @llvm.memcpy.p1.p5.i32(ptr addrspace(1) align 16 %dest1, ptr addrspace(5) align 16 %src5, i32 32, i1 false)409 410 call void @llvm.memcpy.p2.p0.i64(ptr addrspace(2) align 16 %dest2, ptr align 16 %src0, i64 64, i1 false)411 call void @llvm.memcpy.p2.p1.i64(ptr addrspace(2) align 16 %dest2, ptr addrspace(1) align 16 %src1, i64 64, i1 false)412 call void @llvm.memcpy.p2.p2.i64(ptr addrspace(2) align 16 %dest2, ptr addrspace(2) align 16 %src2, i64 64, i1 false)413 call void @llvm.memcpy.p2.p3.i64(ptr addrspace(2) align 16 %dest2, ptr addrspace(3) align 16 %src3, i64 64, i1 false)414 call void @llvm.memcpy.p2.p4.i64(ptr addrspace(2) align 16 %dest2, ptr addrspace(4) align 16 %src4, i64 64, i1 false)415 call void @llvm.memcpy.p2.p5.i64(ptr addrspace(2) align 16 %dest2, ptr addrspace(5) align 16 %src5, i64 64, i1 false)416 417 call void @llvm.memcpy.p2.p0.i32(ptr addrspace(2) align 16 %dest2, ptr align 16 %src0, i32 32, i1 false)418 call void @llvm.memcpy.p2.p1.i32(ptr addrspace(2) align 16 %dest2, ptr addrspace(1) align 16 %src1, i32 32, i1 false)419 call void @llvm.memcpy.p2.p2.i32(ptr addrspace(2) align 16 %dest2, ptr addrspace(2) align 16 %src2, i32 32, i1 false)420 call void @llvm.memcpy.p2.p3.i32(ptr addrspace(2) align 16 %dest2, ptr addrspace(3) align 16 %src3, i32 32, i1 false)421 call void @llvm.memcpy.p2.p4.i32(ptr addrspace(2) align 16 %dest2, ptr addrspace(4) align 16 %src4, i32 32, i1 false)422 call void @llvm.memcpy.p2.p5.i32(ptr addrspace(2) align 16 %dest2, ptr addrspace(5) align 16 %src5, i32 32, i1 false)423 424 call void @llvm.memcpy.p3.p0.i64(ptr addrspace(3) align 16 %dest3, ptr align 16 %src0, i64 64, i1 false)425 call void @llvm.memcpy.p3.p1.i64(ptr addrspace(3) align 16 %dest3, ptr addrspace(1) align 16 %src1, i64 64, i1 false)426 call void @llvm.memcpy.p3.p2.i64(ptr addrspace(3) align 16 %dest3, ptr addrspace(2) align 16 %src2, i64 64, i1 false)427 call void @llvm.memcpy.p3.p3.i64(ptr addrspace(3) align 16 %dest3, ptr addrspace(3) align 16 %src3, i64 64, i1 false)428 call void @llvm.memcpy.p3.p4.i64(ptr addrspace(3) align 16 %dest3, ptr addrspace(4) align 16 %src4, i64 64, i1 false)429 call void @llvm.memcpy.p3.p5.i64(ptr addrspace(3) align 16 %dest3, ptr addrspace(5) align 16 %src5, i64 64, i1 false)430 431 call void @llvm.memcpy.p3.p0.i32(ptr addrspace(3) align 16 %dest3, ptr align 16 %src0, i32 32, i1 false)432 call void @llvm.memcpy.p3.p1.i32(ptr addrspace(3) align 16 %dest3, ptr addrspace(1) align 16 %src1, i32 32, i1 false)433 call void @llvm.memcpy.p3.p2.i32(ptr addrspace(3) align 16 %dest3, ptr addrspace(2) align 16 %src2, i32 32, i1 false)434 call void @llvm.memcpy.p3.p3.i32(ptr addrspace(3) align 16 %dest3, ptr addrspace(3) align 16 %src3, i32 32, i1 false)435 call void @llvm.memcpy.p3.p4.i32(ptr addrspace(3) align 16 %dest3, ptr addrspace(4) align 16 %src4, i32 32, i1 false)436 call void @llvm.memcpy.p3.p5.i32(ptr addrspace(3) align 16 %dest3, ptr addrspace(5) align 16 %src5, i32 32, i1 false)437 438 call void @llvm.memcpy.p4.p0.i64(ptr addrspace(4) align 16 %dest4, ptr align 16 %src0, i64 64, i1 false)439 call void @llvm.memcpy.p4.p1.i64(ptr addrspace(4) align 16 %dest4, ptr addrspace(1) align 16 %src1, i64 64, i1 false)440 call void @llvm.memcpy.p4.p2.i64(ptr addrspace(4) align 16 %dest4, ptr addrspace(2) align 16 %src2, i64 64, i1 false)441 call void @llvm.memcpy.p4.p3.i64(ptr addrspace(4) align 16 %dest4, ptr addrspace(3) align 16 %src3, i64 64, i1 false)442 call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) align 16 %dest4, ptr addrspace(4) align 16 %src4, i64 64, i1 false)443 call void @llvm.memcpy.p4.p5.i64(ptr addrspace(4) align 16 %dest4, ptr addrspace(5) align 16 %src5, i64 64, i1 false)444 445 call void @llvm.memcpy.p4.p0.i32(ptr addrspace(4) align 16 %dest4, ptr align 16 %src0, i32 32, i1 false)446 call void @llvm.memcpy.p4.p1.i32(ptr addrspace(4) align 16 %dest4, ptr addrspace(1) align 16 %src1, i32 32, i1 false)447 call void @llvm.memcpy.p4.p2.i32(ptr addrspace(4) align 16 %dest4, ptr addrspace(2) align 16 %src2, i32 32, i1 false)448 call void @llvm.memcpy.p4.p3.i32(ptr addrspace(4) align 16 %dest4, ptr addrspace(3) align 16 %src3, i32 32, i1 false)449 call void @llvm.memcpy.p4.p4.i32(ptr addrspace(4) align 16 %dest4, ptr addrspace(4) align 16 %src4, i32 32, i1 false)450 call void @llvm.memcpy.p4.p5.i32(ptr addrspace(4) align 16 %dest4, ptr addrspace(5) align 16 %src5, i32 32, i1 false)451 452 call void @llvm.memcpy.p5.p0.i64(ptr addrspace(5) align 16 %dest5, ptr align 16 %src0, i64 64, i1 false)453 call void @llvm.memcpy.p5.p1.i64(ptr addrspace(5) align 16 %dest5, ptr addrspace(1) align 16 %src1, i64 64, i1 false)454 call void @llvm.memcpy.p5.p2.i64(ptr addrspace(5) align 16 %dest5, ptr addrspace(2) align 16 %src2, i64 64, i1 false)455 call void @llvm.memcpy.p5.p3.i64(ptr addrspace(5) align 16 %dest5, ptr addrspace(3) align 16 %src3, i64 64, i1 false)456 call void @llvm.memcpy.p5.p4.i64(ptr addrspace(5) align 16 %dest5, ptr addrspace(4) align 16 %src4, i64 64, i1 false)457 call void @llvm.memcpy.p5.p5.i64(ptr addrspace(5) align 16 %dest5, ptr addrspace(5) align 16 %src5, i64 64, i1 false)458 459 call void @llvm.memcpy.p5.p0.i32(ptr addrspace(5) align 16 %dest5, ptr align 16 %src0, i32 32, i1 false)460 call void @llvm.memcpy.p5.p1.i32(ptr addrspace(5) align 16 %dest5, ptr addrspace(1) align 16 %src1, i32 32, i1 false)461 call void @llvm.memcpy.p5.p2.i32(ptr addrspace(5) align 16 %dest5, ptr addrspace(2) align 16 %src2, i32 32, i1 false)462 call void @llvm.memcpy.p5.p3.i32(ptr addrspace(5) align 16 %dest5, ptr addrspace(3) align 16 %src3, i32 32, i1 false)463 call void @llvm.memcpy.p5.p4.i32(ptr addrspace(5) align 16 %dest5, ptr addrspace(4) align 16 %src4, i32 32, i1 false)464 call void @llvm.memcpy.p5.p5.i32(ptr addrspace(5) align 16 %dest5, ptr addrspace(5) align 16 %src5, i32 32, i1 false)465 ret void466}467 468define void @test_mem_intrinsic_memmove(ptr %dest0,ptr %src0,ptr addrspace(1) %dest1,ptr addrspace(1) %src1,ptr addrspace(2) %dest2,ptr addrspace(2) %src2,ptr addrspace(3) %dest3,ptr addrspace(3) %src3,ptr addrspace(4) %dest4,ptr addrspace(4) %src4,ptr addrspace(5) %dest5,ptr addrspace(5) %src5) #0 {469entry:470 ;CHECK: define void @test_mem_intrinsic_memmove(ptr [[DEST0:%.*]], ptr [[SRC0:%.*]], ptr addrspace(1) [[DEST1:%.*]], ptr addrspace(1) [[SRC1:%.*]], ptr addrspace(2) [[DEST2:%.*]], ptr addrspace(2) [[SRC2:%.*]], ptr addrspace(3) [[DEST3:%.*]], ptr addrspace(3) [[SRC3:%.*]], ptr addrspace(4) [[DEST4:%.*]], ptr addrspace(4) [[SRC4:%.*]], ptr addrspace(5) [[DEST5:%.*]], ptr addrspace(5) [[SRC5:%.*]]){{.*}} {471 ;CHECK-NEXT: entry:472 ;CHECK-NEXT: [[VR0:%.*]] = call ptr @__asan_memmove(ptr [[DEST0]], ptr [[SRC0]], i64 64)473 ;CHECK-NEXT: [[VR1:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr474 ;CHECK-NEXT: [[VR2:%.*]] = call ptr @__asan_memmove(ptr [[DEST0]], ptr [[VR1]], i64 64)475 ;CHECK-NEXT: [[VR3:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr476 ;CHECK-NEXT: [[VR4:%.*]] = call ptr @__asan_memmove(ptr [[DEST0]], ptr [[VR3]], i64 64)477 ;CHECK-NEXT: [[VR5:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr478 ;CHECK-NEXT: [[VR6:%.*]] = call ptr @__asan_memmove(ptr [[DEST0]], ptr [[VR5]], i64 64)479 ;CHECK-NEXT: [[VR7:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr480 ;CHECK-NEXT: [[VR8:%.*]] = call ptr @__asan_memmove(ptr [[DEST0]], ptr [[VR7]], i64 64)481 ;CHECK-NEXT: [[VR9:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr482 ;CHECK-NEXT: [[VR10:%.*]] = call ptr @__asan_memmove(ptr [[DEST0]], ptr [[VR9]], i64 64)483 ;CHECK-NEXT: [[VR11:%.*]] = call ptr @__asan_memmove(ptr [[DEST0]], ptr [[SRC0]], i64 32)484 ;CHECK-NEXT: [[VR12:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr485 ;CHECK-NEXT: [[VR13:%.*]] = call ptr @__asan_memmove(ptr [[DEST0]], ptr [[VR12]], i64 32)486 ;CHECK-NEXT: [[VR14:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr487 ;CHECK-NEXT: [[VR15:%.*]] = call ptr @__asan_memmove(ptr [[DEST0]], ptr [[VR14]], i64 32)488 ;CHECK-NEXT: [[VR16:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr489 ;CHECK-NEXT: [[VR17:%.*]] = call ptr @__asan_memmove(ptr [[DEST0]], ptr [[VR16]], i64 32)490 ;CHECK-NEXT: [[VR18:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr491 ;CHECK-NEXT: [[VR19:%.*]] = call ptr @__asan_memmove(ptr [[DEST0]], ptr %18, i64 32)492 ;CHECK-NEXT: [[VR20:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr493 ;CHECK-NEXT: [[VR21:%.*]] = call ptr @__asan_memmove(ptr [[DEST0]], ptr [[VR20]], i64 32)494 ;CHECK-NEXT: [[VR22:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr495 ;CHECK-NEXT: [[VR23:%.*]] = call ptr @__asan_memmove(ptr [[VR22]], ptr [[SRC0]], i64 64)496 ;CHECK-NEXT: [[VR24:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr497 ;CHECK-NEXT: [[VR25:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr498 ;CHECK-NEXT: [[VR26:%.*]] = call ptr @__asan_memmove(ptr [[VR24]], ptr [[VR25]], i64 64)499 ;CHECK-NEXT: [[VR27:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr500 ;CHECK-NEXT: [[VR28:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr501 ;CHECK-NEXT: [[VR29:%.*]] = call ptr @__asan_memmove(ptr [[VR27]], ptr [[VR28]], i64 64)502 ;CHECK-NEXT: [[VR30:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr503 ;CHECK-NEXT: [[VR31:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr504 ;CHECK-NEXT: [[VR32:%.*]] = call ptr @__asan_memmove(ptr [[VR30]], ptr [[VR31]], i64 64)505 ;CHECK-NEXT: [[VR33:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr506 ;CHECK-NEXT: [[VR34:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr507 ;CHECK-NEXT: [[VR35:%.*]] = call ptr @__asan_memmove(ptr [[VR33]], ptr [[VR34]], i64 64)508 ;CHECK-NEXT: [[VR36:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr509 ;CHECK-NEXT: [[VR37:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr510 ;CHECK-NEXT: [[VR38:%.*]] = call ptr @__asan_memmove(ptr [[VR36]], ptr [[VR37]], i64 64)511 ;CHECK-NEXT: [[VR39:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr512 ;CHECK-NEXT: [[VR40:%.*]] = call ptr @__asan_memmove(ptr [[VR39]], ptr [[SRC0]], i64 32)513 ;CHECK-NEXT: [[VR41:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr514 ;CHECK-NEXT: [[VR42:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr515 ;CHECK-NEXT: [[VR43:%.*]] = call ptr @__asan_memmove(ptr [[VR41]], ptr [[VR42]], i64 32)516 ;CHECK-NEXT: [[VR44:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr517 ;CHECK-NEXT: [[VR45:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr518 ;CHECK-NEXT: [[VR46:%.*]] = call ptr @__asan_memmove(ptr [[VR44]], ptr [[VR45]], i64 32)519 ;CHECK-NEXT: [[VR47:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr520 ;CHECK-NEXT: [[VR48:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr521 ;CHECK-NEXT: [[VR49:%.*]] = call ptr @__asan_memmove(ptr [[VR47]], ptr [[VR48]], i64 32)522 ;CHECK-NEXT: [[VR50:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr523 ;CHECK-NEXT: [[VR51:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr524 ;CHECK-NEXT: [[VR52:%.*]] = call ptr @__asan_memmove(ptr [[VR50]], ptr [[VR51]], i64 32)525 ;CHECK-NEXT: [[VR53:%.*]] = addrspacecast ptr addrspace(1) [[DEST1]] to ptr526 ;CHECK-NEXT: [[VR54:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr527 ;CHECK-NEXT: [[VR55:%.*]] = call ptr @__asan_memmove(ptr [[VR53]], ptr [[VR54]], i64 32)528 ;CHECK-NEXT: [[VR56:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr529 ;CHECK-NEXT: [[VR57:%.*]] = call ptr @__asan_memmove(ptr [[VR56]], ptr [[SRC0]], i64 64)530 ;CHECK-NEXT: [[VR58:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr531 ;CHECK-NEXT: [[VR59:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr532 ;CHECK-NEXT: [[VR60:%.*]] = call ptr @__asan_memmove(ptr [[VR58]], ptr [[VR59]], i64 64)533 ;CHECK-NEXT: [[VR61:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr534 ;CHECK-NEXT: [[VR62:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr535 ;CHECK-NEXT: [[VR63:%.*]] = call ptr @__asan_memmove(ptr [[VR61]], ptr [[VR62]], i64 64)536 ;CHECK-NEXT: [[VR64:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr537 ;CHECK-NEXT: [[VR65:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr538 ;CHECK-NEXT: [[VR66:%.*]] = call ptr @__asan_memmove(ptr [[VR64]], ptr [[VR65]], i64 64)539 ;CHECK-NEXT: [[VR67:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr540 ;CHECK-NEXT: [[VR68:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr541 ;CHECK-NEXT: [[VR69:%.*]] = call ptr @__asan_memmove(ptr [[VR67]], ptr [[VR68]], i64 64)542 ;CHECK-NEXT: [[VR70:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr543 ;CHECK-NEXT: [[VR71:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr544 ;CHECK-NEXT: [[VR72:%.*]] = call ptr @__asan_memmove(ptr [[VR70]], ptr [[VR71]], i64 64)545 ;CHECK-NEXT: [[VR73:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr546 ;CHECK-NEXT: [[VR74:%.*]] = call ptr @__asan_memmove(ptr [[VR73]], ptr [[SRC0]], i64 32)547 ;CHECK-NEXT: [[VR75:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr548 ;CHECK-NEXT: [[VR76:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr549 ;CHECK-NEXT: [[VR77:%.*]] = call ptr @__asan_memmove(ptr [[VR75]], ptr [[VR76]], i64 32)550 ;CHECK-NEXT: [[VR78:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr551 ;CHECK-NEXT: [[VR79:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr552 ;CHECK-NEXT: [[VR80:%.*]] = call ptr @__asan_memmove(ptr [[VR78]], ptr [[VR79]], i64 32)553 ;CHECK-NEXT: [[VR81:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr554 ;CHECK-NEXT: [[VR82:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr555 ;CHECK-NEXT: [[VR83:%.*]] = call ptr @__asan_memmove(ptr [[VR81]], ptr [[VR82]], i64 32)556 ;CHECK-NEXT: [[VR84:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr557 ;CHECK-NEXT: [[VR85:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr558 ;CHECK-NEXT: [[VR86:%.*]] = call ptr @__asan_memmove(ptr [[VR84]], ptr [[VR85]], i64 32)559 ;CHECK-NEXT: [[VR87:%.*]] = addrspacecast ptr addrspace(2) [[DEST2]] to ptr560 ;CHECK-NEXT: [[VR88:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr561 ;CHECK-NEXT: [[VR89:%.*]] = call ptr @__asan_memmove(ptr [[VR87]], ptr [[VR88]], i64 32)562 ;CHECK-NEXT: [[VR90:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr563 ;CHECK-NEXT: [[VR91:%.*]] = call ptr @__asan_memmove(ptr [[VR90]], ptr [[SRC0]], i64 64)564 ;CHECK-NEXT: [[VR92:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr565 ;CHECK-NEXT: [[VR93:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr566 ;CHECK-NEXT: [[VR94:%.*]] = call ptr @__asan_memmove(ptr [[VR92]], ptr [[VR93]], i64 64)567 ;CHECK-NEXT: [[VR95:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr568 ;CHECK-NEXT: [[VR96:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr569 ;CHECK-NEXT: [[VR97:%.*]] = call ptr @__asan_memmove(ptr [[VR95]], ptr [[VR96]], i64 64)570 ;CHECK-NEXT: [[VR98:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr571 ;CHECK-NEXT: [[VR99:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr572 ;CHECK-NEXT: [[VR100:%.*]] = call ptr @__asan_memmove(ptr [[VR98]], ptr [[VR99]], i64 64)573 ;CHECK-NEXT: [[VR101:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr574 ;CHECK-NEXT: [[VR102:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr575 ;CHECK-NEXT: [[VR103:%.*]] = call ptr @__asan_memmove(ptr [[VR101]], ptr [[VR102]], i64 64)576 ;CHECK-NEXT: [[VR104:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr577 ;CHECK-NEXT: [[VR105:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr578 ;CHECK-NEXT: [[VR106:%.*]] = call ptr @__asan_memmove(ptr [[VR104]], ptr [[VR105]], i64 64)579 ;CHECK-NEXT: [[VR107:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr580 ;CHECK-NEXT: [[VR108:%.*]] = call ptr @__asan_memmove(ptr [[VR107]], ptr [[SRC0]], i64 32)581 ;CHECK-NEXT: [[VR109:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr582 ;CHECK-NEXT: [[VR110:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr583 ;CHECK-NEXT: [[VR111:%.*]] = call ptr @__asan_memmove(ptr [[VR109]], ptr [[VR110]], i64 32)584 ;CHECK-NEXT: [[VR112:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr585 ;CHECK-NEXT: [[VR113:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr586 ;CHECK-NEXT: [[VR114:%.*]] = call ptr @__asan_memmove(ptr [[VR112]], ptr [[VR113]], i64 32)587 ;CHECK-NEXT: [[VR115:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr588 ;CHECK-NEXT: [[VR116:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr589 ;CHECK-NEXT: [[VR117:%.*]] = call ptr @__asan_memmove(ptr [[VR115]], ptr [[VR116]], i64 32)590 ;CHECK-NEXT: [[VR118:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr591 ;CHECK-NEXT: [[VR119:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr592 ;CHECK-NEXT: [[VR120:%.*]] = call ptr @__asan_memmove(ptr [[VR118]], ptr [[VR119]], i64 32)593 ;CHECK-NEXT: [[VR121:%.*]] = addrspacecast ptr addrspace(3) [[DEST3]] to ptr594 ;CHECK-NEXT: [[VR122:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr595 ;CHECK-NEXT: [[VR123:%.*]] = call ptr @__asan_memmove(ptr [[VR121]], ptr [[VR122]], i64 32)596 ;CHECK-NEXT: [[VR124:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr597 ;CHECK-NEXT: [[VR125:%.*]] = call ptr @__asan_memmove(ptr [[VR124]], ptr [[SRC0]], i64 64)598 ;CHECK-NEXT: [[VR126:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr599 ;CHECK-NEXT: [[VR127:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr600 ;CHECK-NEXT: [[VR128:%.*]] = call ptr @__asan_memmove(ptr [[VR126]], ptr [[VR127]], i64 64)601 ;CHECK-NEXT: [[VR129:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr602 ;CHECK-NEXT: [[VR130:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr603 ;CHECK-NEXT: [[VR131:%.*]] = call ptr @__asan_memmove(ptr [[VR129]], ptr [[VR130]], i64 64)604 ;CHECK-NEXT: [[VR132:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr605 ;CHECK-NEXT: [[VR133:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr606 ;CHECK-NEXT: [[VR134:%.*]] = call ptr @__asan_memmove(ptr [[VR132]], ptr [[VR133]], i64 64)607 ;CHECK-NEXT: [[VR135:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr608 ;CHECK-NEXT: [[VR136:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr609 ;CHECK-NEXT: [[VR137:%.*]] = call ptr @__asan_memmove(ptr [[VR135]], ptr [[VR136]], i64 64)610 ;CHECK-NEXT: [[VR138:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr611 ;CHECK-NEXT: [[VR139:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr612 ;CHECK-NEXT: [[VR140:%.*]] = call ptr @__asan_memmove(ptr [[VR138]], ptr [[VR139]], i64 64)613 ;CHECK-NEXT: [[VR141:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr614 ;CHECK-NEXT: [[VR142:%.*]] = call ptr @__asan_memmove(ptr [[VR141]], ptr [[SRC0]], i64 32)615 ;CHECK-NEXT: [[VR143:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr616 ;CHECK-NEXT: [[VR144:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr617 ;CHECK-NEXT: [[VR145:%.*]] = call ptr @__asan_memmove(ptr [[VR143]], ptr [[VR144]], i64 32)618 ;CHECK-NEXT: [[VR146:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr619 ;CHECK-NEXT: [[VR147:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr620 ;CHECK-NEXT: [[VR148:%.*]] = call ptr @__asan_memmove(ptr [[VR146]], ptr [[VR147]], i64 32)621 ;CHECK-NEXT: [[VR149:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr622 ;CHECK-NEXT: [[VR150:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr623 ;CHECK-NEXT: [[VR151:%.*]] = call ptr @__asan_memmove(ptr [[VR149]], ptr [[VR150]], i64 32)624 ;CHECK-NEXT: [[VR152:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr625 ;CHECK-NEXT: [[VR153:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr626 ;CHECK-NEXT: [[VR154:%.*]] = call ptr @__asan_memmove(ptr [[VR152]], ptr [[VR153]], i64 32)627 ;CHECK-NEXT: [[VR155:%.*]] = addrspacecast ptr addrspace(4) [[DEST4]] to ptr628 ;CHECK-NEXT: [[VR156:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr629 ;CHECK-NEXT: [[VR157:%.*]] = call ptr @__asan_memmove(ptr [[VR155]], ptr [[VR156]], i64 32)630 ;CHECK-NEXT: [[VR158:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr631 ;CHECK-NEXT: [[VR159:%.*]] = call ptr @__asan_memmove(ptr [[VR158]], ptr [[SRC0]], i64 64)632 ;CHECK-NEXT: [[VR160:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr633 ;CHECK-NEXT: [[VR161:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr634 ;CHECK-NEXT: [[VR162:%.*]] = call ptr @__asan_memmove(ptr [[VR160]], ptr [[VR161]], i64 64)635 ;CHECK-NEXT: [[VR163:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr636 ;CHECK-NEXT: [[VR164:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr637 ;CHECK-NEXT: [[VR165:%.*]] = call ptr @__asan_memmove(ptr [[VR163]], ptr [[VR164]], i64 64)638 ;CHECK-NEXT: [[VR166:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr639 ;CHECK-NEXT: [[VR167:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr640 ;CHECK-NEXT: [[VR168:%.*]] = call ptr @__asan_memmove(ptr [[VR166]], ptr [[VR167]], i64 64)641 ;CHECK-NEXT: [[VR169:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr642 ;CHECK-NEXT: [[VR170:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr643 ;CHECK-NEXT: [[VR171:%.*]] = call ptr @__asan_memmove(ptr [[VR169]], ptr [[VR170]], i64 64)644 ;CHECK-NEXT: [[VR172:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr645 ;CHECK-NEXT: [[VR173:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr646 ;CHECK-NEXT: [[VR174:%.*]] = call ptr @__asan_memmove(ptr [[VR172]], ptr [[VR173]], i64 64)647 ;CHECK-NEXT: [[VR175:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr648 ;CHECK-NEXT: [[VR176:%.*]] = call ptr @__asan_memmove(ptr %175, ptr %src0, i64 32)649 ;CHECK-NEXT: [[VR177:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr650 ;CHECK-NEXT: [[VR178:%.*]] = addrspacecast ptr addrspace(1) [[SRC1]] to ptr651 ;CHECK-NEXT: [[VR179:%.*]] = call ptr @__asan_memmove(ptr [[VR177]], ptr [[VR178]], i64 32)652 ;CHECK-NEXT: [[VR180:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr653 ;CHECK-NEXT: [[VR181:%.*]] = addrspacecast ptr addrspace(2) [[SRC2]] to ptr654 ;CHECK-NEXT: [[VR182:%.*]] = call ptr @__asan_memmove(ptr [[VR180]], ptr [[VR181]], i64 32)655 ;CHECK-NEXT: [[VR183:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr656 ;CHECK-NEXT: [[VR184:%.*]] = addrspacecast ptr addrspace(3) [[SRC3]] to ptr657 ;CHECK-NEXT: [[VR185:%.*]] = call ptr @__asan_memmove(ptr [[VR183]], ptr [[VR184]], i64 32)658 ;CHECK-NEXT: [[VR186:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr659 ;CHECK-NEXT: [[VR187:%.*]] = addrspacecast ptr addrspace(4) [[SRC4]] to ptr660 ;CHECK-NEXT: [[VR188:%.*]] = call ptr @__asan_memmove(ptr [[VR186]], ptr [[VR187]], i64 32)661 ;CHECK-NEXT: [[VR189:%.*]] = addrspacecast ptr addrspace(5) [[DEST5]] to ptr662 ;CHECK-NEXT: [[VR190:%.*]] = addrspacecast ptr addrspace(5) [[SRC5]] to ptr663 ;CHECK-NEXT: [[VR191:%.*]] = call ptr @__asan_memmove(ptr [[VR189]], ptr [[VR190]], i64 32)664 665 call void @llvm.memmove.p0.p0.i64(ptr align 16 %dest0, ptr align 16 %src0, i64 64, i1 false)666 call void @llvm.memmove.p0.p1.i64(ptr align 16 %dest0, ptr addrspace(1) align 16 %src1, i64 64, i1 false)667 call void @llvm.memmove.p0.p2.i64(ptr align 16 %dest0, ptr addrspace(2) align 16 %src2, i64 64, i1 false)668 call void @llvm.memmove.p0.p3.i64(ptr align 16 %dest0, ptr addrspace(3) align 16 %src3, i64 64, i1 false)669 call void @llvm.memmove.p0.p4.i64(ptr align 16 %dest0, ptr addrspace(4) align 16 %src4, i64 64, i1 false)670 call void @llvm.memmove.p0.p5.i64(ptr align 16 %dest0, ptr addrspace(5) align 16 %src5, i64 64, i1 false)671 672 call void @llvm.memmove.p0.p0.i32(ptr align 16 %dest0, ptr align 16 %src0, i32 32, i1 false)673 call void @llvm.memmove.p0.p1.i32(ptr align 16 %dest0, ptr addrspace(1) align 16 %src1, i32 32, i1 false)674 call void @llvm.memmove.p0.p2.i32(ptr align 16 %dest0, ptr addrspace(2) align 16 %src2, i32 32, i1 false)675 call void @llvm.memmove.p0.p3.i32(ptr align 16 %dest0, ptr addrspace(3) align 16 %src3, i32 32, i1 false)676 call void @llvm.memmove.p0.p4.i32(ptr align 16 %dest0, ptr addrspace(4) align 16 %src4, i32 32, i1 false)677 call void @llvm.memmove.p0.p5.i32(ptr align 16 %dest0, ptr addrspace(5) align 16 %src5, i32 32, i1 false)678 679 call void @llvm.memmove.p1.p0.i64(ptr addrspace(1) align 16 %dest1, ptr align 16 %src0, i64 64, i1 false)680 call void @llvm.memmove.p1.p1.i64(ptr addrspace(1) align 16 %dest1, ptr addrspace(1) align 16 %src1, i64 64, i1 false)681 call void @llvm.memmove.p1.p2.i64(ptr addrspace(1) align 16 %dest1, ptr addrspace(2) align 16 %src2, i64 64, i1 false)682 call void @llvm.memmove.p1.p3.i64(ptr addrspace(1) align 16 %dest1, ptr addrspace(3) align 16 %src3, i64 64, i1 false)683 call void @llvm.memmove.p1.p4.i64(ptr addrspace(1) align 16 %dest1, ptr addrspace(4) align 16 %src4, i64 64, i1 false)684 call void @llvm.memmove.p1.p5.i64(ptr addrspace(1) align 16 %dest1, ptr addrspace(5) align 16 %src5, i64 64, i1 false)685 686 call void @llvm.memmove.p1.p0.i32(ptr addrspace(1) align 16 %dest1, ptr align 16 %src0, i32 32, i1 false)687 call void @llvm.memmove.p1.p1.i32(ptr addrspace(1) align 16 %dest1, ptr addrspace(1) align 16 %src1, i32 32, i1 false)688 call void @llvm.memmove.p1.p2.i32(ptr addrspace(1) align 16 %dest1, ptr addrspace(2) align 16 %src2, i32 32, i1 false)689 call void @llvm.memmove.p1.p3.i32(ptr addrspace(1) align 16 %dest1, ptr addrspace(3) align 16 %src3, i32 32, i1 false)690 call void @llvm.memmove.p1.p4.i32(ptr addrspace(1) align 16 %dest1, ptr addrspace(4) align 16 %src4, i32 32, i1 false)691 call void @llvm.memmove.p1.p5.i32(ptr addrspace(1) align 16 %dest1, ptr addrspace(5) align 16 %src5, i32 32, i1 false)692 693 call void @llvm.memmove.p2.p0.i64(ptr addrspace(2) align 16 %dest2, ptr align 16 %src0, i64 64, i1 false)694 call void @llvm.memmove.p2.p1.i64(ptr addrspace(2) align 16 %dest2, ptr addrspace(1) align 16 %src1, i64 64, i1 false)695 call void @llvm.memmove.p2.p2.i64(ptr addrspace(2) align 16 %dest2, ptr addrspace(2) align 16 %src2, i64 64, i1 false)696 call void @llvm.memmove.p2.p3.i64(ptr addrspace(2) align 16 %dest2, ptr addrspace(3) align 16 %src3, i64 64, i1 false)697 call void @llvm.memmove.p2.p4.i64(ptr addrspace(2) align 16 %dest2, ptr addrspace(4) align 16 %src4, i64 64, i1 false)698 call void @llvm.memmove.p2.p5.i64(ptr addrspace(2) align 16 %dest2, ptr addrspace(5) align 16 %src5, i64 64, i1 false)699 700 call void @llvm.memmove.p2.p0.i32(ptr addrspace(2) align 16 %dest2, ptr align 16 %src0, i32 32, i1 false)701 call void @llvm.memmove.p2.p1.i32(ptr addrspace(2) align 16 %dest2, ptr addrspace(1) align 16 %src1, i32 32, i1 false)702 call void @llvm.memmove.p2.p2.i32(ptr addrspace(2) align 16 %dest2, ptr addrspace(2) align 16 %src2, i32 32, i1 false)703 call void @llvm.memmove.p2.p3.i32(ptr addrspace(2) align 16 %dest2, ptr addrspace(3) align 16 %src3, i32 32, i1 false)704 call void @llvm.memmove.p2.p4.i32(ptr addrspace(2) align 16 %dest2, ptr addrspace(4) align 16 %src4, i32 32, i1 false)705 call void @llvm.memmove.p2.p5.i32(ptr addrspace(2) align 16 %dest2, ptr addrspace(5) align 16 %src5, i32 32, i1 false)706 707 call void @llvm.memmove.p3.p0.i64(ptr addrspace(3) align 16 %dest3, ptr align 16 %src0, i64 64, i1 false)708 call void @llvm.memmove.p3.p1.i64(ptr addrspace(3) align 16 %dest3, ptr addrspace(1) align 16 %src1, i64 64, i1 false)709 call void @llvm.memmove.p3.p2.i64(ptr addrspace(3) align 16 %dest3, ptr addrspace(2) align 16 %src2, i64 64, i1 false)710 call void @llvm.memmove.p3.p3.i64(ptr addrspace(3) align 16 %dest3, ptr addrspace(3) align 16 %src3, i64 64, i1 false)711 call void @llvm.memmove.p3.p4.i64(ptr addrspace(3) align 16 %dest3, ptr addrspace(4) align 16 %src4, i64 64, i1 false)712 call void @llvm.memmove.p3.p5.i64(ptr addrspace(3) align 16 %dest3, ptr addrspace(5) align 16 %src5, i64 64, i1 false)713 714 call void @llvm.memmove.p3.p0.i32(ptr addrspace(3) align 16 %dest3, ptr align 16 %src0, i32 32, i1 false)715 call void @llvm.memmove.p3.p1.i32(ptr addrspace(3) align 16 %dest3, ptr addrspace(1) align 16 %src1, i32 32, i1 false)716 call void @llvm.memmove.p3.p2.i32(ptr addrspace(3) align 16 %dest3, ptr addrspace(2) align 16 %src2, i32 32, i1 false)717 call void @llvm.memmove.p3.p3.i32(ptr addrspace(3) align 16 %dest3, ptr addrspace(3) align 16 %src3, i32 32, i1 false)718 call void @llvm.memmove.p3.p4.i32(ptr addrspace(3) align 16 %dest3, ptr addrspace(4) align 16 %src4, i32 32, i1 false)719 call void @llvm.memmove.p3.p5.i32(ptr addrspace(3) align 16 %dest3, ptr addrspace(5) align 16 %src5, i32 32, i1 false)720 721 call void @llvm.memmove.p4.p0.i64(ptr addrspace(4) align 16 %dest4, ptr align 16 %src0, i64 64, i1 false)722 call void @llvm.memmove.p4.p1.i64(ptr addrspace(4) align 16 %dest4, ptr addrspace(1) align 16 %src1, i64 64, i1 false)723 call void @llvm.memmove.p4.p2.i64(ptr addrspace(4) align 16 %dest4, ptr addrspace(2) align 16 %src2, i64 64, i1 false)724 call void @llvm.memmove.p4.p3.i64(ptr addrspace(4) align 16 %dest4, ptr addrspace(3) align 16 %src3, i64 64, i1 false)725 call void @llvm.memmove.p4.p4.i64(ptr addrspace(4) align 16 %dest4, ptr addrspace(4) align 16 %src4, i64 64, i1 false)726 call void @llvm.memmove.p4.p5.i64(ptr addrspace(4) align 16 %dest4, ptr addrspace(5) align 16 %src5, i64 64, i1 false)727 728 call void @llvm.memmove.p4.p0.i32(ptr addrspace(4) align 16 %dest4, ptr align 16 %src0, i32 32, i1 false)729 call void @llvm.memmove.p4.p1.i32(ptr addrspace(4) align 16 %dest4, ptr addrspace(1) align 16 %src1, i32 32, i1 false)730 call void @llvm.memmove.p4.p2.i32(ptr addrspace(4) align 16 %dest4, ptr addrspace(2) align 16 %src2, i32 32, i1 false)731 call void @llvm.memmove.p4.p3.i32(ptr addrspace(4) align 16 %dest4, ptr addrspace(3) align 16 %src3, i32 32, i1 false)732 call void @llvm.memmove.p4.p4.i32(ptr addrspace(4) align 16 %dest4, ptr addrspace(4) align 16 %src4, i32 32, i1 false)733 call void @llvm.memmove.p4.p5.i32(ptr addrspace(4) align 16 %dest4, ptr addrspace(5) align 16 %src5, i32 32, i1 false)734 735 call void @llvm.memmove.p5.p0.i64(ptr addrspace(5) align 16 %dest5, ptr align 16 %src0, i64 64, i1 false)736 call void @llvm.memmove.p5.p1.i64(ptr addrspace(5) align 16 %dest5, ptr addrspace(1) align 16 %src1, i64 64, i1 false)737 call void @llvm.memmove.p5.p2.i64(ptr addrspace(5) align 16 %dest5, ptr addrspace(2) align 16 %src2, i64 64, i1 false)738 call void @llvm.memmove.p5.p3.i64(ptr addrspace(5) align 16 %dest5, ptr addrspace(3) align 16 %src3, i64 64, i1 false)739 call void @llvm.memmove.p5.p4.i64(ptr addrspace(5) align 16 %dest5, ptr addrspace(4) align 16 %src4, i64 64, i1 false)740 call void @llvm.memmove.p5.p5.i64(ptr addrspace(5) align 16 %dest5, ptr addrspace(5) align 16 %src5, i64 64, i1 false)741 742 call void @llvm.memmove.p5.p0.i32(ptr addrspace(5) align 16 %dest5, ptr align 16 %src0, i32 32, i1 false)743 call void @llvm.memmove.p5.p1.i32(ptr addrspace(5) align 16 %dest5, ptr addrspace(1) align 16 %src1, i32 32, i1 false)744 call void @llvm.memmove.p5.p2.i32(ptr addrspace(5) align 16 %dest5, ptr addrspace(2) align 16 %src2, i32 32, i1 false)745 call void @llvm.memmove.p5.p3.i32(ptr addrspace(5) align 16 %dest5, ptr addrspace(3) align 16 %src3, i32 32, i1 false)746 call void @llvm.memmove.p5.p4.i32(ptr addrspace(5) align 16 %dest5, ptr addrspace(4) align 16 %src4, i32 32, i1 false)747 call void @llvm.memmove.p5.p5.i32(ptr addrspace(5) align 16 %dest5, ptr addrspace(5) align 16 %src5, i32 32, i1 false)748 ret void749}750 751 752define void @test_mem_intrinsic_memset(ptr %ptr0,ptr addrspace(1) %ptr1,ptr addrspace(2) %ptr2,ptr addrspace(3) %ptr3,ptr addrspace(4) %ptr4,ptr addrspace(5) %ptr5) #0{753entry:754 ;CHECK: define void @test_mem_intrinsic_memset(ptr [[PTR0:%.*]], ptr addrspace(1) [[PTR1:%.*]], ptr addrspace(2) [[PTR2:%.*]], ptr addrspace(3) [[PTR3:%.*]], ptr addrspace(4) [[PTR4:%.*]], ptr addrspace(5) [[PTR5:%.*]]){{.*}} {755 ;CHECK-NEXT: entry:756 ;CHECK-NEXT: [[VR0:%.*]] = call ptr @__asan_memset(ptr [[PTR0]], i32 1, i64 128)757 ;CHECK-NEXT: [[VR1:%.*]] = addrspacecast ptr addrspace(1) [[PTR1]] to ptr758 ;CHECK-NEXT: [[VR2:%.*]] = call ptr @__asan_memset(ptr [[VR1]], i32 1, i64 128)759 ;CHECK-NEXT: [[VR3:%.*]] = addrspacecast ptr addrspace(2) [[PTR2]] to ptr760 ;CHECK-NEXT: [[VR4:%.*]] = call ptr @__asan_memset(ptr [[VR3]], i32 1, i64 128)761 ;CHECK-NEXT: [[VR5:%.*]] = addrspacecast ptr addrspace(3) [[PTR3]] to ptr762 ;CHECK-NEXT: [[VR6:%.*]] = call ptr @__asan_memset(ptr [[VR5]], i32 1, i64 128)763 ;CHECK-NEXT: [[VR7:%.*]] = addrspacecast ptr addrspace(4) [[PTR4]] to ptr764 ;CHECK-NEXT: [[VR8:%.*]] = call ptr @__asan_memset(ptr [[VR7]], i32 1, i64 128)765 ;CHECK-NEXT: [[VR9:%.*]] = addrspacecast ptr addrspace(5) [[PTR5]] to ptr766 ;CHECK-NEXT: [[VR10:%.*]] = call ptr @__asan_memset(ptr [[VR9]], i32 1, i64 128)767 ;CHECK-NEXT: [[VR11:%.*]] = call ptr @__asan_memset(ptr [[PTR0]], i32 1, i64 128)768 ;CHECK-NEXT: [[VR12:%.*]] = addrspacecast ptr addrspace(1) [[PTR1]] to ptr769 ;CHECK-NEXT: [[VR13:%.*]] = call ptr @__asan_memset(ptr [[VR12]], i32 1, i64 128)770 ;CHECK-NEXT: [[VR14:%.*]] = addrspacecast ptr addrspace(2) [[PTR2]] to ptr771 ;CHECK-NEXT: [[VR15:%.*]] = call ptr @__asan_memset(ptr [[VR14]], i32 1, i64 128)772 ;CHECK-NEXT: [[VR16:%.*]] = addrspacecast ptr addrspace(3) [[PTR3]] to ptr773 ;CHECK-NEXT: [[VR17:%.*]] = call ptr @__asan_memset(ptr [[VR16]], i32 1, i64 128)774 ;CHECK-NEXT: [[VR18:%.*]] = addrspacecast ptr addrspace(4) [[PTR4]] to ptr775 ;CHECK-NEXT: [[VR19:%.*]] = call ptr @__asan_memset(ptr [[VR18]], i32 1, i64 128)776 ;CHECK-NEXT: [[VR20:%.*]] = addrspacecast ptr addrspace(5) [[PTR5]] to ptr777 ;CHECK-NEXT: [[VR21:%.*]] = call ptr @__asan_memset(ptr [[VR20]], i32 1, i64 128)778 ;CHECK-NEXT: ret void779 call void @llvm.memset.p0.i64(ptr %ptr0, i8 1, i64 128, i1 false)780 call void @llvm.memset.p1.i64(ptr addrspace(1) %ptr1, i8 1, i64 128, i1 false)781 call void @llvm.memset.p2.i64(ptr addrspace(2) %ptr2, i8 1, i64 128, i1 false)782 call void @llvm.memset.p3.i64(ptr addrspace(3) %ptr3, i8 1, i64 128, i1 false)783 call void @llvm.memset.p4.i64(ptr addrspace(4) %ptr4, i8 1, i64 128, i1 false)784 call void @llvm.memset.p5.i64(ptr addrspace(5) %ptr5, i8 1, i64 128, i1 false)785 786 call void @llvm.memset.p0.i32(ptr %ptr0, i8 1, i32 128, i1 false)787 call void @llvm.memset.p1.i32(ptr addrspace(1) %ptr1, i8 1, i32 128, i1 false)788 call void @llvm.memset.p2.i32(ptr addrspace(2) %ptr2, i8 1, i32 128, i1 false)789 call void @llvm.memset.p3.i32(ptr addrspace(3) %ptr3, i8 1, i32 128, i1 false)790 call void @llvm.memset.p4.i32(ptr addrspace(4) %ptr4, i8 1, i32 128, i1 false)791 call void @llvm.memset.p5.i32(ptr addrspace(5) %ptr5, i8 1, i32 128, i1 false)792 ret void793}794 795attributes #0 = { sanitize_address }796