<div dir="ltr"><div><div><div><div><div>Hi,<br><br></div><div>I am new to LLVM and using it for my project where I want to perform software prefetching of code blocks.<br></div>I am not able to use the llvm.prefetch instruction to fetch a block of code in instruction cache. The <a href="http://llvm.org/docs/LangRef.html#llvm-prefetch-intrinsic">LangRef </a>manual mentions that giving last argument as '0' performs prefetch on instruction cache.<br></div>However, I get the following error when I do that.<br><br>LLVM ERROR: Cannot select: 0x2a39348: ch = Prefetch 0x2a39030, 0x2a39138, 0x2a38c10, 0x2a39240, 0x2a38c10<LD1[%x1]> [ORD=9] [ID=15]<br>  0x2a39138: i64 = FrameIndex<1> [ID=4]<br>  0x2a38c10: i32 = Constant<0> [ID=1]<br>  0x2a39240: i32 = Constant<1> [ID=5]<br>  0x2a38c10: i32 = Constant<0> [ID=1]<br>In function: main<br><br></div><div>What does this error mean?<br></div>Can anyone please tell me if I can inform the processor to prefetch code to instruction cache?<br><br></div>Thanks in advance.<br></div>Usha<br></div>