R600/SI: Also check for FPImm literal constants
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 17 Oct 2014 18:00:50 +0000 (18:00 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 17 Oct 2014 18:00:50 +0000 (18:00 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220067 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/R600/SIShrinkInstructions.cpp

index 510619cf856dd4fc8ac95f347252ab07cee44b4c..0b9e7ca96662785e937447adb5650152a052129e 100644 (file)
@@ -130,7 +130,7 @@ static void foldImmediates(MachineInstr &MI, const SIInstrInfo *TII,
 
   // Only one literal constant is allowed per instruction, so if src0 is a
   // literal constant then we can't do any folding.
-  if (Src0->isImm() && TII->isLiteralConstant(*Src0))
+  if ((Src0->isImm() || Src0->isFPImm()) && TII->isLiteralConstant(*Src0))
     return;