summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2009-07-16 14:23:30 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2009-07-16 14:23:30 +0000
commitae2d8abf2cea6c2492165da620c3eb8195159f82 (patch)
tree375113d5e81276da64303cd214d0b84bb090b8ec /llvm/lib/Target
parent82af42d3615d8901e376ccf76caa52df5ea13a30 (diff)
downloadbcm5719-llvm-ae2d8abf2cea6c2492165da620c3eb8195159f82.tar.gz
bcm5719-llvm-ae2d8abf2cea6c2492165da620c3eb8195159f82.zip
LOAD COMPLEMENT instruction is not really two-addr
llvm-svn: 76031
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/SystemZ/SystemZInstrFP.td9
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZInstrFP.td b/llvm/lib/Target/SystemZ/SystemZInstrFP.td
index 5acd5b6424d..0c9a239972f 100644
--- a/llvm/lib/Target/SystemZ/SystemZInstrFP.td
+++ b/llvm/lib/Target/SystemZ/SystemZInstrFP.td
@@ -69,18 +69,19 @@ def FMOV64mry : Pseudo<(outs), (ins rriaddr:$dst, FP64:$src),
// Arithmetic Instructions
-let isTwoAddress = 1 in {
let Defs = [PSW] in {
-
def FNEG32rr : Pseudo<(outs FP32:$dst), (ins FP32:$src),
- "lcebr\t{$dst}",
+ "lcebr\t{$dst, $src}",
[(set FP32:$dst, (fneg FP32:$src)),
(implicit PSW)]>;
def FNEG64rr : Pseudo<(outs FP64:$dst), (ins FP64:$src),
- "lcdbr\t{$dst}",
+ "lcdbr\t{$dst, $src}",
[(set FP64:$dst, (fneg FP64:$src)),
(implicit PSW)]>;
+}
+let isTwoAddress = 1 in {
+let Defs = [PSW] in {
// FIXME: Add peephole for fneg(fabs) => load negative
def FABS32rr : Pseudo<(outs FP32:$dst), (ins FP32:$src),
OpenPOWER on IntegriCloud