If you know the maximum width of the sub string you are searching for you can easily calculate the maximal forward jump, and hence you'll know when to issue a pre-fetch.
For GCC it would seem that using this built in pseudo function call does the trick;
__builtin_prefetch((void *)p,0,0);