Fix __builtin_prefetch
The prefetch pattern had never been tested and did not work. The
instruction takes its operand as for a load or store, but the
operand at the RTL level is an address value rather than a memory
reference. The sandboxing machinery used at instruction emission
time wants to see a MEM expression and making it cope with a
(possibly nontrivial) address expression as well just complicates
life. So when emitting the instruction we just mutate the operand
RTX to wrap it in a MEM. Then the existing machinery does its thing.
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3582
(cherry picked from commit b155e41c4984c3a7716829251226a41091072c4a)
1 file changed