summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeon/R600ISelLowering.cpp
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2012-05-25 10:59:52 -0400
committerTom Stellard <[email protected]>2012-05-25 15:40:58 -0400
commit667cdba2118cf82e0027bf44314c9d1334d00840 (patch)
treecdd44ee1a68b23032981dcc1c21869c76a030fb4 /src/gallium/drivers/radeon/R600ISelLowering.cpp
parentd784bc77405012b442ae9d68f200e9d115030b3c (diff)
radeon/llvm: Use a custom inserter to lower FNEG
Diffstat (limited to 'src/gallium/drivers/radeon/R600ISelLowering.cpp')
-rw-r--r--src/gallium/drivers/radeon/R600ISelLowering.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/R600ISelLowering.cpp b/src/gallium/drivers/radeon/R600ISelLowering.cpp
index 59a2bb1cb28..de60a2d0e59 100644
--- a/src/gallium/drivers/radeon/R600ISelLowering.cpp
+++ b/src/gallium/drivers/radeon/R600ISelLowering.cpp
@@ -115,6 +115,13 @@ MachineBasicBlock * R600TargetLowering::EmitInstrWithCustomInserter(
.addOperand(MI->getOperand(1));
break;
+ case AMDIL::FNEG_R600:
+ MI->getOperand(1).addTargetFlag(MO_FLAG_NEG);
+ BuildMI(*BB, I, BB->findDebugLoc(I), TII->get(AMDIL::MOV))
+ .addOperand(MI->getOperand(0))
+ .addOperand(MI->getOperand(1));
+ break;
+
case AMDIL::R600_LOAD_CONST:
{
int64_t RegIndex = MI->getOperand(1).getImm();