After following the instructions to configure semantic merge as the difftool, I get an error of that looks like the following when right-clicking a shelved files and clicking "Diff against source revision":
Could not find file
'{path}\SomeCSharpFile@'
Looking at the log in Perforce I see the following command:
p4 diff2 {path}/SomeCSharpFile.cs#65 {path}/SomeCSharpFile.cs@=418368
It appears that SemanticMerge is not handling the @=4183868 revision symbol at the end of the second file.
Diffing unshelved files works fine for me.