summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2013-04-07 06:30:47 +0000
committerHal Finkel <hfinkel@anl.gov>2013-04-07 06:30:47 +0000
commitd71cc3a7f367eac9284cc61002e434bad7324c08 (patch)
tree21962dd94e85e6f708f357611b66a985bc07351f /llvm/lib/Target/PowerPC
parent6efd45e902d3c9c3b61ac40d22b3c2712ab9eaa0 (diff)
downloadbcm5719-llvm-d71cc3a7f367eac9284cc61002e434bad7324c08.tar.gz
bcm5719-llvm-d71cc3a7f367eac9284cc61002e434bad7324c08.zip
PPC pre-increment load instructions do not have side effects
A few were missed in r178972. llvm-svn: 178973
Diffstat (limited to 'llvm/lib/Target/PowerPC')
-rw-r--r--llvm/lib/Target/PowerPC/PPCInstr64Bit.td5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCInstr64Bit.td b/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
index 16b983f8a50..600c11e9fb4 100644
--- a/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
+++ b/llvm/lib/Target/PowerPC/PPCInstr64Bit.td
@@ -549,7 +549,7 @@ def LWAX : XForm_1<31, 341, (outs G8RC:$rD), (ins memrr:$src),
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:$rD), (ins memrr:$src),
"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:$rD, ptr_rc_nor0:$ea_result),
[]>, RegConstraint<"$addr.ptrreg = $ea_result">,
NoEncode<"$ea_result">, isPPC64;
}
+}
def : Pat<(PPCload ixaddr:$src),
(LD ixaddr:$src)>;
OpenPOWER on IntegriCloud