brintos

brintos / llvm-project-archived public Read only

0
0
Text · 71.7 KiB · 2139ae0 Raw
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