diff options
author | Tom Stellard <[email protected]> | 2012-05-17 13:13:17 -0400 |
---|---|---|
committer | Tom Stellard <[email protected]> | 2012-05-17 14:48:09 -0400 |
commit | 1fe70c6ae12e85cdb5967ba6d72fca8a9e5c3ec3 (patch) | |
tree | bb323135fba3947ed97e1b67b2dde3499f7ca083 | |
parent | 9916f2d2af18a26f32efb85aff5c11e1b998e19c (diff) |
radeon/llvm: Expand fsub during ISel
-rw-r--r-- | src/gallium/drivers/radeon/R600ISelLowering.cpp | 2 | ||||
-rw-r--r-- | src/gallium/drivers/radeon/R600LowerInstructions.cpp | 11 |
2 files changed, 2 insertions, 11 deletions
diff --git a/src/gallium/drivers/radeon/R600ISelLowering.cpp b/src/gallium/drivers/radeon/R600ISelLowering.cpp index 4db40f799ed..1fffb99c601 100644 --- a/src/gallium/drivers/radeon/R600ISelLowering.cpp +++ b/src/gallium/drivers/radeon/R600ISelLowering.cpp @@ -34,6 +34,8 @@ R600TargetLowering::R600TargetLowering(TargetMachine &TM) : setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4f32, Legal); setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4i32, Legal); setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4i32, Legal); + + setOperationAction(ISD::FSUB, MVT::f32, Expand); } MachineBasicBlock * R600TargetLowering::EmitInstrWithCustomInserter( diff --git a/src/gallium/drivers/radeon/R600LowerInstructions.cpp b/src/gallium/drivers/radeon/R600LowerInstructions.cpp index 19c3aae1e61..a5f57cc1d36 100644 --- a/src/gallium/drivers/radeon/R600LowerInstructions.cpp +++ b/src/gallium/drivers/radeon/R600LowerInstructions.cpp @@ -303,17 +303,6 @@ bool R600LowerInstructionsPass::runOnMachineFunction(MachineFunction &MF) break; } - case AMDIL::SUB_f32: - { - MI.getOperand(2).addTargetFlag(MO_FLAG_NEG); - BuildMI(MBB, I, MBB.findDebugLoc(I), - TII->get(TII->getISAOpcode(AMDIL::ADD))) - .addOperand(MI.getOperand(0)) - .addOperand(MI.getOperand(1)) - .addOperand(MI.getOperand(2)); - break; - } - case AMDIL::ULT: BuildMI(MBB, I, MBB.findDebugLoc(I), TII->get(AMDIL::SETGT_UINT)) .addOperand(MI.getOperand(0)) |