diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2015-02-14 03:40:35 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2015-02-14 03:40:35 +0000 |
| commit | 31ec598a2a0a91afc0177045c1706e0279612e9f (patch) | |
| tree | 1c5b68b98c092a8f41e3578c8f2b2520fd314c3e | |
| parent | 3cfad7ee25a51a96bb9927f3471a97dfe2c07d99 (diff) | |
| download | bcm5719-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.td | 15 |
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, |

