mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	R600: Handle fcopysign
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210564 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
		| @@ -214,6 +214,12 @@ AMDGPUTargetLowering::AMDGPUTargetLowering(TargetMachine &TM) : | ||||
|   setOperationAction(ISD::UDIVREM, MVT::i64, Custom); | ||||
|   setOperationAction(ISD::UREM, MVT::i32, Expand); | ||||
|  | ||||
|   if (!Subtarget->hasBFI()) { | ||||
|     // fcopysign can be done in a single instruction with BFI. | ||||
|     setOperationAction(ISD::FCOPYSIGN, MVT::f32, Expand); | ||||
|     setOperationAction(ISD::FCOPYSIGN, MVT::f64, Expand); | ||||
|   } | ||||
|  | ||||
|   static const MVT::SimpleValueType IntTypes[] = { | ||||
|     MVT::v2i32, MVT::v4i32 | ||||
|   }; | ||||
| @@ -260,6 +266,7 @@ AMDGPUTargetLowering::AMDGPUTargetLowering(TargetMachine &TM) : | ||||
|     setOperationAction(ISD::FNEG, VT, Expand); | ||||
|     setOperationAction(ISD::SELECT, VT, Expand); | ||||
|     setOperationAction(ISD::VSELECT, VT, Expand); | ||||
|     setOperationAction(ISD::FCOPYSIGN, VT, Expand); | ||||
|   } | ||||
|  | ||||
|   setTargetDAGCombine(ISD::MUL); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user