[llvm] r178973 - PPC pre-increment load instructions do not have side effects
Hal Finkel
hfinkel at anl.gov
Sat Apr 6 23:30:47 PDT 2013
Author: hfinkel
Date: Sun Apr 7 01:30:47 2013
New Revision: 178973
URL: http://llvm.org/viewvc/llvm-project?rev=178973&view=rev
Log:
PPC pre-increment load instructions do not have side effects
A few were missed in r178972.
Modified:
llvm/trunk/lib/Target/PowerPC/PPCInstr64Bit.td
Modified: llvm/trunk/lib/Target/PowerPC/PPCInstr64Bit.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCInstr64Bit.td?rev=178973&r1=178972&r2=178973&view=diff
==============================================================================
--- llvm/trunk/lib/Target/PowerPC/PPCInstr64Bit.td (original)
+++ llvm/trunk/lib/Target/PowerPC/PPCInstr64Bit.td Sun Apr 7 01:30:47 2013
@@ -549,7 +549,7 @@ def LWAX : XForm_1<31, 341, (outs G8RC:$
PPC970_DGroup_Cracked;
// Update forms.
-let mayLoad = 1 in {
+let mayLoad = 1, neverHasSideEffects = 1 in {
def LHAU8 : DForm_1<43, (outs G8RC:$rD, ptr_rc_nor0:$ea_result),
(ins memri:$addr),
"lhau $rD, $addr", LdStLHAU,
@@ -666,7 +666,7 @@ def LDBRX : XForm_1<31, 532, (outs G8RC
"ldbrx $rD, $src", LdStLoad,
[(set i64:$rD, (PPClbrx xoaddr:$src, i64))]>, isPPC64;
-let mayLoad = 1, neverHasSideEffects = 1 in
+let mayLoad = 1, neverHasSideEffects = 1 in {
def LDU : DSForm_1<58, 1, (outs G8RC:$rD, ptr_rc_nor0:$ea_result), (ins memrix:$addr),
"ldu $rD, $addr", LdStLDU,
[]>, RegConstraint<"$addr.reg = $ea_result">, isPPC64,
@@ -678,6 +678,7 @@ def LDUX : XForm_1<31, 53, (outs G8RC:$r
[]>, RegConstraint<"$addr.ptrreg = $ea_result">,
NoEncode<"$ea_result">, isPPC64;
}
+}
def : Pat<(PPCload ixaddr:$src),
(LD ixaddr:$src)>;
More information about the llvm-commits
mailing list