Loading longs might corrupt the input register (if the output register pair
authorDavid Given <dg@cowlark.com>
Sat, 21 Jan 2017 22:21:33 +0000 (23:21 +0100)
committerDavid Given <dg@cowlark.com>
Sat, 21 Jan 2017 22:21:33 +0000 (23:21 +0100)
aliases it).

mach/powerpc/mcg/table

index 4961012..340652c 100644 (file)
@@ -307,6 +307,7 @@ PATTERNS
                cost 4;
 
     out:(long)reg = LOAD.L(addr:address)
+        with corrupted(%addr)
         emit "lwz %out.0, 4+%addr"
         emit "lwz %out.1, 0+%addr"
         cost 8;