summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2015-02-14 03:40:35 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2015-02-14 03:40:35 +0000
commit31ec598a2a0a91afc0177045c1706e0279612e9f (patch)
tree1c5b68b98c092a8f41e3578c8f2b2520fd314c3e
parent3cfad7ee25a51a96bb9927f3471a97dfe2c07d99 (diff)
downloadbcm5719-llvm-31ec598a2a0a91afc0177045c1706e0279612e9f.tar.gz
bcm5719-llvm-31ec598a2a0a91afc0177045c1706e0279612e9f.zip
R600/SI: Fix not encoding src2 for v_div_scale_{f32|f64}
This apparently got lost in the VI changes. llvm-svn: 229230
-rw-r--r--llvm/lib/Target/R600/SIInstrInfo.td15
1 files changed, 14 insertions, 1 deletions
diff --git a/llvm/lib/Target/R600/SIInstrInfo.td b/llvm/lib/Target/R600/SIInstrInfo.td
index 1ce8918ac32..cb16be5f2f7 100644
--- a/llvm/lib/Target/R600/SIInstrInfo.td
+++ b/llvm/lib/Target/R600/SIInstrInfo.td
@@ -988,6 +988,19 @@ multiclass VOP3b_2_m <vop op, dag outs, dag ins, string asm,
} // End sdst = SIOperand.VCC, Defs = [VCC]
}
+multiclass VOP3b_3_m <vop op, dag outs, dag ins, string asm,
+ list<dag> pattern, string opName, string revOp,
+ bit HasMods = 1, bit UseFullOp = 0> {
+ def "" : VOP3_Pseudo <outs, ins, pattern, opName>;
+
+
+ def _si : VOP3b_Real_si <op.SI3, outs, ins, asm, opName>,
+ VOP3DisableFields<1, 1, HasMods>;
+
+ def _vi : VOP3b_Real_vi <op.VI3, outs, ins, asm, opName>,
+ VOP3DisableFields<1, 1, HasMods>;
+}
+
multiclass VOP3_C_m <vop op, dag outs, dag ins, string asm,
list<dag> pattern, string opName,
bit HasMods, bit defExec> {
@@ -1289,7 +1302,7 @@ multiclass VOP3Inst <vop3 op, string opName, VOPProfile P,
multiclass VOP3b_Helper <vop op, RegisterClass vrc, RegisterOperand arc,
string opName, list<dag> pattern> :
- VOP3b_2_m <
+ VOP3b_3_m <
op, (outs vrc:$vdst, SReg_64:$sdst),
(ins InputModsNoDefault:$src0_modifiers, arc:$src0,
InputModsNoDefault:$src1_modifiers, arc:$src1,
OpenPOWER on IntegriCloud